ライブラリ概要 (EC25519)
オブジェクト: ec25519
必要なライブラリ:
std ※<body> より後に配置します
intf
楕円曲線 Diffie-Hellman 鍵共有 (X25519)
この動作で使用する API は次の通りです。
ec25519.get_key_pair()
ec25519.get_shared_secret(
Private_, Public2_)
最初に
ec25519.get_key_pair
で鍵ペアを生成し、
戻り値として取得します。これは
Uint8Array
を 2 個
含む配列です。[0]
は公開鍵、[1]
は秘密鍵です。
次に
ec25519.get_shared_secret
の
Private_
に秘密鍵、Public2_
に通信の相手方から受け取った
公開鍵を代入し、戻り値として
Uint8Array
を得ます。
公開鍵が不正な場合は
null
を返します。Uint8Array
の戻り値は鍵導出関数に通し、共通鍵として使用します。
通信毎に両者が鍵ペアを生成して共通鍵を変更すること、
不要となった秘密鍵と共通鍵を直ちに破棄することの両
方を行う場合に、前方秘匿性 (Forward Secrecy) を備え
ることができます。通信の相手方を認証する機能は含ま
れないため、他の手段と併用する必要があります
Edwards 曲線デジタル署名アルゴリズム (Ed25519)
この動作で使用する API は次の通りです。
ec25519.get_eddsa_key_pair()
ec25519.generate_eddsa_signature(
Private_, Message_)
ec25519.verify_eddsa_signature(
Public_, Message_, Signature_)
Message_: Uint8Array
ec25519.get_eddsa_key_pair
により鍵ペアを生成
します。戻り値は 2 個の
Uint8Array
を含む配列で、
[0]
は公開鍵、[1]
は秘密鍵です。
ec25519.generate_eddsa_signature
は
Message_
の署名を生成します。Private_
には秘密鍵
を代入します。戻り値は
Uint8Array
形式の署名です。
ec25519.verify_eddsa_signature
は
Message_
の署名
Signature_
を検証します。
Public_
に対応する公開鍵を代入します。署名が有効な
場合に
true、無効な場合は
false
を返します
COPYRIGHT © 2019 mScroll