30 CY4672 Reference Design Guide, Document # 001-16968 Revision **
WirelessUSB™ Protocol 2.2
Figure 2-8. TEA Encryption Key Management
2.6.2 AES 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.
[+] Feedback