RTEMS 6.1-rc2
|
#include "chip.h"
#include "aes.h"
Functions | |
void | AES_Start (void) |
Starts Manual encryption/decryption process. | |
void | AES_SoftReset (void) |
Resets the AES. A software triggered hardware reset of the AES interface is performed. | |
void | AES_Configure (uint32_t mode) |
Configures an AES peripheral with the specified parameters. | |
void | AES_EnableIt (uint32_t sources) |
Enables the selected interrupts sources on a AES peripheral. | |
void | AES_DisableIt (uint32_t sources) |
Disables the selected interrupts sources on a AES peripheral. | |
uint32_t | AES_GetStatus (void) |
Get the current status register of the given AES peripheral. | |
void | AES_WriteKey (const uint32_t *pKey, uint32_t keyLength) |
Set the 128-bit/192-bit/256-bit cryptographic key used for encryption/decryption. | |
void | AES_SetInput (const uint32_t *data) |
Set the for 32-bit input Data allow to set the 128-bit data block used for encryption/decryption. | |
void | AES_GetOutput (uint32_t *data) |
Get the four 32-bit data contain the 128-bit data block which has been encrypted/decrypted. | |
void | AES_SetVector (const uint32_t *pVector) |
Set four 64-bit initialization vector data block, which is used by some modes of operation as an additional initial input. | |
void | AES_SetAadLen (uint32_t len) |
Set Length in bytes of the AAD data that is to be processed. | |
void | AES_SetDataLen (uint32_t len) |
Set Length in bytes of the Length in bytes of the plaintext/ciphertext (C) data that is to be processed.. | |
void | AES_SetGcmHash (uint32_t *hash) |
Set The four 32-bit Hash Word registers expose the intermediate GHASH value. May be read to save the current GHASH value so processing can later be resumed, presumably on a later message fragment. modes of operation as an additional initial input. | |
void | AES_GetGcmTag (uint32_t *tag) |
Get The four 32-bit Tag which contain the final 128-bit GCM Authentication tag Ħ°TĦħ when GCM processing is complete. | |
void | AES_GetGcmCounter (uint32_t *counter) |
Reports the current value of the 32-bit GCM counter. | |
void | AES_GetGcmH (uint32_t *h) |
Get the four 32-bit data contain the 128-bit H value computed from the KEYW value. | |
Implementation of Advanced Encryption Standard (AES)
void AES_Configure | ( | uint32_t | mode | ) |
Configures an AES peripheral with the specified parameters.
mode | Desired value for the AES mode register (see the datasheet). |
void AES_DisableIt | ( | uint32_t | sources | ) |
Disables the selected interrupts sources on a AES peripheral.
sources | Bitwise OR of selected interrupt sources. |
void AES_EnableIt | ( | uint32_t | sources | ) |
Enables the selected interrupts sources on a AES peripheral.
sources | Bitwise OR of selected interrupt sources. |
void AES_GetGcmCounter | ( | uint32_t * | counter | ) |
Reports the current value of the 32-bit GCM counter.
counter | Point to value of GCM counter. |
void AES_GetGcmH | ( | uint32_t * | h | ) |
Get the four 32-bit data contain the 128-bit H value computed from the KEYW value.
data | point to the word that has been encrypted/decrypted. |
void AES_GetGcmTag | ( | uint32_t * | tag | ) |
Get The four 32-bit Tag which contain the final 128-bit GCM Authentication tag Ħ°TĦħ when GCM processing is complete.
tag | point to the word of the tag. |
void AES_GetOutput | ( | uint32_t * | data | ) |
Get the four 32-bit data contain the 128-bit data block which has been encrypted/decrypted.
data | pointer to the word that has been encrypted/decrypted.. |
uint32_t AES_GetStatus | ( | void | ) |
Get the current status register of the given AES peripheral.
void AES_SetAadLen | ( | uint32_t | len | ) |
Set Length in bytes of the AAD data that is to be processed.
len | Length. |
void AES_SetDataLen | ( | uint32_t | len | ) |
Set Length in bytes of the Length in bytes of the plaintext/ciphertext (C) data that is to be processed..
len | Length. |
void AES_SetGcmHash | ( | uint32_t * | hash | ) |
Set The four 32-bit Hash Word registers expose the intermediate GHASH value. May be read to save the current GHASH value so processing can later be resumed, presumably on a later message fragment. modes of operation as an additional initial input.
hash | point to the word of the hash. |
void AES_SetInput | ( | const uint32_t * | data | ) |
Set the for 32-bit input Data allow to set the 128-bit data block used for encryption/decryption.
data | Pointer to the 16-bytes data to cipher/decipher. |
void AES_SetVector | ( | const uint32_t * | pVector | ) |
Set four 64-bit initialization vector data block, which is used by some modes of operation as an additional initial input.
pVector | point to the word of the initialization vector. |
void AES_WriteKey | ( | const uint32_t * | pKey, |
uint32_t | keyLength | ||
) |
Set the 128-bit/192-bit/256-bit cryptographic key used for encryption/decryption.
pKey | Pointer to a 16/24/32 bytes cipher key. |
keyLength | length of key |