# 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
…
- 19
- 20
- 21
- 22
- 23
…
- 119
- 120

Once the user has opened and configured their module, they can Encrypt and Decrypt blocks of data. Encryption uses the
DRV_RSA_Encrypt function, which performs a modular exponentiation on the data using a public key passed in in a
DRV_RSA_PUBLIC_KEY structure. Decryption uses the DRV_RSA_Decrypt function, which uses modular exponentiation
and the Chinese Remainder Theorem on the cipherText using a private key passed in in a DRV_RSA_PRIVATE_KEY_CRT
structure. All of the key parameters in the public key structure and the private key structure are little-endian.
In the blocking mode, the encrypt and decrypt functions will block until the encryption and decryption are complete. In the
non-blocking mode, the encrypt and decrypt functions will return a DRV_RSA_STATUS value. If this status value indicates
that the encryption/decryption operation is still in progress the user must then alternate calling the DRV_RSA_ClientStatus
function and the DRV_RSA_Tasks function until the ClientStatus function returns DRV_RSA_STATUS_READY or one of the
specified error conditions.
1.4 Using the Library MLA - Crypto Library Help How the Library Works
21

- 1
- 2
…
- 19
- 20
- 21
- 22
- 23
…
- 119
- 120