55 #include <ti/devices/msp432p4xx/inc/msp.h>
58 #define AES256_CMSIS(x) ((AES256_Type *) x)
66 #define Key_128BIT 128
67 #define Key_192BIT 192
68 #define Key_256BIT 256
77 #define AES256_KEYLENGTH_128BIT 128
78 #define AES256_KEYLENGTH_192BIT 192
79 #define AES256_KEYLENGTH_256BIT 256
87 #define AES256_ERROR_OCCURRED AES256_CTL0_ERRFG
88 #define AES256_NO_ERROR 0x00
96 #define AES256_BUSY AES256_STAT_BUSY
97 #define AES256_NOT_BUSY 0x00
105 #define AES256_READY_INTERRUPT 0x01
106 #define AES256_NOTREADY_INTERRUPT 0x00
131 const uint8_t *cipherKey, uint_fast16_t keyLength);
150 uint8_t *encryptedData);
170 uint8_t *decryptedData);
192 const uint8_t *cipherKey, uint_fast16_t keyLength);
278 const uint8_t *data);
299 const uint8_t *data);
321 const uint8_t *cipherKey, uint_fast16_t keyLength);
339 uint8_t *outputData);
398 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:238
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:36
void AES256_clearInterruptFlag(uint32_t moduleInstance)
Clears the AES256 ready interrupt flag.
Definition: aes256.c:192
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:77
bool AES256_isBusy(uint32_t moduleInstance)
Gets the AES256 module busy status.
Definition: aes256.c:319
bool AES256_getDataOut(uint32_t moduleInstance, uint8_t *outputData)
Reads back the output data from AES256 module.
Definition: aes256.c:299
void AES256_enableInterrupt(uint32_t moduleInstance)
Enables AES256 ready interrupt.
Definition: aes256.c:202
void AES256_registerInterrupt(uint32_t moduleInstance, void(*intHandler)(void))
Definition: aes256.c:334
bool AES256_startSetDecipherKey(uint32_t moduleInstance, const uint8_t *cipherKey, uint_fast16_t keyLength)
Sets the decipher key.
Definition: aes256.c:259
uint32_t AES256_getInterruptFlagStatus(uint32_t moduleInstance)
Gets the AES256 ready interrupt flag status.
Definition: aes256.c:197
void AES256_disableInterrupt(uint32_t moduleInstance)
Disables AES256 ready interrupt.
Definition: aes256.c:207
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:112
void AES256_reset(uint32_t moduleInstance)
Resets AES256 Module immediately.
Definition: aes256.c:212
bool AES256_setDecipherKey(uint32_t moduleInstance, const uint8_t *cipherKey, uint_fast16_t keyLength)
Sets the decipher key.
Definition: aes256.c:147
uint32_t AES256_getInterruptStatus(uint32_t moduleInstance)
Definition: aes256.c:346
uint32_t AES256_getErrorFlagStatus(uint32_t moduleInstance)
Gets the AES256 error flag status.
Definition: aes256.c:329
void AES256_unregisterInterrupt(uint32_t moduleInstance)
Definition: aes256.c:340
void AES256_clearErrorFlag(uint32_t moduleInstance)
Clears the AES256 error flag.
Definition: aes256.c:324
void AES256_startEncryptData(uint32_t moduleInstance, const uint8_t *data)
Starts an encryption process on the AES256 module.
Definition: aes256.c:217