本文へスキップ
ecdsa.com

SEC 1 ECPrivateKey

SEC 1 と RFC 5915 で定められた楕円曲線の秘密鍵の構造で、OpenSSL は -----BEGIN EC PRIVATE KEY----- として書き出します。スカラーを、任意の曲線パラメーターと公開点とともに格納します。
別表記EC PRIVATE KEYECPrivateKeyRFC 5915SEC1

ECPrivateKey は、バージョン 1、OCTET STRING としての秘密スカラー、任意の [0] 曲線パラメーター、任意の [1] 公開鍵 BIT STRING からなる SEQUENCE です。[0] フィールドには通常、名前付き曲線の OID が入ります。明示的な曲線パラメーターで書き出されたファイル(まれで、多くのライブラリが拒否します)では、代わりに曲線全体が格納されます。

これは PKCS #1 の RSA 形式に相当する楕円曲線版です。OpenSSL の openssl ecparam -genkey と openssl ec は現在もこの形式で出力しますが、openssl genpkey は PKCS #8 で出力します。PKCS #8 は同じ ECPrivateKey を PrivateKeyInfo の中に埋め込み、曲線の OID をアルゴリズムのパラメーターに移します。Java と WebCrypto には PKCS #8 が必要です。

この名前は SEC 1 の文書そのもの(『Standards for Efficient Cryptography』、バージョン 2、2009年)を指すこともあります。この文書は ECDSA、ECDH、ECIES、点のエンコーディング、公開鍵の復元を定めています。

規格と参考文献

すべての用語