シュノア署名
Schnorr署名 1989年
ECDSAと比べると(楕円の外で)逆数の計算がない、署名を重ねることができる(いろいろあり)
秘密鍵 x
公開鍵 p q g y
複数の署名を合わせるんだか何だかができる
証明者が秘密鍵$ sを知っていることの証明
$ g generator 生成源
s 秘密鍵
h 公開鍵 $ g^s
証明者:$ \mathbb{Z}_qから$ r をランダムに選択、$ x = g^rを計算して検証者に送る
検証者: $ cを$ \mathbb{Z}_qから選択して証明者に送る
証明者: $ y =r + sc \bmod qを計算、検証者に送る
検証者: $ g^y = xh^cが成り立つか調べる
非対話化
証明者:$ \mathbb{Z}_qから$ r をランダムに選択、$ x = g^rを計算して検証者に送る
証明者: $ c = H(x)を計算して検証者に送る
証明者: $ y =r + sc \bmod qを計算、検証者に送る
検証者: $ g^y = xh^cが成り立つか調べる
$ g^y = g^rg^{sc}
xをx||m にしてメッセージを含める
EdDSAでは
x が prefix (暗号鍵ハッシュの後半)
s = 暗号鍵ハッシュの前半, 公開鍵がA = [s]Bの座標変換したもの
c は双方で計算できる H(x) は H(prefix || M)
y = r + sc mod q は S = r + sk, k = H(R||A||M), R = [c]B, Bはgのようなもの