1. A method for decoding a received vector of corrupted symbols encoded using a code set comprised of a plurality of binary codewords, wherein each of said binary codewords has h positions, wherein each position can have a binary value of one or zero, said method comprising the steps of: for each position, l, 0&lE;l&lE;n−1 of said received vector, computing a difference, &rgr; l, of the respective probability that the transmitted symbol had a binary value of one and a binary value of zero at position l; and determining, for each codeword of a dual code of said code set, a product of &rgr; l values corresponding to non-zero positions of codewords of the dual code of said code set using a real vector fast Walsh-Hadamard transform and a F 2 &lsqb; &rsqb;-vector fast Walsh-Hadamard transform.