RTEMS: bsps/arm/atsam/contrib/libraries/libchip/source/aes.c File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
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.
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.

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

  mode | Desired 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

  sources | Bitwise OR of selected interrupt sources.

## ◆ AES_EnableIt()

void AES_EnableIt | ( | uint32_t | sources | ) |

Enables the selected interrupts sources on a AES peripheral.

Parameters

  sources | Bitwise OR of selected interrupt sources.

## ◆ AES_GetGcmCounter()

void AES_GetGcmCounter | ( | uint32_t * | counter | ) |

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

Parameters

  counter | Point 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

  data | point 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

  tag | point 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

  data | pointer 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

  len | Length.

## ◆ 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

  len | Length.

## ◆ 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

  hash | point 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

  data | Pointer 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

  pVector | point 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

  pKey | Pointer to a 16/24/32 bytes cipher key.
  keyLength | length of key