本文へスキップ
ecdsa.com

公開鍵

非対称鍵ペアのうち自由に共有できる側の鍵で、署名の検証、対応する秘密鍵の保有者に向けた暗号化、またはその保有者との鍵共有に使われます。
別表記public keypubkeyverification key

数学的には、公開鍵は秘密鍵から導出されます。ECDSA と ECDH では曲線上の点 Q = d·G、Ed25519 と X25519 では 32 バイトにエンコードされた点、RSA ではモジュラスと指数 (n, e)、ML-KEM と ML-DSA では行列のシードとベクトルです。サイズは、32 バイト(Ed25519)や 33/65 バイト(P-256 の圧縮形式・非圧縮形式)から、294 バイト(DER の SubjectPublicKeyInfo としての RSA-2048)、1,312〜2,592 バイト(ML-DSA)まであります。

よく使われる格納形式は次のとおりです。DER または PEM の SubjectPublicKeyInfo(-----BEGIN PUBLIC KEY-----)、より古い PKCS #1 の RSAPublicKey(BEGIN RSA PUBLIC KEY)、JWK(kty、crv と、x、y または n、e)、OpenSSH の 1 行形式(ssh-ed25519 AAAA…)、WebAuthn の COSE_Key、OpenPGP の鍵パケット、そして公開鍵のハッシュ値であるブロックチェーンのアドレスです。

公開鍵そのものは、所有者の身元を何も示しません。信頼は結び付けによって生まれます。CA が署名した証明書、発行者から HTTPS で取得した JWKS、known_hosts のエントリ、ピン留めされたフィンガープリント、オンチェーンのアドレスなどです。他者から受け取った鍵は、使う前に検証してください(曲線上の点であるか、サイズ、種類)。

規格と参考文献

すべての用語