RTEMS  5.1
Functions
aes.c File Reference
#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. More...
 
void AES_EnableIt (uint32_t sources)
 Enables the selected interrupts sources on a AES peripheral. More...
 
void AES_DisableIt (uint32_t sources)
 Disables the selected interrupts sources on a AES peripheral. More...
 
uint32_t AES_GetStatus (void)
 Get the current status register of the given AES peripheral. More...
 
void AES_WriteKey (const uint32_t *pKey, uint32_t keyLength)
 Set the 128-bit/192-bit/256-bit cryptographic key used for encryption/decryption. More...
 
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. More...
 
void AES_GetOutput (uint32_t *data)
 Get the four 32-bit data contain the 128-bit data block which has been encrypted/decrypted. More...
 
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. More...
 
void AES_SetAadLen (uint32_t len)
 Set Length in bytes of the AAD data that is to be processed. More...
 
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.. More...
 
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. More...
 
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. More...
 
void AES_GetGcmCounter (uint32_t *counter)
 Reports the current value of the 32-bit GCM counter. More...
 
void AES_GetGcmH (uint32_t *h)
 Get the four 32-bit data contain the 128-bit H value computed from the KEYW value. More...
 

Detailed Description

Implementation of Advanced Encryption Standard (AES)

Function Documentation

◆ AES_Configure()

void AES_Configure ( uint32_t  mode)

Configures an AES peripheral with the specified parameters.

Parameters
modeDesired value for the AES mode register (see the datasheet).

◆ AES_DisableIt()

void AES_DisableIt ( uint32_t  sources)

Disables the selected interrupts sources on a AES peripheral.

Parameters
sourcesBitwise OR of selected interrupt sources.

◆ AES_EnableIt()

void AES_EnableIt ( uint32_t  sources)

Enables the selected interrupts sources on a AES peripheral.

Parameters
sourcesBitwise OR of selected interrupt sources.

◆ AES_GetGcmCounter()

void AES_GetGcmCounter ( uint32_t *  counter)

Reports the current value of the 32-bit GCM counter.

Parameters
counterPoint to value of GCM counter.

◆ AES_GetGcmH()

void AES_GetGcmH ( uint32_t *  h)

Get the four 32-bit data contain the 128-bit H value computed from the KEYW value.

Parameters
datapoint to the word that has been encrypted/decrypted.

◆ AES_GetGcmTag()

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.

Parameters
tagpoint to the word of the tag.

◆ AES_GetOutput()

void AES_GetOutput ( uint32_t *  data)

Get the four 32-bit data contain the 128-bit data block which has been encrypted/decrypted.

Parameters
datapointer to the word that has been encrypted/decrypted..

◆ AES_GetStatus()

uint32_t AES_GetStatus ( void  )

Get the current status register of the given AES peripheral.

Returns
AES status register.

◆ AES_SetAadLen()

void AES_SetAadLen ( uint32_t  len)

Set Length in bytes of the AAD data that is to be processed.

Parameters
lenLength.

◆ AES_SetDataLen()

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..

Parameters
lenLength.

◆ AES_SetGcmHash()

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.

Parameters
hashpoint to the word of the hash.

◆ AES_SetInput()

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.

Parameters
dataPointer to the 16-bytes data to cipher/decipher.

◆ AES_SetVector()

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.

Parameters
pVectorpoint to the word of the initialization vector.

◆ AES_WriteKey()

void AES_WriteKey ( const uint32_t *  pKey,
uint32_t  keyLength 
)

Set the 128-bit/192-bit/256-bit cryptographic key used for encryption/decryption.

Parameters
pKeyPointer to a 16/24/32 bytes cipher key.
keyLengthlength of key