Vault 7: Projects
This publication series is about specific projects related to the Vault 7 main publication.
Parameters
Parameters Description
round_keys Pointer to the output buffer that will contain the expanded
short key (Rijindael) schedule/ session key. This is to be
used in the encryption and decryption routines. The
round_keys buffer must be word aligned for the target
processor.
key The input key which can be 128, 192, or 256 bits in length.
key_size Specifies the key length in bytes. Valid options are:
• AES_KEY_SIZE_128_BIT
• AES_KEY_SIZE_192_BIT
• AES_KEY_SIZE_256_BIT
The values 16, 24, and 32 may also be used instead of the
above definitions.
Function
void AES_RoundKeysCreate( void* round_keys,
uint8_t* key,
uint8_t key_size
)
1.7.2.18 AES_Encrypt Function
Encrypts a 128-bit block of data using the AES algorithm.
File
aes.h
Syntax
void AES_Encrypt(DRV_HANDLE handle, void * cipherText, void * plainText, void * key);
Module
AES
Returns
None
Description
Encrypts a 128-bit block of data using the AES algorithm.
Remarks
AES should be used the a block cipher mode of operation. See block_cipher_modes.h for more information.
Preconditions
The AES module must be configured and initialized, if necessary.
Parameters
Parameters Description
handle Pointer to the driver handle for the instance of the AES
module you are using to encrypt the plainText. No function
for pure software implementation.
1.7 Library Interface MLA - Crypto Library Help AES
93
Protego_Release_01_05-Related-OEM-Documentation-MLA_v2013_12_20-help_mla_crypto.pdf