# 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
…
- 38
- 39
- 40
- 41
- 42
…
- 119
- 120

context Pointer to a context structure for this encryption. The first call
of this function should have the context->initializationVector
set to the initializationVector. The same context structure
instance should be used for every call used for the same
data stream. The contents of this structure should not be
changed by the user once the encryption/decryption has
started.
options Block cipher encryption options that the user can specify,
or'd together. Valid options for this function are
• BLOCK_CIPHER_OPTION_PAD_NONE
• BLOCK_CIPHER_OPTION_PAD_NULLS
• BLOCK_CIPHER_OPTION_PAD_8000
• BLOCK_CIPHER_OPTION_PAD_NUMBER
• BLOCK_CIPHER_OPTION_STREAM_START
• BLOCK_CIPHER_OPTION_STREAM_CONTINUE
• BLOCK_CIPHER_OPTION_STREAM_COMPLETE
•
BLOCK_CIPHER_OPTION_CIPHER_TEXT_POINTER_
ALIGNED
•
BLOCK_CIPHER_OPTION_PLAIN_TEXT_POINTER_A
LIGNED
Function
void BLOCK_CIPHER_ECB_Encrypt (DRV_HANDLE handle, uint8_t * cipherText,
uint32_t * numCipherBytes, uint8_t * plainText, uint32_t numPlainBytes,
void * key, BLOCK_CIPHER_ECB_CONTEXT * context, uint32_t options);
1.7.1.2.4 BLOCK_CIPHER_ECB_Decrypt Function
Decrypts cipher text using cipher-block chaining mode.
File
block_cipher_mode_ecb.h
Syntax
void BLOCK_CIPHER_ECB_Decrypt(DRV_HANDLE handle, uint8_t * plainText, uint32_t *
numPlainBytes, uint8_t * cipherText, uint32_t numCipherBytes, void * key,
BLOCK_CIPHER_ECB_CONTEXT * context, uint32_t options);
Module
ECB
Returns
None
Description
Decrypts cipher text using cipher-block chaining mode.
Preconditions
The ECB context must be initialized with the block cipher encrypt/decrypt functions and the block cipher algorithm's block
size. The block cipher module must be initialized, if necessary.
1.7 Library Interface MLA - Crypto Library Help Block Cipher Modes
40

- 1
- 2
…
- 38
- 39
- 40
- 41
- 42
…
- 119
- 120