Jump to content

# GGH encryption scheme

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. 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 [fr]. 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 ${\displaystyle B}$ of a lattice ${\displaystyle L}$ with good properties (such as short nearly orthogonal vectors) and a unimodular matrix ${\displaystyle U}$.

The public key is another basis of the lattice ${\displaystyle L}$ of the form ${\displaystyle B'=UB}$.

For some chosen M, the message space consists of the vector ${\displaystyle (m_{1},...,m_{n})}$ in the range ${\displaystyle -M.

### Encryption

Given a message ${\displaystyle m=(m_{1},...,m_{n})}$, error ${\displaystyle e}$, and a public key ${\displaystyle B'}$ compute

${\displaystyle v=\sum m_{i}b_{i}'}$

In matrix notation this is

${\displaystyle v=m\cdot B'}$.

Remember ${\displaystyle m}$ consists of integer values, and ${\displaystyle b'}$ is a lattice point, so v is also a lattice point. The ciphertext is then

${\displaystyle c=v+e=m\cdot B'+e}$

### Decryption

To decrypt the ciphertext one computes

${\displaystyle c\cdot B^{-1}=(m\cdot B^{\prime }+e)B^{-1}=m\cdot U\cdot B\cdot B^{-1}+e\cdot B^{-1}=m\cdot U+e\cdot B^{-1}}$

The Babai rounding technique will be used to remove the term ${\displaystyle e\cdot B^{-1}}$ as long as it is small enough. Finally compute

${\displaystyle m=m\cdot U\cdot U^{-1}}$

to get the messagetext.

## Example

Let ${\displaystyle L\subset \mathbb {R} ^{2}}$ be a lattice with the basis ${\displaystyle B}$ and its inverse ${\displaystyle B^{-1}}$

${\displaystyle B={\begin{pmatrix}7&0\\0&3\\\end{pmatrix}}}$ and ${\displaystyle B^{-1}={\begin{pmatrix}{\frac {1}{7}}&0\\0&{\frac {1}{3}}\\\end{pmatrix}}}$

With

${\displaystyle U={\begin{pmatrix}2&3\\3&5\\\end{pmatrix}}}$ and
${\displaystyle U^{-1}={\begin{pmatrix}5&-3\\-3&2\\\end{pmatrix}}}$

this gives

${\displaystyle B'=UB={\begin{pmatrix}14&9\\21&15\\\end{pmatrix}}}$

Let the message be ${\displaystyle m=(3,-7)}$ and the error vector ${\displaystyle e=(1,-1)}$. Then the ciphertext is

${\displaystyle c=mB'+e=(-104,-79).\,}$

To decrypt one must compute

${\displaystyle cB^{-1}=\left({\frac {-104}{7}},{\frac {-79}{3}}\right).}$

This is rounded to ${\displaystyle (-15,-26)}$ and the message is recovered with

${\displaystyle m=(-15,-26)U^{-1}=(3,-7).\,}$

## Security of the scheme

In 1999, Nguyen [1] showed that the GGH encryption scheme has a flaw in the design. 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.

## References

1. ^ Phong Nguyen. Cryptanalysis of the Goldreich-Goldwasser-Halevi Cryptosystem from Crypto '97. CRYPTO, 1999

## Bibliography

• Goldreich, Oded; Goldwasser, Shafi; Halevi, Shai (1997). "Public-key cryptosystems from lattice reduction problems". CRYPTO '97: Proceedings of the 17th Annual International Cryptology Conference on Advances in Cryptology. London: Springer-Verlag. pp. 112–131.
• Nguyen, Phong Q. (1999). "Cryptanalysis of the Goldreich–Goldwasser–Halevi Cryptosystem from Crypto '97". CRYPTO '99: Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology. London: Springer-Verlag. pp. 288–304.
• Nguyen, Phong Q.; Regev, Oded (11 November 2008). "Learning a Parallelepiped: Cryptanalysis of GGH and NTRU Signatures" (PDF). Journal of Cryptology. 22 (2): 139–160. doi:10.1007/s00145-008-9031-0. eISSN 1432-1378. ISSN 0933-2790. S2CID 2164840.Preliminary version in EUROCRYPT 2006.