準同型暗号

提供: testwiki
ナビゲーションに移動 検索に移動

準同型暗号(じゅんどうけいあんごう)(テンプレート:Lang-en-short)は、準同型性を有するような暗号方式である。RSA暗号ElGamal暗号など整数論をベースとした多くの公開鍵暗号は、この特徴を有しており、電子投票電子マネーなどの暗号プロトコルにおいて利用される。

性質

二つの暗号文 Enc(m1),Enc(m2) が与えられた時に、平文秘密鍵なしで Enc(m1m2) を計算できる。 ここで は、加法 +乗法 × のような二項演算子とする。直感的に言うと、もし Enc が加法に関して準同型性を有するものであれば、 Enc(3)Enc(2) から Enc(5) を計算できる。 加法、乗法の両方の演算が可能な完全準同型性暗号は長らく見つかっていなかったが、2009年にGentryらにより発表された[1]。準同型性は暗号プロトコルを構成する上で非常に有用な性質ではあるが、暗号文のみから、平文の操作を可能としてしまうため、通常利用には適していない。

準同型性を有する公開鍵暗号の例

RSA暗号

RSA暗号の公開鍵を(e,n)、秘密鍵を(d,n)とする。 ここでnは合成数とする。 この暗号方式では、平文m1,m2n*の暗号文は、それぞれ m1emodn,m2emodnとなる。この二つの暗号文からm1×m2の 暗号文を構成するためには、二つの暗号文の乗算をすればよい。これは、(m1×m2)emodnとなることからも確かめられる。

ElGamal暗号

位数が素数qであるような群G=g上のElGamal暗号を考える。公開鍵を(g,y=gx)、秘密鍵をxとする。平文m1,m2Gの暗号文は、(gr1,yr1m1)(gr2,yr2m2)となる。 この二つの暗号文を掛け合わせれば、(gr1+r2,yr1+r2(m1m2))となり、m1m2の暗号文となる。

modified-ElGamal暗号

ElGamal暗号に若干の修正を加えれば、加法に関して準同型性を有する公開鍵暗号を構成できる。上と同じように、位数が素数qであるような群G=g=h上のElGamal暗号を考える。公開鍵を(g,h,y=gx)、秘密鍵をxとする。平文m1,m2qの暗号文は、(gr1,yr1hm1)(gr2,yr2hm2)となる。 この二つの暗号文を掛け合わせれば、(gr1+r2,yr1+r2hm1+m2)となり、m1+m2の暗号文となる。

Paillier暗号

平文mnに対するPaillier暗号(en:Paillier cryptosystem)の暗号文は、gmrnmodn2である。ここでgn2*rn*である。この公開鍵暗号は加法に関して、準同型性を有する。すなわち、m1,m2の暗号文gm1r1n,gm2r2nmodn2 からm1+m2の暗号文を計算することは容易である。 すなわち、gm1r1n×gm2r2nmodn2=gm1+m2(r1r2)nmodnとできる。

modified-ElGamalとPaillier暗号のその他の有用な性質

準同型の性質により、これらの暗号方式においては、kEnc(m)から Enc(km)を計算できる。 例えば、Paillier暗号ならば、kgmrnmodn2 から、(gmrn)k=gkm(rk)nとすることにより、km の暗号文を得ることができる。

準同型暗号を利用したアプリケーション

準同型性暗号には、その性質から数多くのアプリケーションがある。その代表的なものとしては、電子マネー電子投票などがある。また、暗号プロトコルの設計において多く利用される紛失通信(en:Oblivious transfer)プロトコルといったものもある。

脚注

テンプレート:脚注ヘルプ

外部リンク

  • 公開鍵暗号型の高機能暗号の研究動向: [1]
  • 量子コンピュータの脅威を考慮した高機能暗号:格子問題に基づく準同型暗号とその応用: [2]