Windows Dev Center

CryptographicEngine.DecryptAndAuthenticate | decryptAndAuthenticate Method

Entschlüsselt und authentifiziert Daten. Weitere Informationen sowie ein vollständiges Codebeispiel finden Sie unter EncryptedAndAuthenticatedData.

Syntax


var iBuffer = Windows.Security.Cryptography.Core.CryptographicEngine.decryptAndAuthenticate(key, data, nonce, authenticationTag, authenticatedData);

Parameter

key

Typ: CryptographicKey

Symmetrischer Schlüssel, der verwendet werden soll.

data

Typ: IBuffer

Zu entschlüsselnde und zu authentifizierende Daten.

nonce

Typ: IBuffer

Der zu verwendende Nonce. Hierbei muss es sich um dieselbe Nonce handeln, die von der EncryptAndAuthenticate-Methode verwendet wird.

authenticationTag

Typ: IBuffer

Authentifizierungs-Tag.

authenticatedData

Typ: IBuffer

Authentifizierte Daten. Dieser Wert kann Null sein.

Rückgabewert

Typ: IBuffer

Ein Puffer, der die entschlüsselten Daten enthält.

Beim Fehlschlagen der Methode schlägt auch die Authentifizierung fehl. Ist die Methode erfolgreich, dann ist auch die Authentifizierung erfolgreich.

Hinweise

Authentifizierte Verschlüsselung verschlüsselt und authentifiziert Inhalt in einem Vorgang. Ein Authentifizierer, auch Tag genannt, wird bei der Verschlüsselung verwendet, und die Ausgabe des Prozesses enthält ein Paar Tag/verschlüsselter Text. Weitere Informationen finden Sie unter den Eigenschaften AuthenticationTag und EncryptedData. Der Entschlüsselungsprozess überprüft den verschlüsseln Text für das Tag.

Sie können einen authentifizierten Verschlüsselungsalgorithmus verwenden, nachdem Sie die OpenAlgorithm-Methode in der SymmetricKeyAlgorithmProvider-Klasse aufgerufen und den Namen des zu öffnenden Algorithmus angegeben haben. Die folgenden Algorithmusnamen werden für authentifizierte Verschlüsselung und Entschlüsselung unterstützt:

Ein vollständiges Beispiel, das folgendes Codebeispiel enthält, finden Sie in der Klasse EncryptedAndAuthenticatedData.

Beispiele


public void AuthenticatedDecryption(
    String strAlgName,
    CryptographicKey key,
    EncryptedAndAuthenticatedData objEncrypted,
    BinaryStringEncoding encoding,
    IBuffer buffNonce)
{
    // Declare a buffer to contain the decrypted data.
    IBuffer buffDecrypted;

    // Open a SymmetricKeyAlgorithmProvider object for the specified algorithm.
    SymmetricKeyAlgorithmProvider objAlgProv = SymmetricKeyAlgorithmProvider.OpenAlgorithm(strAlgName);

    // The input key must be securely shared between the sender of the encrypted message
    // and the recipient. The nonce must also be shared but does not need to be shared
    // in a secure manner. If the sender encodes the message string to a buffer, the
    // binary encoding method must also be shared with the recipient.
    // The recipient uses the DecryptAndAuthenticate() method as follows to decrypt the 
    // message, authenticate it, and verify that it has not been altered in transit.
    buffDecrypted = CryptographicEngine.DecryptAndAuthenticate(
        key,
        objEncrypted.EncryptedData,
        buffNonce,
        objEncrypted.AuthenticationTag,
        null);

    // Convert the decrypted buffer to a string (for display). If the sender created the
    // original message buffer from a string, the sender must tell the recipient what 
    // BinaryStringEncoding value was used. Here, BinaryStringEncoding.Utf8 is used to
    // convert the message to a buffer before encryption and to convert the decrypted
    // buffer back to the original plaintext.
    String strDecrypted = CryptographicBuffer.ConvertBinaryToString(encoding, buffDecrypted);

}


Anforderungen

Mindestens unterstützter Client

Windows 8

Mindestens unterstützter Server

Windows Server 2012

Namespace

Windows.Security.Cryptography.Core
Windows::Security::Cryptography::Core [C++]

Metadaten

Windows.winmd

Siehe auch

CryptographicEngine
EncryptedAndAuthenticatedData

 

 

Anzeigen:
© 2015 Microsoft