ArticleslgStudy

computer science

NTRUEncrypt

NTRUEncrypt is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand NTRUEncrypt rather than just read about it. In short: The NTRUEncrypt public key cryptosystem, also known as the NTRU encryption algorithm, is an NTRU lattice-based alternative to RSA and elliptic curve cryptography (ECC) and is based on the shortest vector problem 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 into a quotient of two polynomi…

Key takeaways

  • NTRUEncrypt belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect NTRUEncrypt to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of NTRUEncrypt from memory before moving on to harder problems.

Reference excerpt

The NTRUEncrypt public key cryptosystem, also known as the NTRU encryption algorithm, is an NTRU lattice-based alternative to RSA and elliptic curve cryptography (ECC) and is based on the shortest vector problem 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 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 and elliptic curve cryptography. However, NTRUEncrypt has not yet undergone a comparable amount of cryptographic analysis in deployed form. A related algorithm is the NTRUSign digital signature algorithm. Specifically, NTRU operations are based on objects in a truncated polynomial ring R = Z [ X ] / ( X N − 1 ) {\displaystyle \ R=\mathbb {Z} [X]/(X^{N}-1)} with convolution multiplication and all polynomials in the ring have integer coefficients and degree at most N-1:

a = a 0 + a 1 X + a 2 X 2 + ⋯ + a N − 2 X N − 2 + a N − 1 X N − 1 {\displaystyle {\textbf {a}}=a_{0}+a_{1}X+a_{2}X^{2}+\cdots +a_{N-2}X^{N-2}+a_{N-1}X^{N-1}}

That X N = 1 {\displaystyle X^{N}=1} in this ring has the effect that multiplying a polynomial by X {\displaystyle X} rotates the coefficients of the polynomial. A map of the form f ↦ f g {\displaystyle f\mapsto fg} for a fixed g ∈ R {\displaystyle g\in R} thus produces a new polynomial f g {\displaystyle fg} where every coefficient depends on as many coefficients from f {\displaystyle f} as there are nonzero coefficients in g {\displaystyle g} . NTRU has three integer parameters (N, p, q), where N is the polynomial degree bound, p is called the small modulus, and q is called the large modulus; it is assumed that N is prime, q is always (much) larger than p, and p and q are coprime. Plaintext messages are polynomials modulo p but ciphertext messages are polynomials modulo q. Concretely the ciphertext consists of the plaintext message plus a randomly chosen multiple of the public key, but the public key may itself be regarded as a multiple of the small modulus p, which allows the holder of the private key to extract the plaintext from the ciphertext.

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). In 1996 these mathematicians together with Daniel Lieman 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), it can be used in applications such as mobile devices and Smart-cards. 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 N − 1 {\displaystyle \ N-1} and with coefficients in {-1,0,1} are required. They can be considered as representations of the residue classes of polynomials modulo X N − 1 {\displaystyle \ X^{N}-1} in R. The polynomial f ∈ L f {\displaystyle {\textbf {f}}\in L_{f}} must satisfy the additional requirement that the inverses modulo q and modulo p (computed using the Euclidean algorithm) exist, which means that

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with NTRUEncrypt

Start with the simplest possible case. Write down what NTRUEncrypt claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to NTRUEncrypt before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about NTRUEncrypt ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of NTRUEncrypt

In research
NTRUEncrypt appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses NTRUEncrypt in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
NTRUEncrypt is common in secondary-school and first-year university syllabi. It links to neighbouring topics Lattice-based cryptography, Post-quantum cryptography, Public-key encryption schemes, so understanding it makes those chapters shorter.
In everyday life
Look for NTRUEncrypt outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study NTRUEncrypt in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what NTRUEncrypt means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain NTRUEncrypt out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is NTRUEncrypt in simple terms?

The NTRUEncrypt public key cryptosystem, also known as the NTRU encryption algorithm, is an NTRU lattice-based alternative to RSA and elliptic curve cryptography (ECC) and is based on the shortest vector problem in a lattice (which is not known to be breakable using quantum computers). It relies on…

Why does NTRUEncrypt matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study NTRUEncrypt?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on NTRUEncrypt.

Tags

  • Lattice-based cryptography
  • Post-quantum cryptography
  • Public-key encryption schemes

Keep exploring