楕円曲線暗号レポート 理論と実践
楕円曲線上の2点を通る直線は、楕円曲線でちょうど3点で交わる
3点目の複素共役を演算の結果とする
同じ点の時は接線を用いて近似する
なお交わらない時は無限遠点$ Oを結果とする
この$ Oは単位元とする
具体的な求め方
junさんによるわかりやすい解説
モーデルの定理
Eを楕円曲線とする
Eに対してある有限個の有理点$ P_1,\dots,P_nが存在して、楕円曲線Eの任意の有理点を生成することができる
合同数との関係も載っている
ここで出てくる$ k*Gは巡回群である
サーバー側の負荷は同程度の強度を持つRSA暗号と比べて軽くなる
鍵の交換も可能である
暗号化を施したまま計算ができる準同型暗号の応用だと思ってよい
通信記録を全て傍受して記録した上で、その後サーバーの完全な秘密鍵を入手することで通信内容を復号化する攻撃が存在する
これに対抗して鍵を一時的なものにすることでperfect forward secrecyの達成に用いることができる
なおパフォーマンスは落ちる
結合則が成り立つことの証明
具体な暗号一覧
NIST P-256は非推奨なので注意
521bitなので注意
メルセンヌ素数$ 2^{521} -1を使いたかったから
曖昧な定数からNISTが解読方法を知っているのではと言う懸念があり非NISTの暗号が(かなり意識高い人たちの間で)使われ始めた
nonceをmessageと鍵から確定的に決めるなど工夫されている
設定
古いけど資料
実装
仕様
他の暗号のことはこちらへ