# 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
…
- 94
- 95
- 96
- 97
- 98
…
- 119
- 120

1.7.3.3 TDES_ROUND_KEYS Structure
File
tdes.h
Syntax
typedef struct {
uint32_t data[96];
} TDES_ROUND_KEYS;
Module
TDES
Description
Definition to simplify the creation of a round key buffer for the TDES_RoundKeysCreate() function.
1.7.3.4 TDES_RoundKeysCreate Function
Creates a set of round keys from an TDES key to be used in TDES encryption and decryption of data blocks.
File
tdes.h
Syntax
void TDES_RoundKeysCreate(void* roundKeys, uint8_t* key);
Module
TDES
Returns
None
Description
This routine takes an TDES key and performs a key expansion to expand the key into a number of separate set of round
keys. These keys are commonly know as a Key Schedule, or subkeys.
Preconditions
None.
Example
static unsigned char __attribute__((aligned)) TDESKey[] = {
0x25, 0x9d, 0xf1, 0x6e, 0x7a, 0xf8, 0x04, 0xfe,
0x83, 0xb9, 0x0e, 0x9b, 0xf7, 0xc7, 0xe5, 0x57,
0x25, 0x9d, 0xf1, 0x6e, 0x7a, 0xf8, 0x04, 0xfe
};
TDES_ROUND_KEYS round_keys;
TDES_RoundKeysCreate( &round_keys,
TDESKey
);
Parameters
Parameters Description
roundKeys [out] Pointer to the output buffer that will contain the
expanded subkeys. This is to be used in the encryption and
decryption routines. The round_keys buffer must be word
aligned for the target processor.
1.7 Library Interface MLA - Crypto Library Help TDES
96

- 1
- 2
…
- 94
- 95
- 96
- 97
- 98
…
- 119
- 120