WirelessUSB™ Protocol 2.2

Figure 2-8. TEA Encryption Key Management

2.6.2AES Encryption

AES_Encrypt requires the two variables tx_packet and AES_Key to be set prior to the call. Each contains a 16 byte (128 bit) value. At the completion of the function tx_packet has been encrypted in- place and contains the cipher text. AES_Key is scheduled in-place during the encryption process, so multiple calls to AES_Encrypt will each need to be proceeded with reloading of AES_Key.

AES_Decrypt is the same as the AES_Encrypt; rx_packet and AES_Key both need to be loaded prior to each call. However there is one small difference (because the decrypt key schedule is in reverse order), the decryption key is not the same as the encryption key. The key used by AES_Decrypt is the same as the key left in the AES_Key field after an execution of AES_Encrypt. This is the key after it has gone through ten rounds of Key scheduling.

30

CY4672 Reference Design Guide, Document # 001-16968 Revision **

[+] Feedback

Page 30
Image 30
Cypress CY4672 manual AES Encryption, TEA Encryption Key Management