定理(GHR署名)の証明のアイデア
検証鍵 vk = (N, s, h)のもとで、σ*がm*の妥当な署名であるためには、e* = h(m*)について、
でなければならない。
- 強RSA問題(N,s)の困難性から、このような(m*,σ*)を直接に構成するのは困難。また、
- 署名オラクルからのデータ(mi, σi)をもとに(m*,σ*)を作るのは、
- ei = h(mi) を e* = h(m*) に関連付ける必要があるが、
- ハッシュ関数hがgcd intractable なので無理そう。
定理(GHR署名)の証明
ある偽造者FがGHR署名を非適応的選択文書攻撃において偽造するとする。
偽造者Fが発する非適応的署名クエリの回数の上限をtとする。
Fを用いてGenRSAに対する強RSA仮定を破るアルゴリズムAを構成する:
アルゴリズムA: (N, s)を入力として、
※ (σ')e* ≡ s (mod N) となる(σ',e*)を計算したい。
- h ← Hk
- 偽造者Fを起動し、署名クエリ(m1,...,mt)を受け取る。
- i ∈ [1..t] : ei = h(mi)
- e = Πi=1..t ei, s' = se mod N
- i ∈ [1..t] : σi = sΠj≠i ej mod N
- (vk = (N, s'), σ1,...,σt)をFに返答する
- Fが(m*,σ*)を出力して停止したら、
- e* = h(m*)
- ※ (m*,σ*)が正しければ、(σ*)e* = s' = se.
- gcd(e*, e) ≠ 1: アボート.
- else 補題(CS)によって、(σ')e* ≡ s (mod N) となるσ'を計算し、(σ', e*)を出力。
アルゴリズムAの解析:
アボートが起きない限り、AのFに対するシミュレーションは完ぺき。よって、
- Pr[ Aが強RSA問題を解く ] ≧ Pr[ FがGHR署名を非適応的に偽造 ] - Pr[ Aがアボート].
仮定より、hは gcd intractable なので、アボートの確率はネグリジブル。よって、
- Pr[ Aが強RSA問題を解く ] ≧ Pr[ FがGHR署名を非適応的に偽造 ] - (ネグリジブル).
- Pr[ FがGHR署名を非適応的に偽造 ] ≦ Pr[ Aが強RSA問題を解く ] + (ネグリジブル).
強RSA仮定より右辺はネグリジブル。
Q.E.D.
最終更新:2009年10月29日 19:39