楕円曲線暗号の安全性 DLPとCDHとDDH
初めに
TLSで利用される鍵共有ECDHや、楕円曲線を使ったlifted ElGamal暗号の安全性の根拠について解説します。
離散対数問題DLPが困難であるという仮定だけでは不十分なことを理解しましょう。
ECDH鍵共有の復習
アリスとボブによる鍵共有
- アリスは乱数
をとり、a ← [0, r) をボブに渡します。aP - ボブは乱数
をとり、b ← [0, r) をアリスに渡します。bP - アリスは
を、ボブはa(bP)=abP を計算してb(aP)=abP を共有します。abP
ECDH鍵共有
DLPが困難
離散対数問題DLP(discrete logarithm problem)とは
アリスとボブのやりとりを盗聴している人は
これでは安全な通信とはいえません。そこで「DLPが困難な群
DLP困難
CDH仮定
公開情報
「
DH鍵共有はCDH問題が困難(CDH仮定が成り立つという)なら安全です。と言っても、これはほぼトートロジーです。
CDH仮定
なんだか頼りないなと思われたかもしれません。しかし、ここ数十年、CDH仮定は破られていません。明らかにDLPを解くよりはCDH問題を解く方が易しいですが、CDH問題が真に易しいかは未解決です(CDH問題が解けるならDLPも解けるか不明)。
RSA暗号の場合は
ちなみにこれはRSA暗号も似たようなものです。よく言われる「
RSA暗号の安全性証明で使われるRSA仮定とはRSAの基礎の記号を使うと「
RSA仮定を破れば素因数分解ができるのかは不明です。そのため「素因数分解が困難ならRSA暗号は安全」とは言えず、「RSA仮定が成り立つならRSA暗号は安全」としか言えません。こちらも殆どトートロジーですね。
(lifted) ElGamal暗号の安全性
さて(lifted) ElGamal暗号(以降liftedは面倒なので省略)の安全性の根拠を考えましょう。
鍵生成のときに秘密鍵
暗号化する側の不利な状況想定し、
攻撃者の立場になってみましょう。攻撃者は
ベクトルのスカラー倍
イメージとしては
DDH仮定
前節の考察をもう少し進めます。与えられた
この問題を判定DH問題DDH(Decisional DH)といいます。CDH問題は
もちろんCDH問題が解ければDDH問題は解けます。DDH問題が困難であるという仮定をDDH仮定といいます。今のところ、DDH仮定もCDH仮定と同じぐらい難しいと信じられています。
DDH仮定の元で、暗号文
まとめ
DLPが困難、CDH仮定、DDH仮定という3種類の仮定を紹介しました。後者ほど仮定の条件が強く(より根拠が薄弱に)なります。
ECDH鍵共有はCDH仮定、ElGamal暗号はDDH仮定の元で安全です。
Discussion