108
CY4636 WirelessUSB™ LP Keyboard Mouse Reference Design Kit User Guide, Doc. # 001-70355 Rev. *A
packet with NumLk/ScrLk/Caps Lock data, the bridge listens for an AutoACK packet. The bridge
exits the transmit mode and goes back to 'receive' mode after it receives the AutoACK packet or
after a transmission timeout.
Both the keyboard and the bridge must keep track of the Data Toggle bit for the 'bridge ?? keyboard'
data transmission. The Data Toggle bit is reset to '0' after a successful Bind. The Data Toggle main-
tained in the keyboard is toggled when the keyboard receives a valid Data packet from the bridge.
The Data Toggle maintained in the bridge is toggled when the bridge receives the AutoACK from the
keyboard. If the keyboard receives a mismatched Data Toggle bit from the bridge, it does not update
its Data Toggle and ignores the received Data packet. This Data Toggle is independent of the 'key-
board bridge' Data transmission.
[*The timeout is application specific and should be defined by the developer]
A.3.12
Signature Byte
The WirelessUSB LP RDK uses the SIGNATURE byte to determine if the HID has ever been bound
to any bridge before. If the HID has never bound to a bridge, the non-volatile memory used to store
the SIGNATURE and the bridge's MID data remains in its default value. Once the HID has bound to
a bridge, the SIGNATURE byte is set to 0x90 and the bridge's MID is also stored.
At power up, the HID reads the SIGNATURE and the MID bytes to determine its next action. If the
SIGNATURE byte is 0x90, the HID uses the retrieved MID to calculate the NetworkID and moves to
Re-connect mode. If the SIGNATURE byte is not 0x90, the HID goes to sleep mode, waiting for the
user to initiate the Bind process.
A.3.13
Encryption
Data packets may be encrypted for privacy. All encrypted Data packets shall have a payload of 8
bytes; this is the minimum block size for the encryption algorithm.
WirelessUSB LP uses the Tiny Encryption Algorithm (TEA) to encrypt application data. Some of the
features of TEA are:
■
128-bit encryption key
■
8-byte block size
■
Minimal RAM requirements
■
Small code size
■
Highly resistant to differential crypt analysis
To use the TEA algorithm both the bridge and HIDs must possess the Data Encryption Key. The
bridge is responsible for creating the key, which is then shared with the HIDs. There are a variety of
possible methods to share the key between the two devices. The key may be exchanged over the
WirelessUSB link using the Encryption Key Request and Encryption Key Response packets.
A.3.13.1
Key Management Over WirelessUSB
After binding and connecting to the bridge, the HID transmits an Encryption Key Request Packet and
listens for an AutoACK followed by an Encryption Key Response Packet containing the first half of
the Data Encryption Key. The HID then uses the Key Encryption Key (calculated from the bridge and
the HID MIDs) to decrypt the Data Encryption Key. The HID repeats this process for the second half
of the Data Encryption Key and stores the key in NVRAM. After receiving both halves of the Data
Encryption Key the HID may begin transmitting encrypted data to the bridge.