EdDSA
RFC 8032 Edwards-Curve Digital Signature Algorithm (EdDSA) RFC 7748 セキュリティのための楕円曲線 Elliptic Curves for Security
Curve22519
Ed448-Goldilocks
RFC 6090 基本的な楕円曲線暗号アルゴリズム Fundamental Elliptic Curve Cryptography Algorithms
エドワーズ曲線デジタル署名アルゴリズム
ブラウザではSafari以外が未サポート
table:強度
種類 強度bit 公開鍵長byte 署名byte, ハッシュ長
Ed25519 128 32 64 512bit
Ed448 224 57 114 912bit
パラメータは11あるが多すぎるのでセットで定義されたものを使う
Ed25519とEd448があるようだ。Ed25519が一般的に使われる
RFC 8032 の 3
1. 奇数の素数p, EdDSAは有限体GF(p)上の楕円曲線を使用する。
2. $ 2^{b-1}>pの整数b。EdDSA公開鍵はb bitで署名は2*b bit。bは8の倍数がおすすめ。
3. 有限体GF(p) の b-1 bit出力
4. 2*b ビット出力のハッシュ関数H SHAKE系がひつよう?
5. 2 または 3 の整数 c。秘密のEdDSAスカラーは 2^cの倍数。整数cは2を底とする補数の対数。
6. c <= n < b の整数 n。秘密のEdDSAスカラーは n + 1 ビットで、上位ビット(2^nの位置)は常に設定され、下位cビットは常にクリアされます。
7. GF(p)の非正方形要素(non-square element) d。通常の推奨は、許容できる曲線を与えるゼロに最も近い値としてそれをとることです。
8. GF(p)の非ゼロの正方形要素(non-zero square element) a。最高のパフォーマンスを得るための通常の推奨は、 p mod 4 = 1の場合は a = -1, p mod 4 = 3 の場合は a = 1 です。
ssh では利用できるがhttps TLSでは未対応の環境がまだある