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)

Source:
ECDiffieHellman.cs
Source:
ECDiffieHellman.cs
Source:
ECDiffieHellman.cs

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

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

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 anteponer y anexar valores.

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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

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

Source:
ECDiffieHellman.cs
Source:
ECDiffieHellman.cs
Source:
ECDiffieHellman.cs

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

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

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 el acuerdo de clave de curva elíptica Diffie-Hellman para generar el secreto compartido (z). El valor devuelto de este método es el resultado del HASH(secretPrepend || z || secretAppend) uso del 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

.NET 9 y otras versiones
Producto Versiones
.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