1. A low-density parity check (LDPC) encoder for calculating parity check values for a message using an LDPC parity check matrix, the LDPC encoder comprising: a matrix-vector multiplication unit operative to multiply a portion of the LDPC parity check matrix and the message to obtain an intermediate vector; and a parallel encoder unit operative to recursively calculate a first plurality of parity check values for the message based on the intermediate vector; and recursively calculate a second plurality of parity check values for the message based on the intermediate vector, wherein the first plurality of parity check values are calculated in parallel with the second plurality of parity check values.