ECDiffieHellman.DeriveKeyFromHmac メソッド

定義

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

オーバーロード

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

派生クラスに実装されている場合、指定された HMAC (Hash-based Message Authentication Code) アルゴリズムを省略可能な先頭または末尾に追加されたデータと共に使用して、キー派生を実行します。

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

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

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

ソース:
ECDiffieHellman.cs
ソース:
ECDiffieHellman.cs
ソース:
ECDiffieHellman.cs

派生クラスに実装されている場合、指定された HMAC (Hash-based Message Authentication Code) アルゴリズムを省略可能な先頭または末尾に追加されたデータと共に使用して、キー派生を実行します。

C#
public virtual byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[]? hmacKey, byte[]? secretPrepend, byte[]? secretAppend);
C#
public virtual byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] hmacKey, byte[] secretPrepend, byte[] secretAppend);

パラメーター

otherPartyPublicKey
ECDiffieHellmanPublicKey

もう一方のパーティの公開キー。

hashAlgorithm
HashAlgorithmName

キー マテリアルを派生させるために使用するハッシュ アルゴリズム。

hmacKey
Byte[]

HMAC のキー。

secretPrepend
Byte[]

ハッシュ前に派生の機密情報の先頭に追加する値。

secretAppend
Byte[]

ハッシュ前に派生の機密情報に追加する値。

戻り値

Byte[]

要求に応じてデータを先頭または末尾に追加した後の共有シークレットの HMAC。

例外

派生クラスはこのメソッドをオーバーライドする必要があります。

otherPartyPublicKey によって使用される曲線のサイズが、このキーの曲線のサイズと異なります。

- または -

hashAlgorithm パラメーターにハッシュが指定されていません。

otherPartyPublicKeynullです。

otherPartyPublicKey によって使用される曲線が、このキーの曲線と異なります。

- または -

このインスタンスでは公開キーのみ表されます。

注釈

このメソッドは、共有シークレットz () を生成するために、楕円曲線 Diffie-Hellman キー アグリーメントを内部的に実行します。

が のnull場合hmacKey、このメソッドからの戻り値は、指定された HMAC アルゴリズムを使用した結果HMAC-HASH(z, secretPrepend || z || secretAppend)です。ここで||、連結を示します。 それ以外の場合、このメソッドからの戻り値は の HMAC-HASH(hmacKey, secretPrepend || z || secretAppend)結果になります。

または secretAppendsecretPrepend値が の場合はnull、空の配列として扱われます。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

ソース:
ECDiffieHellman.cs
ソース:
ECDiffieHellman.cs
ソース:
ECDiffieHellman.cs

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

C#
public byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[]? hmacKey);
C#
public byte[] DeriveKeyFromHmac (System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] hmacKey);

パラメーター

otherPartyPublicKey
ECDiffieHellmanPublicKey

もう一方のパーティの公開キー。

hashAlgorithm
HashAlgorithmName

キー マテリアルを派生させるために使用するハッシュ アルゴリズム。

hmacKey
Byte[]

HMAC のキー。

戻り値

Byte[]

共有シークレットの HMAC。

例外

otherPartyPublicKey によって使用される曲線のサイズが、このキーの曲線のサイズと異なります。

- または -

hashAlgorithm パラメーターにハッシュが指定されていません。

otherPartyPublicKeynullです。

otherPartyPublicKey によって使用される曲線が、このキーの曲線と異なります。

- または -

このインスタンスでは公開キーのみ表されます。

注釈

このオーバーロードは、先頭と追加の DeriveKeyFromHmac 値として を渡す null メソッドを呼び出します。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1