ECDiffieHellman.DeriveKeyFromHash Método

Definición

Realiza la derivación de claves mediante un algoritmo hash especificado.

Sobrecargas

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Realiza la derivación de claves mediante un algoritmo hash especificado.

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

Cuando se implementa en una clase derivada, realiza la derivación de claves mediante un algoritmo hash especificado con datos antepuestos o anexados opcionales.

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Realiza la derivación de claves mediante un algoritmo hash especificado.

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()

Parámetros

otherPartyPublicKey
ECDiffieHellmanPublicKey

Clave pública de la otra parte.

hashAlgorithm
HashAlgorithmName

Algoritmo hash que se va a usar para derivar el material de clave.

Devoluciones

Byte[]

Hash del secreto compartido.

Excepciones

La curva que usa otherPartyPublicKey tiene un tamaño diferente que la curva de esta clave.

o bien

El parámetro hashAlgorithm no especifica ningún valor hash.

otherPartyPublicKey es null.

La curva que usa otherPartyPublicKey es diferente de la curva de esta clave.

o bien

Esta instancia representa solo una clave pública.

Comentarios

Esta sobrecarga llama al DeriveKeyFromHash método que pasa null como valores antepuestos y anexados.

Se aplica a

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

Cuando se implementa en una clase derivada, realiza la derivación de claves mediante un algoritmo hash especificado con datos antepuestos o anexados opcionales.

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);
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()

Parámetros

otherPartyPublicKey
ECDiffieHellmanPublicKey

Clave pública de la otra parte.

hashAlgorithm
HashAlgorithmName

Algoritmo hash que se va a usar para derivar el material de clave.

secretPrepend
Byte[]

Valor para anteponer al secreto derivado antes de la operación hash.

secretAppend
Byte[]

Valor para anexar al secreto derivado antes de la operación hash.

Devoluciones

Byte[]

El hash del secreto compartido después de anteponer o anexar datos según se solicite.

Excepciones

Una clase derivada debe reemplazar este método.

La curva que usa otherPartyPublicKey tiene un tamaño diferente que la curva de esta clave.

o bien

El parámetro hashAlgorithm no especifica ningún valor hash.

otherPartyPublicKey es null.

La curva que usa otherPartyPublicKey es diferente de la curva de esta clave.

o bien

Esta instancia representa solo una clave pública.

Comentarios

Este método realiza internamente la curva elíptica Diffie-Hellman acuerdo de clave para generar el secreto compartido (z). El valor devuelto de este método es el resultado de HASH(secretPrepend || z || secretAppend) usar el algoritmo hash especificado, donde || significa la concatenación.

Si el valor de secretPrepend o secretAppend es null, se tratan como matrices vacías.

Se aplica a