我已將 AES-CCM 加入我的應用程式, 但我不知道要怎麼使用它, 是否有使用範例說明, 我查看了 AESCCM.h 的一些參數說明, 但感還是很模糊, 比如 : aad, nonce, mac 這些 buffer 倒底是用來做什麼的, 在我目前的理解中, AES 就是把一串 string / 資料用密鑰做加解密而已, 所以不了解這些 buffer 是用來做什麼的, 能否給個使用範例或簡單說明, 非常感謝您, 謝謝.
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.
我已將 AES-CCM 加入我的應用程式, 但我不知道要怎麼使用它, 是否有使用範例說明, 我查看了 AESCCM.h 的一些參數說明, 但感還是很模糊, 比如 : aad, nonce, mac 這些 buffer 倒底是用來做什麼的, 在我目前的理解中, AES 就是把一串 string / 資料用密鑰做加解密而已, 所以不了解這些 buffer 是用來做什麼的, 能否給個使用範例或簡單說明, 非常感謝您, 謝謝.
那麼是否有使用範例 ? AESCCM.h 有一些簡單的範例, 我按照它的方式 initial AES 並使用了它, 可是一旦執行了 AESCCM_oneStepEncrypt() 加這個密程式就會當機, 另外, 我無法加入 AESCCM_OneStepOperation_init(....); 這個API, 看來目前 SDK 己經找不到了, 我目前使用 AESCCM_Operation_init() 來代替, 這樣是不是就無法使用 AESCCM_oneStepEncrypt() 這個 API, 因此造成當機, 謝謝.
例程就是此前的C:\ti\simplelink_cc13xx_cc26xx_sdk_6_10_00_29\examples\rtos\CC26X2R1_LAUNCHXL\drivers\aesKeyAgreement
readme文件介绍了例程的使用说明
我無法加入 AESCCM_OneStepOperation_init(....); 這個API, 看來目前 SDK 己經找不到了
应该不是这个原因
API可以在C:\ti\simplelink_cc13xx_cc26xx_sdk_6_10_00_29\source\ti\drivers\AESCCM.c找到
我在 AESCCM.c 找不到 AESCCM_OneStepOperation_init 這個 Functon , 我用的是 simplelink_cc13x2_26x2_sdk_5_10_00_48 SDK 和 simplelink_cc2640r2_sdk_4_10_00_10 SDK, 我做了一個測試程式, 能否幫我看下是那有問題, 謝謝.
我看了下SDK5.10的程序是初始版本,确实没有这个API,建议你升级到SDK6.10测试
CC2640r2没有提供AES例程,相关的API也不完整,要自己做一些移植,实现起来要更复杂一些
TI SDK 裏有一堆 AES 程式和函式庫令我眼花撩亂, 我對 AES 不熟, 站在使用端, 我並不想了解它是如何加解密的, 但的確實需要了解它是如何使用的我現在再看 aesKeyAgreement 這個範例, 感覺太過複雜, 這個程式開了二個 Task 來做收發, 並且加解密的方式的流程和我要連接另一個裝置也不太一樣, 怕是努力了一陣子結果因為有差異而接不上, 我使用另一顆晶片同樣是用 AES CCM 它們的範例就是直接 initial 完後, 直接帶入 buffer 去做加解密即可, 目前連 TI 的 SDK 連執行 AESCCM_oneStepEncrypt 都當機, 連 try in error 的機會都沒有.
AESCCM_OneStepOperation_init在SDK5.10中没有被添加,完整的AES例程需要使用SDK6.10,
不同厂商设备的采用的AES加密不同,确实可能会存在兼容性的问题,因此需要进一步了解AES,才有可能做到兼容