Patent ID: 8958553
Filing Date: 2015-02-17
Classification: H04L

Abstract:
1. A method using computer hardware to encrypt data by constructing a digital cryptogram using a public key algorithm, the method comprising: (a) converting a message to be sent into binary form and formatting it by appending dummy bits as necessary into an integral number r of binary message vectors of length k bits each; (b) for each binary message vector, randomly generating an associated error vector of length n bits, containing s bit errors; (c) generating an associated reversible mapping function for each binary message vector from the associated error vector, wherein the reversible mapping function uses a k bit to k bit scrambling function that is derived from the associated error vector; (d) mapping each binary message vector into a different mapped binary message vector using the associated reversible mapping function; (e) constructing a first generator matrix of a binary code with dimension k with a pre-selected Galois field whose base field is 2, and a Goppa polynomial whose degree is such that the corresponding binary code provides a t error correcting capability by utilizing n-k parity bits; (f) constructing a scrambled k×n generator matrix by matrix multiplication, said scrambled generator matrix being the product of a non-singular matrix, said first generator matrix and a permutation matrix; (g) encoding each mapped binary message vector by adding rows of said scrambled generator matrix according to the 1's in each mapped message vector to form r codeword vectors of length n bits; (h) adding the associated error vector to each codeword vector using modulo 2 arithmetic and deleting 2(t−s) bits from the codeword vector according to a pre-defined position vector, to form r corrupted codeword vectors; and (i) forming a cryptogram from the r said corrupted codeword vectors.