ECDiffieHellman.DeriveKeyFromHash メソッド

定義

指定されたハッシュ アルゴリズムを使用して、キー派生を実行します。Performs key derivation using a specified hash algorithm.

オーバーロード

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

指定されたハッシュ アルゴリズムを使用して、キー派生を実行します。Performs key derivation using a specified hash algorithm.

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

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

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

指定されたハッシュ アルゴリズムを使用して、キー派生を実行します。Performs key derivation using a specified hash algorithm.

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

パラメーター

otherPartyPublicKey
ECDiffieHellmanPublicKey

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

hashAlgorithm
HashAlgorithmName

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

戻り値

Byte[]

共有シークレットのハッシュ。The hash 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 を渡す DeriveKeyFromHash メソッドを呼び出します。This overload calls the DeriveKeyFromHash method passing null as the prepend and append values.

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

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

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

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[]

要求に応じてデータを先頭または末尾に追加した後の共有シークレットのハッシュ。The hash 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). このメソッドからの戻り値は、指定されたハッシュアルゴリズムを使用した HASH(secretPrepend || z || secretAppend) の結果であり、|| は連結を意味します。The return value from this method is the result of HASH(secretPrepend || z || secretAppend) using the specified hash algorithm, where || signifies concatenation.

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

適用対象