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