ECDiffieHellman.DeriveKeyFromHmac メソッド

定義

指定された HMAC (Hash-based Message Authentication Code) アルゴリズムを使用して、キー派生を実行します。Performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm.

オーバーロード

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

指定された HMAC (Hash-based Message Authentication Code) アルゴリズムを使用して、キー派生を実行します。Performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

派生クラスに実装されている場合、指定された HMAC (Hash-based Message Authentication Code) アルゴリズムを省略可能な先頭または末尾に追加されたデータと共に使用して、キー派生を実行します。When implemented in a derived class, performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm with optional prepended or appended data.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

指定された HMAC (Hash-based Message Authentication Code) アルゴリズムを使用して、キー派生を実行します。Performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm.

public:
 cli::array <System::Byte> ^ DeriveKeyFromHmac(System::Security::Cryptography::ECDiffieHellmanPublicKey ^ otherPartyPublicKey, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, cli::array <System::Byte> ^ hmacKey);
public byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] hmacKey);
member this.DeriveKeyFromHmac : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] -> byte[]
Public Function DeriveKeyFromHmac (otherPartyPublicKey As ECDiffieHellmanPublicKey, hashAlgorithm As HashAlgorithmName, hmacKey As Byte()) As Byte()

パラメーター

otherPartyPublicKey
ECDiffieHellmanPublicKey

もう一方のパーティの公開キー。The other party's public key.

hashAlgorithm
HashAlgorithmName

キー マテリアルを派生させるために使用するハッシュ アルゴリズム。The hash algorithm to use to derive the key material.

hmacKey
Byte[]

HMAC のキー。The key for the HMAC.

戻り値

Byte[]

共有シークレットの HMAC。The HMAC of the shared secret.

例外

otherPartyPublicKey によって使用される曲線のサイズが、このキーの曲線のサイズと異なります。The curve used by otherPartyPublicKey has a different size than the curve from this key.

または-or-

hashAlgorithm パラメーターにハッシュが指定されていません。The hashAlgorithm parameter does not specify a hash.

otherPartyPublicKeynull です。otherPartyPublicKey is null.

otherPartyPublicKey によって使用される曲線が、このキーの曲線と異なります。The curve used by otherPartyPublicKey is different than the curve from this key.

または-or-

このインスタンスでは公開キーのみ表されます。This instance represents only a public key.

注釈

このオーバーロードは、先頭と末尾の値として null を渡す DeriveKeyFromHmac メソッドを呼び出します。This overload calls the DeriveKeyFromHmac method passing null as the prepend and append values.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

派生クラスに実装されている場合、指定された HMAC (Hash-based Message Authentication Code) アルゴリズムを省略可能な先頭または末尾に追加されたデータと共に使用して、キー派生を実行します。When implemented in a derived class, performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm with optional prepended or appended data.

public:
 virtual cli::array <System::Byte> ^ DeriveKeyFromHmac(System::Security::Cryptography::ECDiffieHellmanPublicKey ^ otherPartyPublicKey, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, cli::array <System::Byte> ^ hmacKey, cli::array <System::Byte> ^ secretPrepend, cli::array <System::Byte> ^ secretAppend);
public virtual byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] hmacKey, byte[] secretPrepend, byte[] secretAppend);
abstract member DeriveKeyFromHmac : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] * byte[] * byte[] -> byte[]
override this.DeriveKeyFromHmac : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] * byte[] * byte[] -> byte[]
Public Overridable Function DeriveKeyFromHmac (otherPartyPublicKey As ECDiffieHellmanPublicKey, hashAlgorithm As HashAlgorithmName, hmacKey As Byte(), secretPrepend As Byte(), secretAppend As Byte()) As Byte()

パラメーター

otherPartyPublicKey
ECDiffieHellmanPublicKey

もう一方のパーティの公開キー。The other party's public key.

hashAlgorithm
HashAlgorithmName

キー マテリアルを派生させるために使用するハッシュ アルゴリズム。The hash algorithm to use to derive the key material.

hmacKey
Byte[]

HMAC のキー。The key for the HMAC.

secretPrepend
Byte[]

ハッシュ前に派生の機密情報の先頭に追加する値。A value to prepend to the derived secret before hashing.

secretAppend
Byte[]

ハッシュ前に派生の機密情報に追加する値。A value to append to the derived secret before hashing.

戻り値

Byte[]

要求に応じてデータを先頭または末尾に追加した後の共有シークレットの HMAC。The HMAC of the shared secret after prepending or appending data as requested.

例外

派生クラスはこのメソッドをオーバーライドする必要があります。A derived class must override this method.

otherPartyPublicKey によって使用される曲線のサイズが、このキーの曲線のサイズと異なります。The curve used by otherPartyPublicKey has a different size than the curve from this key.

または-or-

hashAlgorithm パラメーターにハッシュが指定されていません。The hashAlgorithm parameter does not specify a hash.

otherPartyPublicKeynull です。otherPartyPublicKey is null.

otherPartyPublicKey によって使用される曲線が、このキーの曲線と異なります。The curve used by otherPartyPublicKey is different than the curve from this key.

または-or-

このインスタンスでは公開キーのみ表されます。This instance represents only a public key.

注釈

このメソッドは、楕円曲線 Diffie-hellman キーアグリーメントを内部で実行して、共有シークレット (z) を生成します。This method internally performs the Elliptic Curve Diffie-Hellman key agreement to produce the shared secret (z).

hmacKeynull場合、このメソッドからの戻り値は、指定された HMAC アルゴリズムを使用した HMAC-HASH(z, secretPrepend || z || secretAppend) の結果になります。ここで、|| は連結を意味します。When hmacKey is null, the return value from this method is the result of HMAC-HASH(z, secretPrepend || z || secretAppend) using the specified HMAC algorithm, where || signifies concatenation. それ以外の場合、このメソッドからの戻り値は HMAC-HASH(hmacKey, secretPrepend || z || secretAppend)の結果になります。Otherwise, the return value from this method is the result of HMAC-HASH(hmacKey, secretPrepend || z || secretAppend).

secretPrepend または secretAppend の値が null場合、それらは空の配列として扱われます。If the value of secretPrepend or secretAppend is null, they are treated as empty arrays.

適用対象