# 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
…
- 101
- 102
- 103
- 104
- 105
…
- 119
- 120

Parameters
Parameters Description
context A pointer to the allocated encryption context structure
sBox A pointer to a 256-byte buffer that will be used for the S-box.
key A pointer to the key to be used
key_length The length of the key, in bytes.
Function
void ARCFOUR_CreateSBox( ARCFOUR_CONTEXT* context, uint8_t * sBox,
uint8_t* key, uint16_t key_length)
1.7.5.3 ARCFOUR_Encrypt Function
Encrypts an array of data with the ARCFOUR algorithm.
File
arcfour.h
Syntax
void ARCFOUR_Encrypt(uint8_t* data, uint32_t data_length, ARCFOUR_CONTEXT* context);
Module
ARCFOUR
Returns
None
Description
This function uses the current ARCFOUR context to encrypt data in place.
Preconditions
The encryption context has been initialized with ARCFOUR_CreateSBox.
Parameters
Parameters Description
data The data to be encrypted (in place)
data_length The length of data
context A pointer to the initialized encryption context structure
Function
void ARCFOUR_Encrypt(uint8_t* data, uint32_t data_length,
ARCFOUR_CONTEXT* context)
1.7.5.4 ARCFOUR_Decrypt Macro
Decrypts an array of data with the ARCFOUR algorithm.
File
arcfour.h
Syntax
#define ARCFOUR_Decrypt ARCFOUR_Encrypt
1.7 Library Interface MLA - Crypto Library Help ARCFOUR
103

- 1
- 2
…
- 101
- 102
- 103
- 104
- 105
…
- 119
- 120