Niederreiter Cryptosystem
   HOME

TheInfoList



OR:

In
cryptography Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adver ...
, the Niederreiter cryptosystem is a variation of the
McEliece cryptosystem In cryptography, the McEliece cryptosystem is an asymmetric encryption algorithm developed in 1978 by Robert McEliece. It was the first such scheme to use randomization in the encryption process. The algorithm has never gained much acceptance in ...
developed in 1986 by
Harald Niederreiter Harald G. Niederreiter (born June 7, 1944) is an Austrian mathematician known for his work in discrepancy theory, algebraic geometry, quasi-Monte Carlo methods, and cryptography. Education and career Niederreiter was born on June 7, 1944, in Vi ...
. It applies the same idea to the
parity check matrix In coding theory, a parity-check matrix of a linear block code ''C'' is a matrix which describes the linear relations that the components of a codeword must satisfy. It can be used to decide whether a particular vector is a codeword and is also used ...
, H, of a linear code. Niederreiter is equivalent to McEliece from a security point of view. It uses a syndrome as ciphertext and the message is an error pattern. The encryption of Niederreiter is about ten times faster than the encryption of McEliece. Niederreiter can be used to construct a
digital signature A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created b ...
scheme.


Scheme definition

A special case of Niederreiter's original proposal was broken but the system is secure when used with a
Binary Goppa code In mathematics and computer science, the binary Goppa code is an error-correcting code that belongs to the class of general Goppa codes originally described by Valerii Denisovich Goppa, but the binary structure gives it several mathematical advan ...
.


Key generation

#Alice selects a binary (''n'', ''k'')-linear Goppa code, ''G'', capable of correcting ''t'' errors. This code possesses an efficient decoding algorithm. #Alice generates a (''n'' − ''k'') × ''n'' parity check matrix, ''H'', for the code, ''G''. #Alice selects a random (''n'' − ''k'') × (''n'' − ''k'') binary
non-singular matrix In linear algebra, an -by- square matrix is called invertible (also nonsingular or nondegenerate), if there exists an -by- square matrix such that :\mathbf = \mathbf = \mathbf_n \ where denotes the -by- identity matrix and the multiplicati ...
, ''S''. #Alice selects a random ''n'' × ''n''
permutation matrix In mathematics, particularly in matrix theory, a permutation matrix is a square binary matrix that has exactly one entry of 1 in each row and each column and 0s elsewhere. Each such matrix, say , represents a permutation of elements and, when ...
, ''P''. #Alice computes the (''n'' − ''k'') × ''n'' matrix, ''H''pub = ''SHP''. #Alice's public key is (''H''pub, ''t''); her private key is (''S'', ''H'', ''P'').


Message encryption

Suppose Bob wishes to send a message, ''m'', to Alice whose public key is (''H''pub, ''t''): #Bob encodes the message, ''m'', as a binary string em' of length ''n'' and weight at most ''t''. #Bob computes the ciphertext as ''c'' = ''H''pub''e''T.


Message decryption

Upon receipt of ''c'' = ''H''pub''m''T from Bob, Alice does the following to retrieve the message, ''m''. #Alice computes ''S''−1''c'' = ''HPm''T. #Alice applies a
syndrome decoding In coding theory, decoding is the process of translating received messages into codewords of a given code. There have been many common methods of mapping messages to codewords. These are often used to recover messages sent over a noisy channel, su ...
algorithm for ''G'' to recover ''Pm''T. #Alice computes the message, ''m'', via ''m''T = ''P''−1''Pm''T.


Signature scheme

Courtois, Finiasz and Sendrier showed how the Niederreiter cryptosystem can be used to derive a signature scheme . # Hash the document, d, to be signed (with a public hash algorithm). # Decrypt this hash value as if it were an instance of ciphertext. # Append the decrypted message to the document as a signature. Verification then applies the public encryption function to the signature and checks whether or not this equals the hash value of the document. When using Niederreiter, or in fact any cryptosystem based on error correcting codes, the second step in the signature scheme almost always fails. This is because a random syndrome usually corresponds to an error pattern of weight greater than ''t''. The system then specifies a deterministic way of tweaking d until one is found which can be decrypted. The choice of the code parameters is related to the probability that a random syndrome is decodable. Courtois, Finiaz, and Sendrier suggest the parameter values ''n'' = 216 and ''t'' = 9. Then the probability to decode a random syndrome is \frac. Therefore, a decodable syndrome is found after an expected number of 9! attempts. Add a counter, ''i'', to the original document d, to produce a slightly altered document, d''i''. Hashing d''i'' gives a syndrome that depends on ''i''. Let ''i'' run from 0 to ''i''0, with ''i''0 the first value of ''i'' for which d''i'' is decodable. In this case the decrypted message is a word, ''z'', of length ''n'' and weight 9, such that ''Hz''T equals the hash value of d''i''0. The signature will be ''z'' combined with the value ''i''0 for verification. This signature is attached to the original document, d.


References

* Henk C. A. van Tilborg. Fundamentals of Cryptology, 11.4.


External links


Attacking and defending the McEliece cryptosystem
Daniel J. Bernstein and
Tanja Lange Tanja Lange is a German cryptographer and number theorist at the Eindhoven University of Technology. She is known for her research on post-quantum cryptography. Education and career Lange earned a diploma in mathematics in 1998 from the Technic ...
and Christiane Peters {{Cryptography navbox , public-key Public-key encryption schemes Digital signature schemes Post-quantum cryptography Code-based cryptography