The NTRUEncrypt
public key cryptosystem
Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic a ...
, also known as the NTRU encryption algorithm, is an
NTRU lattice-based alternative to
RSA
RSA may refer to:
Organizations Academia and education
* Rabbinical Seminary of America, a yeshiva in New York City
*Regional Science Association International (formerly the Regional Science Association), a US-based learned society
*Renaissance S ...
and
elliptic curve cryptography
Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys compared to non-EC cryptography (based on plain Galois fields) to provide e ...
(ECC) and is based on the
shortest vector problem In computer science, lattice problems are a class of optimization problems related to mathematical objects called lattices. The conjectured intractability of such problems is central to the construction of secure lattice-based cryptosystems: L ...
in a lattice (which is not known to be breakable using
quantum computers).
It relies on the presumed difficulty of
factoring certain polynomials in a truncated
polynomial ring
In mathematics, especially in the field of algebra, a polynomial ring or polynomial algebra is a ring (which is also a commutative algebra) formed from the set of polynomials in one or more indeterminates (traditionally also called variable ...
into a quotient of two polynomials having very small coefficients. Breaking the cryptosystem is strongly related, though not equivalent, to the algorithmic problem of
lattice reduction in certain
lattices. Careful choice of parameters is necessary to thwart some published attacks.
Since both encryption and decryption use only simple polynomial multiplication, these operations are very fast compared to other asymmetric encryption schemes, such as RSA,
ElGamal
In cryptography, the ElGamal encryption system is an asymmetric key encryption algorithm for public-key cryptography which is based on the Diffie–Hellman key exchange. It was described by Taher Elgamal in 1985. ElGamal encryption is used in t ...
and
elliptic curve cryptography
Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys compared to non-EC cryptography (based on plain Galois fields) to provide e ...
. However, NTRUEncrypt has not yet undergone a comparable amount of cryptographic analysis in deployed form.
A related algorithm is the
NTRUSign
NTRUSign, also known as the NTRU Signature Algorithm, is an NTRU public-key cryptography digital signature algorithm based on the GGH signature scheme. The original version of NTRUSign was Polynomial Authentication and Signature Scheme (PASS), an ...
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 ...
algorithm.
Specifically, NTRU operations are based on objects in a truncated polynomial ring
with convolution multiplication and all polynomials in the ring have
integer
An integer is the number zero (), a positive natural number (, , , etc.) or a negative integer with a minus sign ( −1, −2, −3, etc.). The negative numbers are the additive inverses of the corresponding positive numbers. In the language ...
coefficient
In mathematics, a coefficient is a multiplicative factor in some term of a polynomial, a series, or an expression; it is usually a number, but may be any expression (including variables such as , and ). When the coefficients are themselves ...
s and degree at most ''N''-1:
:
NTRU is actually a parameterised family of cryptosystems; each system is specified by three integer parameters (''N'', ''p'', ''q'') which represent the maximal degree
for all polynomials in the truncated ring ''R'', a small modulus and a large modulus, respectively, where it is assumed that ''N'' is
prime
A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only way ...
, ''q'' is always larger than ''p'', and ''p'' and ''q'' are
coprime
In mathematics, two integers and are coprime, relatively prime or mutually prime if the only positive integer that is a divisor of both of them is 1. Consequently, any prime number that divides does not divide , and vice versa. This is equival ...
; and four sets of polynomials
and
(a polynomial part of the private key, a polynomial for generation of the public key, the message and a blinding value, respectively), all of degree at most
.
History
The NTRUEncrypt Public Key Cryptosystem is a relatively new cryptosystem.
The first version of the system, which was simply called NTRU, was developed around 1996 by three mathematicians (
Jeffrey Hoffstein,
Jill Pipher, and
Joseph H. Silverman
Joseph Hillel Silverman (born March 27, 1955, New York City)
is a professor of mathematics at Brown University working in arithmetic geometry, arithmetic dynamics, and cryptography.
Biography
Joseph Silverman received an Sc.B. from Brown Unive ...
). In 1996 these mathematicians together with
Daniel Lieman
Daniel is a masculine given name and a surname of Hebrew origin. It means "God is my judge"Hanks, Hardcastle and Hodges, ''Oxford Dictionary of First Names'', Oxford University Press, 2nd edition, , p. 68. (cf. Gabriel—"God is my strength"), ...
founded the NTRU Cryptosystems, Inc. and were given a patent (now expired) on the cryptosystem.
During the last ten years people have been working on improving the cryptosystem. Since the first presentation of the cryptosystem, some changes were made to improve both the performance of the system and its security. Most performance improvements were focused on speeding up the process. Up till 2005 literature can be found that describes the decryption failures of the NTRUEncrypt. As for security, since the first version of the NTRUEncrypt, new parameters have been introduced that seem secure for all currently known attacks and reasonable increase in computation power.
Now the system is fully accepted to IEEE P1363 standards under the specifications for lattice-based public-key cryptography (
IEEE P1363.1).
Because of the speed of the NTRUEncrypt Public Key Cryptosystem (see http://bench.cr.yp.to for benchmarking results) and its low memory use (see
below
Below may refer to:
*Earth
* Ground (disambiguation)
* Soil
* Floor
* Bottom (disambiguation)
* Less than
*Temperatures below freezing
* Hell or underworld
People with the surname
* Ernst von Below (1863–1955), German World War I general
* Fr ...
), it can be used in applications such as mobile devices and
Smart-card
A smart card, chip card, or integrated circuit card (ICC or IC card) is a physical electronic authentication device, used to control access to a resource. It is typically a plastic credit card-sized card with an embedded integrated circuit (IC) c ...
s.
In April 2011, NTRUEncrypt was accepted as a X9.98 Standard, for use in the financial services industry.
Public key generation
Sending a secret message from Alice to Bob requires the generation of a public and a private key. The public key is known by both Alice and Bob and the private key is only known by Bob. To generate the key pair two polynomials f and g, with degree at most
and with coefficients in are required. They can be considered as representations of the residue classes of polynomials modulo
in ''R''. The polynomial
must satisfy the additional requirement that the inverses modulo ''q'' and modulo ''p'' (computed using the
Euclidean algorithm
In mathematics, the Euclidean algorithm,Some widely used textbooks, such as I. N. Herstein's ''Topics in Algebra'' and Serge Lang's ''Algebra'', use the term "Euclidean algorithm" to refer to Euclidean division or Euclid's algorithm, is an ...
) exist, which means that
and
must hold.
So when the chosen f is not invertible, Bob has to go back and try another f.
Both f and
(and
) are Bob's private key. The public key h is generated computing the quantity
:
Example:
In this example the parameters (''N'', ''p'', ''q'') will have the values ''N'' = 11, ''p'' = 3 and ''q'' = 32 and therefore the polynomials f and g are of degree at most 10. The system parameters (''N'', ''p'', ''q'') are known to everybody. The polynomials are randomly chosen, so suppose they are represented by
:
:
Using the Euclidean algorithm the inverse of f modulo ''p'' and modulo ''q'', respectively, is computed
:
:
Which creates the public key h (known to both Alice and Bob) computing the product
:
Encryption
Alice, who wants to send a secret message to Bob, puts her message in the form of a polynomial m with coefficients in