GGH 暗号方式
平文空間は一定の M に対して −M < λi < M を満たす整数ベクトル (λ1, ..., λn) である。
平文が m = (λ1, ..., λn) 、公開鍵が B ′ = ( b 1 ′ , ... , b n ′ ) {\displaystyle B'=(b'_{1},\ldots ,b'_{n})} であるとき、まず次のように計算する。
v = ∑ λ i b i ′ {\displaystyle v=\sum \lambda _{i}b_{i}'}
これは行列記法を使えば以下のように書ける。
v = m ⋅ B ′ {\displaystyle v=m\cdot B'}
m {\displaystyle m} が整数値からなり、各 b i ′ {\displaystyle b'_{i}} が格子点であるから、 v {\displaystyle v} も格子点となる。次に、小さな誤差ベクトル e {\displaystyle e} を選び、暗号文は次のように計算される。
c = v + e = m ⋅ B ′ + e {\displaystyle c=v+e=m\cdot B'+e}