1.0 SYSTEM OVERVIEW
The following is a list of key terms used throughout this
data sheet. For additional information on KEELOQ and
code hopping, refer to Technical Brief 3 (TB003).
• RKE – Remote Keyless Entry
• Button Status – Indicates what button input(s)
activated the transmission. Encompasses the four
button Status bits S3, S2, S1 and S0 (Figure 7-2).
• Code Hopping – A method by which a code,
viewed externally to the system, appears to
change unpredictably each time it is transmitted.
• Code word – A block of data that is repeatedly
transmitted upon button activation (Figure 7-1).
• Transmission – A data stream consisting of
repeating code words (Figure 7-1).
• Crypt key – A unique and secret 64-bit number
used to encrypt and decrypt data. In a symmetri-
cal block cipher such as the KEELOQ algorithm,
the encryption and decryption keys are equal and
will therefore be referred to generally as the crypt
• Encoder – A device that generates and encodes
• Encryption Algorithm – A recipe whereby data
is scrambled using a crypt key. The data can only
be interpreted by the respective decryption algo-
rithm using the same crypt key.
• Decoder – A device that decodes data received
from an encoder.
• Decryption algorithm – A recipe whereby data
scrambled by an encryption algorithm can be
unscrambled using the same crypt key.
• Learn – Learning involves the receiver calculating
the transmitter’s appropriate crypt key, decrypting
the received hopping code and storing the serial
number, synchronization counter value and crypt
key in EEPROM. The KEELOQ product family
facilitates several learning strategies to be
implemented on the decoder. The following are
examples of what can be done.
- Simple Learning
The receiver uses a fixed crypt key, common
to all components of all systems by the same
manufacturer, to decrypt the received code
word’s encrypted portion.
- Normal Learning
The receiver uses information transmitted
during normal operation to derive the crypt
key and decrypt the received code word’s
- Secure Learn
The transmitter is activated through a special
button combination to transmit a stored 60-bit
seed value used to generate the transmitter’s
crypt key. The receiver uses this seed value
to derive the same crypt key and decrypt the
received code word’s encrypted portion.
• Manufacturer’s code – A unique and secret 64-
bit number used to generate unique encoder crypt
keys. Each encoder is programmed with a crypt
key that is a function of the manufacturer’s code.
Each decoder is programmed with the manufac-
turer code itself.
1.1 HCS Encoder Overview
The HCS encoders have a small EEPROM array which
must be loaded with several parameters before use.
The most important of these values are:
• A crypt key that is generated at the time of
• A 16-bit synchronization counter value
• A 28-bit serial number which is meant to be
unique for every encoder
The manufacturer programs the serial number for each
encoder at the time of production, while the ‘Key
Generation Algorithm’ generates the crypt key
(Figure 1-1). Inputs to the key generation algorithm
typically consist of the encoder’s serial number and a
64-bit manufacturer’s code, which the manufacturer
The manufacturer code is a pivotal part of
the system’s overall security.
Consequently, all possible precautions
must be taken and maintained for this
2001-2015 Microchip Technology Inc.