Skip to content

Latest commit

 

History

History
55 lines (39 loc) · 1.48 KB

GUID-A3A57C3C-EBEF-47C3-A8AB-1C1BEC202D74.md

File metadata and controls

55 lines (39 loc) · 1.48 KB

CRYPT_AES_GCM_Decrypt Function

Parent topic:MPLAB® Harmony Crypto Library

C

int CRYPT_AES_GCM_Decrypt(
    CRYPT_AES_CTX* aes, 
    unsigned char* out, 
    const unsigned char* in, 
    unsigned int sz, 
    const unsigned char* iv, 
    unsigned int ivSz, 
    const unsigned char* authTag, 
    unsigned int authTagSz, 
    const unsigned char* authIn, 
    unsigned int authInSz
);

Description

This function decrypts a block of data using the AES algorithm in Galois/Counter Mode (GCM).

Preconditions

Key must be set earlier with a call to CRYPT_AES_GCM_SetKey.

Parameters

Parameters Description
aes Pointer to context which saves state between calls.
out Pointer to buffer to store the results of the decryption pass.
in Pointer to buffer holding the data to be decrypted.
sz Size of the input data, in bytes.
iv Pointer to the initialization vector.
ivSz Size of the initialization vector.
authTag Pointer to the buffer to store the authentication tag.
authTagSz Size of the authentication tag.
authIn Pointer to the additional authentication data.
authInSz Size of the additional authentication data.

Returns

  • BAD_FUNC_ARG - An invalid pointer was passed to the function. -AES_GCM_AUTH_E - The authTag is incorrect.

  • 0 - An invalid pointer was not passed to the function.

Remarks

The output buffer must be equal in size to the input buffer.