ECDiffieHellman.DeriveKeyFromHash Método

Definición

Lleva a cabo una derivación de claves usando un algoritmo hash especificado.Performs key derivation using a specified hash algorithm.

Sobrecargas

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Lleva a cabo una derivación de claves usando un algoritmo hash especificado.Performs key derivation using a specified hash algorithm.

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

Cuando se implementa en una clase derivada, lleva a cabo una derivación de claves usando un algoritmo hash especificado con datos antepuestos o anexados opcionales.When implemented in a derived class, performs key derivation using a specified hash algorithm with optional prepended or appended data.

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Lleva a cabo una derivación de claves usando un algoritmo hash especificado.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()

Parámetros

otherPartyPublicKey
ECDiffieHellmanPublicKey

Clave pública de la otra parte.The other party's public key.

hashAlgorithm
HashAlgorithmName

Algoritmo hash que se va a usar para derivar el material de clave.The hash algorithm to use to derive the key material.

Devoluciones

Byte[]

Hash del secreto compartido.The hash of the shared secret.

Excepciones

La curva usada por otherPartyPublicKey tiene un tamaño diferente que la curva de esta clave.The curve used by otherPartyPublicKey has a different size than the curve from this key.

o bien-or-

El parámetro hashAlgorithm no especifica ningún valor hash.The hashAlgorithm parameter does not specify a hash.

otherPartyPublicKey es null.otherPartyPublicKey is null.

La curva usada por otherPartyPublicKey es diferente de la curva de esta clave.The curve used by otherPartyPublicKey is different than the curve from this key.

o bien-or-

Esta instancia representa solo una clave pública.This instance represents only a public key.

Comentarios

Esta sobrecarga llama al método DeriveKeyFromHash pasando null como los valores antepuesto y Append.This overload calls the DeriveKeyFromHash method passing null as the prepend and append values.

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

Cuando se implementa en una clase derivada, lleva a cabo una derivación de claves usando un algoritmo hash especificado con datos antepuestos o anexados opcionales.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()

Parámetros

otherPartyPublicKey
ECDiffieHellmanPublicKey

Clave pública de la otra parte.The other party's public key.

hashAlgorithm
HashAlgorithmName

Algoritmo hash que se va a usar para derivar el material de clave.The hash algorithm to use to derive the key material.

secretPrepend
Byte[]

Valor para anteponer al secreto derivado antes de la operación hash.A value to prepend to the derived secret before hashing.

secretAppend
Byte[]

Valor para anexar al secreto derivado antes de la operación hash.A value to append to the derived secret before hashing.

Devoluciones

Byte[]

El hash del secreto compartido después de anteponer o anexar datos según se solicite.The hash of the shared secret after prepending or appending data as requested.

Excepciones

Una clase derivada debe reemplazar este método.A derived class must override this method.

La curva usada por otherPartyPublicKey tiene un tamaño diferente que la curva de esta clave.The curve used by otherPartyPublicKey has a different size than the curve from this key.

o bien-or-

El parámetro hashAlgorithm no especifica ningún valor hash.The hashAlgorithm parameter does not specify a hash.

otherPartyPublicKey es null.otherPartyPublicKey is null.

La curva usada por otherPartyPublicKey es diferente de la curva de esta clave.The curve used by otherPartyPublicKey is different than the curve from this key.

o bien-or-

Esta instancia representa solo una clave pública.This instance represents only a public key.

Comentarios

Este método realiza internamente el acuerdo de claves Diffie-Hellman de curva elíptica para generar el secreto compartido (z).This method internally performs the Elliptic Curve Diffie-Hellman key agreement to produce the shared secret (z). El valor devuelto de este método es el resultado de HASH(secretPrepend || z || secretAppend) utilizando el algoritmo hash especificado, donde || significa concatenación.The return value from this method is the result of HASH(secretPrepend || z || secretAppend) using the specified hash algorithm, where || signifies concatenation.

Si el valor de secretPrepend o secretAppend es null, se tratan como matrices vacías.If the value of secretPrepend or secretAppend is null, they are treated as empty arrays.

Se aplica a