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.

[参考译文] 如何在我的应用程序中使用TI-MAC's hal_ccm.h的功能来加密我的用户数据?

Guru**** 2551110 points


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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/589320/how-to-use-the-function-of-ti-mac-s-hal_ccm-h-in-my-application-to-encrypt-my-user-data

我已尝试在我的应用程序中添加SSP_CCM_AUTH_Encrypt。在  SSP_CCM_Encrypt_123ABfinish之后,使用M字符串“0123456789ABCDEF”和M长度为 “0123456789ABCDEF”,并且没有写入密钥“CD067A”。

应该写入什么值A-length?

UINT8 status = FAILURE;
uint8 nonce [13];
uint8 key[16];
uint8* m = VCOM_DATA + 13 + 16;
uint16 m_len = VCOM_len -(13 + 16);

OSAL_MEMcpy( nonce,VCOM_DATA,13);
osal_memcpy( key,VCOM_DATA +13, 16);
//status = SSP_CCM_Auth_Encrypt (TRUE,mval,nonce,M,len_m, A,len_A,AesKey,MAC,ccmLVal);
IF (aesOut ==空)
{
aesOut = osal_mem_alloc( m_len +32);
IF (aesOut)
{
OSAL_memset( aesOut, 0, m_len +32);
aesLen = m_len + 32;
SSP_HW_KeyInit(密钥);
pSspAesEncrypt = sspAesEncryptHW;
状态= SSP_CCM_Auth_Encrypt (TRUE,0,nonce,m,m_len, aesOut + 1.6128万,key,aesOut,0);
}

}
返回状态; 

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

    嘿,Aries,

    您能否提供有关您的问题的更多详细信息?

    以下是函数doxygen:

    /************************************************************************
    *@fn. SSP_CCM_AUTH_Encrypt
    *
    *@brief生成CCM验证标记U
    *
    输入参数
    *@param encrypt (如果设置为true),然后运行加密并设置为'flas'
    (仅用于*验证)。
    *@param mval -八位字节中的验证字段长度[0,2,4,6,8,10,12,14或16]
    *@param N -指向13字节的nonce
    *@param M -指向八位字节字符串'm'
    *@param len_m的指针-八位字节中M[]的长度
    *@param a -指向八位字节字符串'A'
    *@param len_a的指针-八位字节中A[]的长度
    *@param AesKey -指向AES密钥或指向密钥扩展缓冲区的指针。
    *@param Cstate -指向输出缓冲区
    的指针*@param ccmLVal -要使用的CCM L值。
    *
    *输出参数
    *
    **@param Cstate[]-第一个mval字节包含验证标签T
    *
    **@return ZStatus_t
    *
    **/ 

    ~Brocklobsta.