Information AboutMceliece Cryptosystem |
| CATEGORIES ABOUT MCELIECE CRYPTOSYSTEM | |
| asymmetric-key cryptosystems | |
| electronic commerce | |
|
The algorithm uses Goppa Code s, which are a type of Error-correcting Code (see Coding Theory ). The algorithm disguises a Goppa code made from the plaintext as a general linear code. Goppa codes are easy to decode, but distinguishing them from a general linear code is hard. This is McEliece's hard problem. The private and public keys are large matrices, which is one of the main disadvantages of the algorithm. The public key is very large: 219 bits long. Attempts have been made to cryptanalyze McEliece, but none have been successful. However, the algorithm is never used in practice because of the massive keys and because the ciphertext is twice as large as the plaintext. The similarity between this algorithm and the Knapsack Problem (which has been proven insecure) also worries some. SCHEME DEFINITION McEliece consists of three algorithms: a probabilistic key generation algorithm which produces a public and a private key, a probabilistic encryption algorithm, and a deterministic decryption algorithm. All users in a McEliece deployment share a set of common security parameters: . Recommended values for these parameters are (source: Handbook of Applied Cryptography). Key generation #Users select a binary -linear code capable of correcting errors. This code must possess an efficient decoding algorithm. #Alice generates a generator matrix for the code . #Select a random binary non-singular matrix . #Select a random permutation matrix P. #Compute the matrix . #Alice’s public key is ; her private key is . Message encryption Suppose Bob wishes to send a message ''m'' to Alice whose public key is : #Encode the message as a binary string of length . #Compute the vector . #Generate a random -bit vector containing at most ones. #Compute the ciphertext as . Message decryption #Compute the inverse of , . #Compute . #Use the decoding algorithm for the code to decode to . #Compute . REFERENCES
|
|
|