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.

CC2640R2F: Difference between crypto API and rom_crypto API

Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2640, SIMPLELINK-CC2640R2-SDK, CC2650, AES-128

I am looking into implementing AES on a cc26xx sensor tag. TI provides two APIs that can do this (The crypto API & The rom_crypto API). Unfortunately I could not find an explanation of the differences between both. So far what I understood is that rom_crypto provides on top of AES,  SHA and ECC. Can someone please explain to me what are the differences between both APIs? and the pros & cons of each ?

I am very new to this topic so please forgive my trivial question (for some, I assume) and thank you in advance.

  • Hello,

    Please note the AES & SHA ROM libs were deprecated in CC2640R2F, please use the Crypto TI Driver for AES128 which is safe to use with the BLE Stack.

    For CC2640 (pre-CC2640R2F), the crypto lib is documented in the TI-RTOS SDK:
    file:///C:/ti/tirtos_cc13xx_cc26xx_2_20_01_08/products/cc26xxware_2_24_02_17393/doc/driverlib/group__crypto__api.html

    I'm assuming that you will be using CC2640R2F for your design. In that case, refer to the TI Driver documentation in the SIMPLELINK-CC2640R2-SDK.

    Best wishes
  • Hello, 

    Thank you for the detailed answer. 

    This a bit off topic but I need to ask: So for the CC2640R2F the Crypto TI driver is the one to use, is it also the case for the CC2650 ?

    Best Regards,

  • Yes, the crypto TI driver provides AES-128 encryption. It can be used on CC2640/CC2650 but not when the BLE Stack is performing AES operations.
    There is a SHA library in the CC2640R2 SDK 1.40+

    We do recommend you use CC2640R2F for new BLE designs.

    Best wishes