Lably
Skip to content

GGH encryption scheme

Lattice-based cryptosystem

  • 3 min read
  • 4 chapters

Related on Lably

Through Integer

The Goldreich–Goldwasser–Halevi (GGH) cryptosystem makes use of the fact that the closest vector problem can be a hard problem. This system was published in 1997 by Oded Goldreich, Shafi Goldwasser, and Shai Halevi, and uses a trapdoor one-way function which relies 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 (broken) in 1999 by Phong Q. Nguyen. Nguyen and Oded Regev had cryptanalyzed the related GGH signature scheme in 2006.

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 (m1,...,mn) in the range −M<mi<M.

Encryption

Given a message m=(m1,...,mn), error e, and a public key B′ compute

v=∑mibi′

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 ciphertext 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 message.

Sign in to keep reading

3 more chapters are free with a Lably account.

More in Computing and communication