楕円曲線暗号レポート 理論と実践
楕円曲線の有理点 | 数理女子
楕円曲線上の2点を通る直線は、楕円曲線でちょうど3点で交わる
3点目の複素共役を演算の結果とする
同じ点の時は接線を用いて近似する
なお交わらない時は無限遠点$ Oを結果とする
この$ Oは単位元とする
有限体上の楕円曲線の点集合 | 晴耕雨読
具体的な求め方
Schnorr 署名に使われる数学 - 楕円曲線
junさんによるわかりやすい解説
整数論の最前線 楕円曲線の数論幾何
モーデルの定理
Eを楕円曲線とする
Eに対してある有限個の有理点$ P_1,\dots,P_nが存在して、楕円曲線Eの任意の有理点を生成することができる
合同数との関係も載っている
楕円曲線DSA
ここで出てくる$ k*Gは巡回群である
有限巡回群
サーバ負荷をRSAとECDSAで比較 - Apache 2.4系でHTTP/2対応サーバを構築してみるテスト。
サーバー側の負荷は同程度の強度を持つRSA暗号と比べて軽くなる
ECDH
ECDH Key Exchange - Examples
鍵の交換も可能である
暗号化を施したまま計算ができる準同型暗号の応用だと思ってよい
通信記録を全て傍受して記録した上で、その後サーバーの完全な秘密鍵を入手することで通信内容を復号化する攻撃が存在する
これに対抗して鍵を一時的なものにすることでperfect forward secrecyの達成に用いることができる
なおパフォーマンスは落ちる
準同型暗号
そして、いちばん非自明な「結合法則 (P+Q)+R = P+(Q+R)」がこちら。うーん、よくわからない。。。
楕円曲線論への誘い~ロマ数トレラン受講記録~
結合則が成り立つことの証明
SafeCurves: Introduction
具体な暗号一覧
NIST P-256は非推奨なので注意
楕円曲線暗号の鍵長に512bitがなく521bitがある理由
521bitなので注意
メルセンヌ素数$ 2^{521} -1を使いたかったから
Ed25519
曖昧な定数からNISTが解読方法を知っているのではと言う懸念があり非NISTの暗号が(かなり意識高い人たちの間で)使われ始めた
nonceをmessageと鍵から確定的に決めるなど工夫されている
SSH_鍵
設定
GitHubユーザーのSSH鍵6万個を調べてみた - hnwの日記
古いけど資料
libsodium
実装
Ed25519 leaks private key if public key is incorrect · Issue #170 · jedisct1/libsodium · GitHub
仕様
他の暗号のことはこちらへ
#代数