1. A binary code, for a given number of bits N, and for a given set of values for a vector of N indexed information bits, i(k) for k having value 0 to N−1, wherein values for a vector of N indexed parity bits, p(k) for k having value 0 to N−1, are assigned based on an internal structure consisting of: (1) a binary convolutional encoder, EI 0 , whose output is truncated to a vector of N bits; (2) a permutation, S 1 , on N indices with permuted-index ordering, S 1 ( k ) for k having value 0 to N−1; (3) a binary convolutional encoder, EI 1 , whose output is truncated to a vector of N bits; (4) an internal binary vector of N indexed bits, q(k) for k having value 0 to N−1; (5) a permutation, T 1 , on N indices with permuted-index ordering, T 1 ( k ) for k having value 0 to N−1; (6) a binary convolutional encoder, EP 1 , whose output is truncated to a vector of N bits; (7) and an internal binary vector of N indexed bits, r(k) for k having value 0 to N−1; wherein the binary values for the said internal vector, q(k) for k having value 0 to N−1, are equal to the values resulting from the index-wise summation over the binary field of: (1) the vector of N bits resulting from encoding the said vector of N sequentially-indexed information bits by the said truncated convolutional encoder EI 0 ; (2) and the vector of N bits resulting from encoding a vector of N permuted-indexed information bits corresponding to the said permutation S 1 by the said truncated binary convolutional encoder Eli; and wherein the binary values for the said internal vector, r(k) for k having value of 0 to N−1, are equal to the values resulting from the index-wise summation over the binary field of: (1) the said vector of N sequentially-indexed parity bits; (2) and the vector of N bits resulting from encoding a vector of N permuted-indexed parity bits corresponding to the said permutation T 1 , by the said truncated binary convolutional encoder EP 1 ; wherein the assignment of values to the said vector of N parity bits corresponds to the values which result from a matrix-multiplication of a binary generator matrix of size N by N to the said vector of N information bits wherein the said generator matrix consists of a matrix-multiplication form of Q*inv(R), wherein the binary matrix Q of size N by N consists of rows such that each row corresponds to the values that result for the said internal vector, q(k) for k having value of 0 to N−1, for when the said vector of information bits, i(k) for k having value 0 to N−1, is set to the specific values containing only one non-zero bit value at the index corresponding to the row of the said matrix Q, and wherein the binary matrix inv(R) of size N by N is the inverse matrix of a binary matrix, R, of size N by N wherein the said matrix R consists of rows such that each row corresponds to the values that result for the said internal vector, r(k) for k having value 0 to N−1, for when the said vector of parity bits, p(k) for k having value 0 to N−1, is set to the specific values containing only one non-zero bit value at the index corresponding to the row of the said matrix R.