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.

설명

이 메서드는 타원 Curve 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.

적용 대상