This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3220:加密和解密不正确

Guru**** 2564120 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/739670/cc3220-encryption-and-decryption-are-not-correct

器件型号:CC3220

您好!

我使用的是代码的加密和解密方法。

我正在使用 CBC 模式。  

我的钥匙和静脉是

char PIV [17]="abcdefghijkll12\0";  
uint8_t key[17]="abcdefghijklmn12\0";

我的代码如下所示

void mainThread (void * arg0)

CryptoCC32XX_handle cryptoHandle;

CryptoCC32XX_EncryptParams 参数;

CryptoCC32XX_init();

char * data =(char *) calloc (100、1);

strcpy (data、"12345678901234567890123456789012345678901234567890890\0");
UART_PRINT ("\r\n%d\r\n"、strlen (data));
params.AES.PIV =(void *)&PIV [0];

params.AES.keysize = CryptoCC32XX_AES_KEY_SIZE_128位;

params.AES.pkey =(void *)&key[0];//"abcdefghijklmnpq\0";//"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";

unsigned int cip_len = strlen (data);

unsigned int plain_len = cip_len;

unsigned char * plain =(unsigned char *) calloc (cip_len+1、1);

CryptoHandle = CryptoCC32XX_open (Board_CRYPTO0、CryptoCC32XX_AES);

如果(!cryptoHandle){
UART_PRINT ("fail1");
//System_printf ("CryptoCC32XX 未打开");

int ret = CryptoCC32XX_encrypt (cryptoHandle、CryptoCC32XX_AES_CBC、data、(size_t) cip_len、plain、 Plain_len、&params);

if (ret!= CryptoCC32XX_STATUS_SUCCESS)

UART_PRINT ("fail2");
//System_abort ("解密失败\n");

unsigned int plain_len1 = cip_len;

unsigned char * plain1 =(unsigned char *) calloc (cip_len+1、1);

RET = CryptoCC32XX_decrypt (cryptoHandle、CryptoCC32XX_AES_CBC、plain、(size_t) plain_len、plain 1、 Plain_len1、&params);
if (ret!= CryptoCC32XX_STATUS_SUCCESS)

UART_PRINT ("fail3");
//System_abort ("解密失败\n");

UART_PRINT ("\r\nop is %s\r\n"、plain1);
CryptoCC32XX_Close (cryptoHandle);

我 û7890123456789012ù›xFˆ 加密和解密后的结果为“12345678901234567890123456789012345678901234567890”,但接收字符串为“——¯µo3ûÿŠ Ω Võ ΩRegisteredΩ$”

有人能告诉我问题是什么吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Dinkar、

    您是否看过 CC32xx Crypto 驱动程序文档? 它给出了使用 CryptoCC32XX_encrypt()的示例,CryptoCC32XX_decrypt ()的参数应该类似。 请查看"AES 数据加密"部分。

    dev.ti.com/.../

    此致、
    Kristen
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Dinkar、

    我们一段时间没有收到您的回复、因此我们假设您已解决了您的问题。 如果您有任何疑问、请随时在此处发布或打开新主题帖。

    此致、
    Kristen
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我解决了我的问题。 我的字符串长度不在16字节的多 PAL 中、因此我对其进行调整、然后调整其工作。

    Dinkar