65 #define DES_DATA_LEN 8 // The byte length for DES data block 66 #define AES_DATA_LEN 16 // The byte length for AES data block 67 #define MAX_KEY_SIZE 32 // Defines maximum key length 68 #define MXC_AES_DATA_LEN (128 / 8) 69 #define MXC_AES_KEY_128_LEN (128 / 8) 70 #define MXC_AES_KEY_192_LEN (192 / 8) 71 #define MXC_AES_KEY_256_LEN (256 / 8) 131 int TPU_DES_Encrypt(
const char *plaintext,
const char *iv,
const char *key, tpu_modesel_t mode,
unsigned int data_size,
char *outptr);
145 int TPU_DES_Decrypt(
const char *ciphertext,
const char *iv,
const char *key, tpu_modesel_t mode,
unsigned int data_size,
char *outptr);
159 int TPU_TDES_Encrypt(
const char *plaintext,
const char *iv,
const char *key, tpu_modesel_t mode,
unsigned int data_size,
char *outptr);
173 int TPU_TDES_Decrypt(
const char *ciphertext,
const char *iv,
const char *key, tpu_modesel_t mode,
unsigned int data_size,
char *outptr);
189 int TPU_AES_Encrypt(
const char *plaintext,
const char *iv,
const char *key, tpu_ciphersel_t cipher, tpu_modesel_t mode,
unsigned int data_size,
char *outptr);
205 int TPU_AES_Decrypt(
const char *ciphertext,
const char *iv,
const char *key, tpu_ciphersel_t cipher, tpu_modesel_t mode,
unsigned int data_size,
char *outptr);
int TPU_TDES_Decrypt(const char *ciphertext, const char *iv, const char *key, tpu_modesel_t mode, unsigned int data_size, char *outptr)
The TDES decryption process.
#define MXC_V_TPU_CIPHER_CTRL_CIPHER_DIS
CIPHER_CTRL_CIPHER_DIS Value.
Definition: tpu_regs.h:238
void TPU_Shutdown(void)
Shutdown crypto controller.
#define MXC_V_TPU_CIPHER_CTRL_MODE_ECB
CIPHER_CTRL_MODE_ECB Value.
Definition: tpu_regs.h:253
tpu_ciphersel_t
Enumeration type for the Crypto Cipher Operation(128/192/256-bit key)
Definition: cipher.h:79
void TPU_Cipher_Reset(void)
Reset the crypto accelerator.
int TPU_TDES_Encrypt(const char *plaintext, const char *iv, const char *key, tpu_modesel_t mode, unsigned int data_size, char *outptr)
The TDES encryption process.
#define MXC_V_TPU_CIPHER_CTRL_CIPHER_TDES
CIPHER_CTRL_CIPHER_TDES Value.
Definition: tpu_regs.h:248
#define MXC_V_TPU_CIPHER_CTRL_MODE_CTR
CIPHER_CTRL_MODE_CTR Value.
Definition: tpu_regs.h:261
#define MXC_V_TPU_CIPHER_CTRL_MODE_CBC
CIPHER_CTRL_MODE_CBC Value.
Definition: tpu_regs.h:255
int TPU_AES_Decrypt(const char *ciphertext, const char *iv, const char *key, tpu_ciphersel_t cipher, tpu_modesel_t mode, unsigned int data_size, char *outptr)
The AES decryption process.
int TPU_Cipher_Config(tpu_modesel_t mode, tpu_ciphersel_t cipher)
Configure crypto cipher operation for different modes.
#define MXC_V_TPU_CIPHER_CTRL_CIPHER_AES192
CIPHER_CTRL_CIPHER_AES192 Value.
Definition: tpu_regs.h:242
tpu_modesel_t
Enumeration type for the Crypto Mode Select.
Definition: cipher.h:91
#define MXC_V_TPU_CIPHER_CTRL_CIPHER_DES
CIPHER_CTRL_CIPHER_DES Value.
Definition: tpu_regs.h:246
#define MXC_V_TPU_CIPHER_CTRL_CIPHER_AES128
CIPHER_CTRL_CIPHER_AES128 Value.
Definition: tpu_regs.h:240
int TPU_DES_Decrypt(const char *ciphertext, const char *iv, const char *key, tpu_modesel_t mode, unsigned int data_size, char *outptr)
The DES decryption process.
int TPU_DES_Encrypt(const char *plaintext, const char *iv, const char *key, tpu_modesel_t mode, unsigned int data_size, char *outptr)
The DES encryption process.
int TPU_AES_Encrypt(const char *plaintext, const char *iv, const char *key, tpu_ciphersel_t cipher, tpu_modesel_t mode, unsigned int data_size, char *outptr)
The AES encryption process.
#define MXC_V_TPU_CIPHER_CTRL_MODE_CFB
CIPHER_CTRL_MODE_CFB Value.
Definition: tpu_regs.h:257
#define MXC_V_TPU_CIPHER_CTRL_CIPHER_AES256
CIPHER_CTRL_CIPHER_AES256 Value.
Definition: tpu_regs.h:244