鍵が漏れることも想定せよ――クラウド時代における「楕円曲線暗号」の必然性クラウド時代の暗号化技術論(3)(3/3 ページ)

» 2015年07月22日 05時00分 公開
[光成滋生@IT]
前のページへ 1|2|3       

楕円曲線でElGamal暗号を使う――「楕円ElGamal暗号」

 楕円曲線を使うと、第2回で紹介したElGamal暗号に対応する「楕円ElGamal暗号」を作れます。

  • 鍵生成:楕円曲線上の点Pを一つ固定してみんなに公開し、ユーザーAさんは秘密鍵aをランダムに決めて公開鍵KA=aPを作ります
  • 暗号化:整数rをランダムに決め、楕円曲線上の点の平文Mに対して公開鍵KAを使って暗号文Enc(M)=(rP,M+rKA)を作ります
  • 復号:暗号文(C1,C2)=Enc(M)を受け取ったAさんは秘密鍵aを用いてDec(C1,C2)=C2-aC1で復号します

 ここで、

 Dec(Enc(M))=Dec(rP,M+rKA)=(M+rKA)-a(rP)=M+r(aP)-arP=M

なので、Mを暗号化して復号するとちゃんと元のMに戻ります。

 この公開鍵暗号はさまざまな暗号技術の中核を担います。ビットコインなどで使われている楕円曲線を使った電子書名ECDSAも、この式の応用です。

楕円曲線暗号の鍵長

 楕円曲線暗号は、前回紹介したRSA暗号やElGamal暗号と比べて鍵長(鍵の大きさ)がずっと小さくてよいのが特徴です。

RSA暗号 1024 1219 2048 2832 11393
楕円曲線暗号 138 152 206 245 497
共通鍵暗号 72 80 108 128 256
表1 同じ安全性のRSA暗号、楕円曲線暗号、共通鍵暗号の鍵長の比較(富士通/富士通研究所「楕円曲線暗号とRSA暗号の安全性比較」を参考に作成)

 最近では、RSA暗号は2048ビット以上のものが推奨されています。楕円曲線を使うと同程度の安全性はその10分の1程度で済みます(評価方法によって数値は多少変わります)。今後安全性要求が高くなると、必要なビット長の差はますます大きくなり、楕円曲線暗号の重要度は増すでしょう。

今回のまとめ

  • 浮輪の表面で足し算を考えたものを楕円曲線という。
  • 楕円曲線暗号はRSA 暗号に比べて鍵長が小さいという利点がある。
  • 前方秘匿性の実現に楕円曲線鍵共有が使われている。

光成滋生(みつなり しげお)

サイボウズ・ラボ株式会社

 サイボウズ・ラボ株式会社にてセキュリティとインフラ周りの研究開発に携わる。「数論アルゴリズムとその応用」研究部会(JANT)幹事。

  • 2004年放送型暗号の実装でIPA未踏スーパークリエータ認定
  • 2005年ストリーム暗号Toyocryptの解読で情報化月間推進会議議長表彰
  • 2010年ベクトル分解問題についての論文で電子情報通信学会論文賞受賞
  • 2015年 Microsoft MVPアワード Developer Securityを受賞

 近著に「応用数理ハンドブック」(朝倉書店、2013:楕円曲線暗号、ペアリング暗号の項目担当)、「クラウドを支えるこれからの暗号技術」(秀和システム、2015)がある。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。