# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MLA -- Crypto Library

1 January, 2012

- 1
- 2
…
- 87
- 88
- 89
- 90
- 91
…
- 119
- 120

Syntax
typedef struct {
uint32_t key_length;
uint32_t data[60];
} AES_ROUND_KEYS_256_BIT;
Members
Members Description
uint32_t key_length; Length of the key
uint32_t data[60]; Round keys
Module
AES
Description
Definition of a 256-bit key to simplify the creation of a round key buffer for the AES_RoundKeysCreate() function.
1.7.2.13 DRV_AES_Initialize Function
Initializes the data for the instance of the AES module.
File
aes.h
Syntax
SYS_MODULE_OBJ DRV_AES_Initialize(const SYS_MODULE_INDEX index, const SYS_MODULE_INIT *
const init);
Module
AES
Returns
If successful, returns a valid handle to a driver instance object. Otherwise, it returns SYS_MODULE_OBJ_INVALID
Description
This routine initializes data for the instance of the AES module. For pure software implementations, the function has no
effect.
Preconditions
None
Example
SYS_MODULE_OBJ sysObject;
sysObject = DRV_AES_Initialize (DRV_AES_INDEX, NULL);
if (sysObject != SYS_MODULE_OBJ_STATIC)
{
// error
}
Parameters
Parameters Description
index Identifier for the instance to be initialized
init Pointer to the data structure containing any data necessary
to initialize the hardware. This pointer may be null if no data
is required and default initialization is to be used
1.7 Library Interface MLA - Crypto Library Help AES
89

- 1
- 2
…
- 87
- 88
- 89
- 90
- 91
…
- 119
- 120