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 . Nguyen and Oded Regev had cryptanalyzed the related GGH signature scheme in 2006.
GGH involves a private key and a public key.
The private key is a basis
B
L
U
The public key is another basis of the lattice
L
B'=UB
For some chosen M, the message space consists of the vector
(m1,...,mn)
-M<mi<M
Given a message
m=(m1,...,mn)
e
B'
v=\summibi'
In matrix notation this is
v=m ⋅ B'
Remember
m
b'
c=v+e=m ⋅ B'+e
To decrypt the ciphertext one computes
c ⋅ B-1=(m ⋅ B\prime+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
m=m ⋅ U ⋅ U-1
to get the messagetext.
Let
L\subsetR2
B
B-1
B=\begin{pmatrix} 7&0\ 0&3\ \end{pmatrix}
B-1=\begin{pmatrix}
1 | |
7 |
&0\ 0&
1 | |
3 |
\ \end{pmatrix}
With
U=\begin{pmatrix} 2&3\ 3&5\\ \end{pmatrix}
U-1=\begin{pmatrix} 5&-3\ -3&2\\ \end{pmatrix}
this gives
B'=UB=\begin{pmatrix} 14&9\ 21&15\\ \end{pmatrix}
Let the message be
m=(3,-7)
e=(1,-1)
c=mB'+e=(-104,-79).
To decrypt one must compute
cB-1=\left(
-104 | |
7 |
,
-79 | |
3 |
\right).
This is rounded to
(-15,-26)
m=(-15,-26)U-1=(3,-7).
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.