27 #define AES256_CMSIS(x) ((AES256_Type *) x)
35 #define Key_128BIT 128
36 #define Key_192BIT 192
37 #define Key_256BIT 256
46 #define AES256_KEYLENGTH_128BIT 128
47 #define AES256_KEYLENGTH_192BIT 192
48 #define AES256_KEYLENGTH_256BIT 256
56 #define AES256_ERROR_OCCURRED AES256_CTL0_ERRFG
57 #define AES256_NO_ERROR 0x00
65 #define AES256_BUSY AES256_STAT_BUSY
66 #define AES256_NOT_BUSY 0x00
74 #define AES256_READY_INTERRUPT 0x01
75 #define AES256_NOTREADY_INTERRUPT 0x00
100 const uint8_t *cipherKey, uint_fast16_t keyLength);
119 uint8_t *encryptedData);
139 uint8_t *decryptedData);
161 const uint8_t *cipherKey, uint_fast16_t keyLength);
247 const uint8_t *data);
268 const uint8_t *data);
290 const uint8_t *cipherKey, uint_fast16_t keyLength);
308 uint8_t *outputData);
367 void (*intHandler)(
void));
void AES256_startDecryptData(uint32_t moduleInstance, const uint8_t *data)
Decypts a block of data using the AES256 module.
Definition: aes256.c:207
bool AES256_setCipherKey(uint32_t moduleInstance, const uint8_t *cipherKey, uint_fast16_t keyLength)
Loads a 128, 192 or 256 bit cipher key to AES256 module.
Definition: aes256.c:5
void AES256_clearInterruptFlag(uint32_t moduleInstance)
Clears the AES256 ready interrupt flag.
Definition: aes256.c:161
void AES256_encryptData(uint32_t moduleInstance, const uint8_t *data, uint8_t *encryptedData)
Encrypts a block of data using the AES256 module.
Definition: aes256.c:46
bool AES256_isBusy(uint32_t moduleInstance)
Gets the AES256 module busy status.
Definition: aes256.c:288
bool AES256_getDataOut(uint32_t moduleInstance, uint8_t *outputData)
Reads back the output data from AES256 module.
Definition: aes256.c:268
void AES256_enableInterrupt(uint32_t moduleInstance)
Enables AES256 ready interrupt.
Definition: aes256.c:171
void AES256_registerInterrupt(uint32_t moduleInstance, void(*intHandler)(void))
Definition: aes256.c:303
bool AES256_startSetDecipherKey(uint32_t moduleInstance, const uint8_t *cipherKey, uint_fast16_t keyLength)
Sets the decipher key.
Definition: aes256.c:228
uint32_t AES256_getInterruptFlagStatus(uint32_t moduleInstance)
Gets the AES256 ready interrupt flag status.
Definition: aes256.c:166
void AES256_disableInterrupt(uint32_t moduleInstance)
Disables AES256 ready interrupt.
Definition: aes256.c:176
void AES256_decryptData(uint32_t moduleInstance, const uint8_t *data, uint8_t *decryptedData)
Decrypts a block of data using the AES256 module.
Definition: aes256.c:81
void AES256_reset(uint32_t moduleInstance)
Resets AES256 Module immediately.
Definition: aes256.c:181
bool AES256_setDecipherKey(uint32_t moduleInstance, const uint8_t *cipherKey, uint_fast16_t keyLength)
Sets the decipher key.
Definition: aes256.c:116
uint32_t AES256_getInterruptStatus(uint32_t moduleInstance)
Definition: aes256.c:315
uint32_t AES256_getErrorFlagStatus(uint32_t moduleInstance)
Gets the AES256 error flag status.
Definition: aes256.c:298
void AES256_unregisterInterrupt(uint32_t moduleInstance)
Definition: aes256.c:309
void AES256_clearErrorFlag(uint32_t moduleInstance)
Clears the AES256 error flag.
Definition: aes256.c:293
void AES256_startEncryptData(uint32_t moduleInstance, const uint8_t *data)
Starts an encryption process on the AES256 module.
Definition: aes256.c:186