Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

Parameters
Parameters Description
handle A handle that is passed to the block cipher's encrypt/decrypt
functions to specify which instance of the block cipher
module to use. This parameter can be specified as NULL if
the block cipher does not have multiple instances.
cipherText The cipher text produced by the encryption. This buffer must
be a multiple of the block size, even if the plain text buffer
size is not. This buffer should always be larger than the plain
text buffer.
numCipherBytes Pointer to a uint32_t; the number of bytes encrypted will be
returned in this parameter.
plainText The plain test to encrypt.
numPlainBytes The number of plain text bytes that must be encrypted. If the
number of plain text bytes encrypted is not evenly divisible
by the block size, the remaining bytes will be cached in the
CBC context structure until additional data is provided.
key The key to use when encrypting/decrypting the data. The
format of this key will depend on the block cipher you are
using.
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_CBC_Encrypt (DRV_HANDLE handle, uint8_t * cipherText,
uint32_t * numCipherBytes, uint8_t * plainText, uint32_t numPlainBytes,
void * key, BLOCK_CIPHER_CBC_CONTEXT * context, uint32_t options);
1.7.1.3.4 BLOCK_CIPHER_CBC_Decrypt Function
Decrypts cipher text using cipher-block chaining mode.
1.7 Library Interface MLA - Crypto Library Help Block Cipher Modes
46

e-Highlighter

Click to send permalink to address bar, or right-click to copy permalink.

Un-highlight all Un-highlight selectionu Highlight selectionh