日本語では実装に必要な計算例のある適当な資料がなかったので、書いてみようと思った。
日本語でも詳しい本があったのですが、因子の説明がイミフで実装には使えないと思いました。
楕円曲線のペアリング写像の計算について具体例付きで説明するのが目的です。
もしかすると同種写像ペアリングについて何か解るかも。
ペアリング写像とは・・・
ECDLPを普通のDLPに変換する関数?と考えてみる。
例えば、 GF(631)上の楕円曲線Eの2点、$P=(36,60),Q=(121,387),E:y^2=x^3+30x+34$
で、ヴェイユ対$e_5$を計算すると、
$e_5(P,Q)={103 \over 219}/{284 \over 204}=242 \in F_{631}$
$(242)^5=1 \mod 631$
と言うように点から有限体の数に変換ができる。
$e_5(P,Q)$は$F_{631}$で1の5乗根になっている。
この計算にはミラーのアルゴリズムを使うが、もう少し理解できたらそれも書きます。
今の時点では全く納得いかないだろうが、そのうち書く。(ミラーのアルゴリズムを具体的に書く)
ペアリングの種類
帝都対
ヴェイユ対
エータ対
の3種類ある。
構成可能な問題
BCDH:双線形計算DH問題
BDDH:双線形判定DH問題
これを使うと3人で同時に鍵交換ができるらしい。
ちょっと読みかじった程度なんですが、多重線形写像があれば任意の数の相手と鍵交換できるらしい。
と言うことは一回で複数人にメッセージ暗号化ができるということで、1対1だったやりとりが効率化できるらしい。
で、今回の目標は鍵交換なのでそれが解れば普通のDLPと同じ扱いで暗号化もできる。
そしてもう一つ先に同種写像ペアリングというペアリングの耐量子バージョンがあると思われる。
個人的にはビックブラザー実現技術のような数学からの物体Xは広まって欲しくないんですけど、
DXかなんかで乗せられていつの間にか超監視社会に生きているようになるのだろうか。
続く。
参考文献
ネットに落ちてた本も参考にしました。