微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > 谁用过TI蓝牙协议栈的加密解密函数?

谁用过TI蓝牙协议栈的加密解密函数?

时间:10-02 整理:3721RD 点击:
想使用CC254X的硬件AES加密功能来加密数据,看到有一个函数HCI_LE_EncryptCmd,但不知道怎么用,可以输入key和明文数据,执行完不知道数据输出到什么地方了。

  1. extern hciStatus_t HCI_LE_EncryptCmd( uint8 *key,
  2. uint8 *plainText );

复制代码

  1. /*******************************************************************************
  2. * @fn LL_EXT_Decrypt API
  3. *
  4. * [url=home.php?mod=space&uid=159083]@brief[/url] This API is called by the HCI to request the LL to decrypt the
  5. * data in the command using the key given in the command.
  6. *
  7. * Note: The parameters are byte ordered MSO to LSO.
  8. *
  9. * input parameters
  10. *
  11. * @param *key - A 128 bit key to be used to calculate the
  12. * session key.
  13. * @param *encryptedData - A 128 bit block that is encrypted.
  14. *
  15. * output parameters
  16. *
  17. * @param *plaintextData - A 128 bit block that is to be encrypted.
  18. *
  19. * @param None.
  20. *
  21. * @return LL_STATUS_SUCCESS
  22. */
  23. extern llStatus_t LL_EXT_Decrypt( uint8 *key,
  24. uint8 *encryptedData,
  25. uint8 *plaintextData );

复制代码




  1. /*******************************************************************************
  2. * @fn LL_Encrypt API
  3. *
  4. * @brief This API is called by the HCI to request the LL to encrypt the
  5. * data in the command using the key given in the command.
  6. *
  7. * Note: The parameters are byte ordered MSO to LSO.
  8. *
  9. * input parameters
  10. *
  11. * @param *key - A 128 bit key to be used to calculate the
  12. * session key.
  13. * @param *plaintextData - A 128 bit block that is to be encrypted.
  14. *
  15. * output parameters
  16. *
  17. * @param *encryptedData - A 128 bit block that is encrypted.
  18. *
  19. * @param None.
  20. *
  21. * @return LL_STATUS_SUCCESS
  22. */
  23. extern llStatus_t LL_Encrypt( uint8 *key,
  24. uint8 *plaintextData,
  25. uint8 *encryptedData );

复制代码

自己解答

建议不要使用这个文件里面的加解密API。
试试AES.C里面的。

你说的是“hal_aes.c”文件吗?
现在这种加解密会有哪些问题?

我使用的是hal_aes.c里面的加密,不过CCM模式是自己写的,其他模式应该都是可以直接用的。
HCI层的加解密函数目前没有用,不过不建议使用。

看这个API的名字貌似是协议栈调用的,你如果直接使用的话,协议栈调用的时候可以与你调用的时候存在冲突。

的确这个函数同样有其它代码调用,你的意思是他对推荐用户调用?或者协议栈没有对这部份代码做“线程锁”处理?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top