# 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
…
- 90
- 91
- 92
- 93
- 94
…
- 119
- 120

Preconditions
None.
Example
handle = DRV_AES_Open (DRV_AES_INDEX, 0);
if (handle != DRV_AES_HANDLE)
{
// error
}
DRV_AES_Close (handle);
Parameters
Parameters Description
handle The handle of the opened client instance returned by
DRV_AES_Open().
Function
void DRV_AES_Close (DRV_HANDLE handle)
1.7.2.17 AES_RoundKeysCreate Function
Creates a set of round keys from an AES key to be used in AES encryption and decryption of data blocks.
File
aes.h
Syntax
void AES_RoundKeysCreate(void* round_keys, uint8_t* key, uint8_t key_size);
Module
AES
Returns
None
Description
This routine takes an AES key and performs a key schedule to expand the key into a number of separate set of round keys.
These keys are commonly know as the Rijindael key schedule or a session key.
Preconditions
None.
Example
static const uint8_t AESKey128[] = { 0x95, 0xA8, 0xEE, 0x8E,
0x89, 0x97, 0x9B, 0x9E,
0xFD, 0xCB, 0xC6, 0xEB,
0x97, 0x97, 0x52, 0x8D
};
AES_ROUND_KEYS_128_BIT round_keys;
AES_RoundKeysCreate( &round_keys,
AESKey128,
AES_KEY_SIZE_128_BIT
);
1.7 Library Interface MLA - Crypto Library Help AES
92

- 1
- 2
…
- 90
- 91
- 92
- 93
- 94
…
- 119
- 120