This tool decodes a raw 66-bit KEELOQ hopping-code RF frame (as captured by an SDR/URH-style receiver) into its encrypted hop code, 28-bit serial number and button/status bits, with an optional bit-order reversal for receivers that capture LSB-first. Captured frames are kept in a log with per-field diff highlighting between consecutive frames and can be exported as CSV.
Separately, it decrypts a hop code into its function, discrimination, sync counter and OVR fields given a 64-bit key, and can derive a device key from a manufacturer key and serial number using the KEELOQ Simple Learning method. It is used for analyzing and testing KEELOQ-based remote-control and access-control systems; all cipher operations run locally in the browser.
KEELOQ IS A PROPRIETARY BLOCK CIPHER BY MICROCHIP TECHNOLOGY INC. USED IN REMOTE KEYLESS ENTRY (RKE) SYSTEMS FOR AUTOMOBILES, GARAGE DOORS, AND ACCESS CONTROL.
UNIQUE TRANSMITTER ID. SENT IN PLAINTEXT. RECEIVER USES IT TO LOOKUP ENCRYPTION KEY. LOWER 10 BITS DUPLICATED IN HOP CODE FOR VERIFICATION.
ROLLING CODE PREVENTS SIMPLE REPLAY. KNOWN VULNERABILITIES:
| # | KEY (64-BIT) | PLAINTEXT | CIPHERTEXT |
|---|---|---|---|
| 1 | 0x0000000000000000 | 0x00000000 | 0x00000000 |
| 2 | 0x0000000000000000 | 0xFFFFFFFF | 0x4CE60100 |
| 3 | 0xFFFFFFFFFFFFFFFF | 0x00000000 | 0xC87E162D |
| 4 | 0xFFFFFFFFFFFFFFFF | 0xFFFFFFFF | 0xFFFFFFFF |
| 5 | 0x5CEC6701B79FD949 | 0xF741E2DB | 0xE44F4CDF |
| 6 | 0x5CEC6701B79FD949 | 0x0CA69B92 | 0xA6AC0EA2 |
| 7 | 0x0123456789ABCDEF | 0x00000000 | 0x0D326BF8 |
| 8 | 0x0123456789ABCDEF | 0xFFFFFFFF | 0x389249C6 |
| 9 | 0x0123456789ABCDEF | 0xDEADBEEF | 0xCBE1B055 |