Preparata code

From formulasearchengine
Revision as of 09:58, 1 January 2012 by en>Qetuth (changed stub type to crypto)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The Goldreich–Goldwasser–Halevi (GGH) lattice-based cryptosystem is an asymmetric cryptosystem based on lattices. There is also a GGH signature scheme.

The Goldreich–Goldwasser–Halevi (GGH) cryptosystem makes use of the fact that the closest vector problem can be a hard problem. It was published in 1997 and uses a trapdoor one-way function that is relying on the difficulty of lattice reduction. The idea included in this trapdoor function is that, given any basis for a lattice, it is easy to generate a vector which is close to a lattice point, for example taking a lattice point and adding a small error vector. But to return from this erroneous vector to the original lattice point a special basis is needed.

The GGH encryption scheme was cryptanalyzed in 1999 by Phong Q. Nguyen.

Operation

GGH involves a private key and a public key.

The private key is a basis B of a lattice L with good properties (such as short nearly orthogonal vectors) and a unimodular matrix U.

The public key is another basis of the lattice L of the form B′=UB.

For some chosen M, the message space consists of the vector (λ1,...,λn) in the range −M<λi<M.

Encryption

Given a message m=(λ1,...,λn), error e, and a public key B′ compute

v=∑λibi′

In matrix notation this is

v=m⋅B′.

Remember m consists of integer values, and b′ is a lattice point, so v is also a lattice point. The ciphertext is then

c=v+e=m⋅B′+e

Decryption

To decrypt the cyphertext one computes

c⋅B−1=(m⋅B′+e)B−1=m⋅U⋅B⋅B−1+e⋅B−1=m⋅U+e⋅B−1

The Babai rounding technique will be used to remove the term e⋅B−1 as long as it is small enough. Finally compute

m=m⋅U⋅U−1

to get the messagetext.

Example

Let L⊂ℝ2 be a lattice with the basis B and its inverse B−1

B=(7003) and B−1=(170013)

With

U=(2335) and
U−1=(5−3−32)

this gives

B′=UB=(1492115)

Let the message be m=(3,−7) and the error vector e=(1,−1). Then the ciphertext is

c=mB′+e=(−104,−79).

To decrypt one must compute

cB−1=(−1047,−793).

This is rounded to (−15,−26) and the message is recovered with

m=(−15,−26)U−1=(3,−7).

Security of the scheme

1999 Nguyen showed at the Crypto conference that the GGH encryption scheme has a flaw in the design of the schemes. He showed that every ciphertext reveals information about the plaintext and that the problem of decryption could be turned into a special closest vector problem much easier to solve than the general CVP.

Bibliography

  • Oded Goldreich, Shafi Goldwasser, and Shai Halevi. Public-key cryptosystems from lattice reduction problems. In CRYPTO ’97: Proceedings of the 17th Annual International Cryptology Conference on Advances in Cryptology, pages 112–131, London, UK, 1997. Springer-Verlag.
  • Phong Q. Nguyen. Cryptanalysis of the Goldreich–Goldwasser–Halevi Cryptosystem from Crypto ’97. In CRYPTO ’99: Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology, pages 288–304, London, UK, 1999. Springer-Verlag.