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

Module
ARCFOUR
Returns
None
Description
This function uses the current ARCFOUR context to decrypt 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_Decrypt(uint8_t* data, uint32_t data_length,
ARCFOUR_CONTEXT* context
1.7.6 RSA
This section describes the Application Programming Interface (API) functions of the RSA module.
Enumerations
Name Description
DRV_RSA_OPERATION_MODES Enumeration describing modes of operation used with RSA
DRV_RSA_PAD_TYPE Enumeration describing the padding type that should be used with a
message being encrypted
DRV_RSA_STATUS Enumeration describing statuses that could apply to an RSA operation
Functions
Name Description
DRV_RSA_Initialize Initializes the data for the instance of the RSA module
DRV_RSA_Deinitialize Deinitializes the instance of the RSA module
DRV_RSA_Open Opens a new client for the device instance
DRV_RSA_Close Closes an opened client
DRV_RSA_Configure Configures the client instance
DRV_RSA_Encrypt Encrypts a message using a public RSA key
DRV_RSA_Decrypt Decrypts a message using a private RSA key
DRV_RSA_Tasks Maintains the driver's state machine by advancing a non-blocking
encryption or decryption operation.
DRV_RSA_ClientStatus Returns the current state of the encryption/decryption operation
Macros
Name Description
DRV_RSA_HANDLE Definition for a single drive handle for the software-only RSA module
DRV_RSA_INDEX Map of the default drive index to drive index 0
1.7 Library Interface MLA - Crypto Library Help RSA
104

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