# 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
…
- 62
- 63
- 64
- 65
- 66
…
- 119
- 120

Function
BLOCK_CIPHER_ERRORS BLOCK_CIPHER_OFB_Decrypt (DRV_HANDLE handle,
uint8_t * plainText, uint8_t * cipherText, uint32_t numBytes,
void * key, BLOCK_CIPHER_OFB_CONTEXT * context, uint32_t options)
1.7.1.6 CTR
Describes functionality specific to the Counter (CTR) block cipher mode of operation.
Functions
Name Description
BLOCK_CIPHER_CTR_Initialize Initializes a CTR context for encryption/decryption.
BLOCK_CIPHER_CTR_KeyStreamGenerate Generates a key stream for use with the counter mode.
BLOCK_CIPHER_CTR_Encrypt Encrypts plain text using counter mode.
BLOCK_CIPHER_CTR_Decrypt Decrypts cipher text using counter mode.
Structures
Name Description
BLOCK_CIPHER_CTR_CONTEXT Context structure for the counter operation
Description
Describes functionality specific to the Counter (CTR) block cipher mode of operation.
1.7.1.6.1 BLOCK_CIPHER_CTR_CONTEXT Structure
File
block_cipher_mode_ctr.h
Syntax
typedef struct {
uint8_t noncePlusCounter[CRYPTO_CONFIG_BLOCK_MAX_SIZE];
uint8_t counter[CRYPTO_CONFIG_BLOCK_MAX_SIZE];
BLOCK_CIPHER_FunctionEncrypt encrypt;
BLOCK_CIPHER_FunctionDecrypt decrypt;
void * keyStream;
void * keyStreamCurrentPosition;
uint32_t keyStreamSize;
uint32_t bytesRemainingInKeyStream;
uint32_t blockSize;
} BLOCK_CIPHER_CTR_CONTEXT;
Members
Members Description
uint8_t
noncePlusCounter[CRYPTO_CONFIG_BLOCK_MAX_SIZE];
Buffer containing the initial NONCE and counter.
uint8_t counter[CRYPTO_CONFIG_BLOCK_MAX_SIZE]; Buffer containing the current counter value.
BLOCK_CIPHER_FunctionEncrypt encrypt; Encrypt function for the algorithm being used with the block
cipher mode module
BLOCK_CIPHER_FunctionDecrypt decrypt; Decrypt function for the algorithm being used with the block
cipher mode module
void * keyStream; Pointer to the key stream. Must be a multiple of the cipher's
block size, but smaller than 2^25 bytes.
1.7 Library Interface MLA - Crypto Library Help Block Cipher Modes
64

- 1
- 2
…
- 62
- 63
- 64
- 65
- 66
…
- 119
- 120