ECDSA
楕円曲線デジタル署名アルゴリズムっぽいもの
EC なDSA、DSAの後継?乱数は使用する。乱数を使わないらしい EdDSAを使った方がいいようだ
暗号化には利用できない
鍵交換(ECDHE, ECDH)、署名に使われる?
まとめてSuite B ?
ECMQV
ECIES
ANS X9.62
NIST SP 800-56A 検証?
RFC 6979 乱数を疑似乱数でどうにかする版DSA, ECDSA
FIPS 186-5 DSS 6章
NIST SP 800-186
RFC 6090 Fundamental Elliptic Curve Cryptography Algorithms 楕円曲線, EC Diffie-Hellman, ElGamal
RFC 9380 Hashing to Elliptic Curves
RFC 7748 Elliptic Curves for Security Curve25519 と Curve448
RFC 6605 DNSSEC用のECDSA
RFC 4492 → 8422 ECC Cipher Suites for TLS Versions 1.2 and Earlier
RFC 5480 Elliptic Curve Cryptography Subject Public Key Information
FIPS 186-5 を見てみる
ハッシュ関数のほかXOFのSHAKE128, SHAKE256が使われるらしいのでSHA-3系が必要か対応かどちらか
曲線の種類
prime256v1 (標準?)
secp256r1
など
ドメインパラメータ
q フィールドサイズ
FR 基準
a, b
Type 楕円曲線モデル
G = (xG, yG) 基点
n 次数
h 余因子
domain_parameter_seed
n のビット長 セキュリティ強度はn/2くらい
224 - 255
256 - 383
384 - 511
512以上
GF(p) と GF(2) p は奇数の素数
秘密鍵 d 公開鍵 Q
6.2. 秘密鍵/公開鍵
6.2.1. キーペアの生成
付録 A.2.
6.2.2. 鍵ペアの管理
6.3. ECDSAメッセージごとの秘密番号の生成
ハッシュ関数またはXOF
H = Hash(M)
秘密乱数 k
参考
ISO 9796-2 疑似乱数?
対応?
OpenSSL 1.0.0 以降
Java 7以降?