亲爱的先生们,
我们正在尝试使用 CC3235MODASF 器件上的驱动程序 CryptoCC32XX 对纯文本进行加密/解密。
我们的代码基于头文件示例、如下所示:
CryptoCC32XX_Handle 手柄;
CryptoCC32XX_EncryptMethod 方法= CryptoCC32XX_AES_ECB;
CryptoCC32XX_EncryptParams 参数;
unsigned char plain Data[16]="whathoever123456";
unsigned int plain DataLen = sizeof (plain Data);
unsigned char newData[16]="";
unsigned int newDataLen = sizeof (newData);
unsigned char CipherData[200];
unsigned int cipherDataLen;
params.AES.keysize = CryptoCC32XX_AES_KEY_SIZE_128bit;
params.aes.pkey ="1234567890123356";// desiredKey 长度应该为 desiredKeySize
CryptoCC32XX_init ();
Handle = CryptoCC32XX_OPEN (CONFIG_Crypto_0、CryptoCC32XX_AES |CryptoCC32XX_DES |CryptoCC32XX_HMAC);
如果(!handle){
uart_print ("打开加密句柄\n\r\n 时出错");
}
RetVal = CryptoCC32XX_encrypt (handle、method、plain Data、Idlen、CipherData、&csipherDataLen、¶ms);
RetVal = CryptoCC32XX_解密(Handle、方法、CipherData、CipherDataLen、newData、&newDataLen、 参数(&P);
加密函数返回-1、执行以下代码时失败:
int32_t CryptoCC32XX_aesProcess (uint32_t cryptoMode、uint32_t cryptoDirection、uint8_t * pInBuff、uint16_t inLen、uint8_t * pOutBuff、 CryptoCC32XX_EncryptParams * pParams)
{
int32_t count = CryptoCC32XX_Context_READY_MAX_COUNTER;
/*
第1步:启用中断
步骤2:等待上下文就绪中断
步骤3:设置配置参数(方向、AES 模式和密钥大小)
步骤4:设置初始化矢量
步骤5:写入密钥
步骤6:启动加密过程
*/
/*清除标志。 */
g_bAESReadyFlag = false;
/*启用所有中断。 */
MAP_AESIntEnable (AES_BASE、AES_INT_context_in | AES_INT_context_out | AES_INT_DATA_IN | AES_INT_DATA_OUT);
/*等待标志中的上下文、该标志将在中断处理程序中设置。 */
while ((!g_bAESReadyFlag)&&(计数> 0))
{
计数----
}
如果(count == 0)
{
Return CryptoCC32XX_STATUS_ERROR;
}
计数始终等于零、因此它返回 STATUS_ERROR
您能告诉我们如何解决这个问题吗?
谢谢