Cryptography (AES) Driver

This Cryptography driver provides an interface for encryption or decryption.

The following driver variant is available:

  • AES Synchronous Driver: The driver will block (i.e. not return) until the requested data has been read. Functionality is therefore synchronous to the calling thread, i.e. the thread wait for the result to be ready.

AES Basics and Best Practice

The Advanced Encryption Standard (AES) is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001. AES operates on a 128-bit block of input data. The key size used for an AES cipher specifies the number of repetitions of transformation rounds that converts the input, called the plaintext, into the final output, called the ciphertext. The AES works on a symmetric-key algorithm, meaning the same key is used for both encrypting and decrypting the data.

The driver supports ECB/CBC/CFB/OFB/CTR mode for data encryption, and GCM/CCM for authenticated encryption. Before using any encrypted mode of AES, the key must be first be set. For privacy situation, after encrypting/decrypting data, the key should be cleared by the application. Common practice is to set the key to zero.