Vault 7: Projects
This publication series is about specific projects related to the Vault 7 main publication.
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
Protego_Release_01_05-Related-OEM-Documentation-MLA_v2013_12_20-help_mla_crypto.pdf