LR1121
User Manual Rev 1.1
UM.LR1121.W.APP Mar 2023
103 of 130
Semtech
Proprietary & Confidential
www.semtech.com
10.3 Commands
10.3.1 CEStatus
The Crypto Status byte CEStatus indicates the Crypto Engine state. It is returned after each command invoking the Crypto
Engine.
CEStatus:
• 0: CRYP_API_SUCCESS. The previous command was successful
• 1: CRYP_API_FAIL_CMAC. MIC (first 4 bytes of the CMAC) comparison failed
• 2: RFU
• 3: CRYP_API_INV_KEY_ID. Key/Param Source or Destination ID error
• 4: RFU
• 5: CRYP_API_BUF_SIZE. Data buffer size is invalid. For CryptoAesEncrypt(...) the buffer size must be multiple of
16 bytes
• 6: CRYP_API_ERROR. Any other error
10.3.2 CryptoSetKey
Command CryptoSetKey(...) sets a specific Key identified by KeyID into the Crypto Engine:
• KeyID goes from 2 to 27, as defined in Table 10-1: Cryptographic Keys Usage and Derivation. Other values are reserved.
• Key is an array of bytes as defined in the FIPS-197. With the key K (2b7e1516 28aed2a6abf71588 09cf4f3c) provided in
test vectors of the rfc4493, we then have Key1 = 0x2b, Key2 = 0x7e, Key3 = 0x15, Key4 = 0x16 thru to Key16 = 0x3c.
• CEStatus is defined in section CEStatus on page 103.
Table 10-2: CryptoSetKey Command
Byte 0 1 2 3 4 5 … 18
Data from Host 0x05 0x02 KeyID (7:0) Key1 Key2 Key3 … Key16
Data to Host Stat1 Stat2
IrqStatus
(31:24)
IrqStatus
(23:16)
IrqStatus
(15:8)
IrqStatus
(7:0)
… 0x00
Table 10-3: CryptoSetKey Response
Byte 0 1
Data from Host 0x00 0x00
Data to Host Stat1 CEStatus