ECDiffieHellman.DeriveKeyFromHash Metodo

Definizione

Esegue la derivazione della chiave usando un algoritmo hash specificato.

Overload

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Esegue la derivazione della chiave usando un algoritmo hash specificato.

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

Dopo l'implementazione in una classe derivata, esegue la derivazione della chiave usando un algoritmo hash specificato con dati facoltativi anteposti o accodati.

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Esegue la derivazione della chiave usando un algoritmo hash specificato.

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

Parametri

otherPartyPublicKey
ECDiffieHellmanPublicKey

Chiave pubblica dell'altra parte.

hashAlgorithm
HashAlgorithmName

Algoritmo hash da usare per derivare il materiale della chiave.

Restituisce

Byte[]

Hash del segreto condiviso.

Eccezioni

La curva usata da otherPartyPublicKey ha dimensioni diverse rispetto alla curva da questa chiave.

-oppure-

Il parametro hashAlgorithm non specifica un hash.

otherPartyPublicKey è null.

La curva usata da otherPartyPublicKey è diversa dalla curva da questa chiave.

-oppure-

Questa istanza rappresenta solo una chiave pubblica.

Commenti

Questo overload chiama il DeriveKeyFromHash metodo passando come valori prepend e accodati null .

Si applica a

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

Dopo l'implementazione in una classe derivata, esegue la derivazione della chiave usando un algoritmo hash specificato con dati facoltativi anteposti o accodati.

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

Parametri

otherPartyPublicKey
ECDiffieHellmanPublicKey

Chiave pubblica dell'altra parte.

hashAlgorithm
HashAlgorithmName

Algoritmo hash da usare per derivare il materiale della chiave.

secretPrepend
Byte[]

Valore da anteporre al segreto derivato prima dell'hashing.

secretAppend
Byte[]

Valore da aggiungere al segreto derivato prima dell'hashing.

Restituisce

Byte[]

Hash del segreto condiviso dopo aver anteposto o accodato i dati come richiesto.

Eccezioni

Una classe derivata deve eseguire l'override di questo metodo.

La curva usata da otherPartyPublicKey ha dimensioni diverse rispetto alla curva da questa chiave.

-oppure-

Il parametro hashAlgorithm non specifica un hash.

otherPartyPublicKey è null.

La curva usata da otherPartyPublicKey è diversa dalla curva da questa chiave.

-oppure-

Questa istanza rappresenta solo una chiave pubblica.

Commenti

Questo metodo esegue internamente il contratto chiave Elliptic Curve Diffie-Hellman per produrre il segreto condiviso (z). Il valore restituito da questo metodo è il risultato dell'uso HASH(secretPrepend || z || secretAppend) dell'algoritmo hash specificato, dove || indica la concatenazione.

Se il valore di secretPrepend o secretAppend è null, vengono considerati come matrici vuote.

Si applica a