1. An apparatus for decoding data comprising: a variable node processor, wherein the variable node processor is operable to generate variable node to check node messages and to calculate perceived values based on check node to variable node messages; and a check node processor, wherein the check node processor is operable to generate the check node to variable node messages and to calculate checksums based on variable node to check node messages, wherein the variable node processor and the check node processor comprise different Galois fields.