Fact-checked by Grok 2 weeks ago

Rolling code

A rolling code, also known as a hopping code, is a employed in unidirectional wireless communication systems to generate a unique code for each transmission, thereby preventing replay attacks where an intercepted signal could be reused to gain unauthorized access. This mechanism relies on a key between the transmitter and receiver, combined with a sequential counter that increments after every valid transmission, ensuring that previously used codes become invalid. In operation, the transmitter computes the code as a of the secret and the current value, often using symmetric algorithms such as or block ciphers like KeeLoq, and appends it to the message payload. The receiver maintains a record of the last validated and accepts incoming codes only if they fall within a predefined "rolling window" of acceptable values (typically 16 to 100 increments ahead), after which it updates its counter to with the transmitter. This process, initiated during a "learn " where the and initial counter are exchanged, allows the system to tolerate minor desynchronizations due to lost signals while maintaining forward . Rolling codes are widely applied in remote keyless entry (RKE) systems for automobiles, openers, and passive entry mechanisms, where they provide robust protection against simple by invalidating each code upon reception. Common implementations include the KeeLoq algorithm, historically used in millions of devices but later found vulnerable to cryptanalytic attacks, and more secure variants based on for modern systems. Despite their effectiveness, rolling code protocols can be susceptible to advanced threats like signal jamming or roll-back attacks if windows are not tightly managed, underscoring the need for ongoing cryptographic enhancements.

Fundamentals

Definition and Purpose

A rolling code, also known as a hopping code, is a security protocol employed in one-way communication systems, where the transmitter and receiver share a secret key and synchronized to generate unique, one-time codes for each transmission, rendering previous codes invalid upon use. This approach ensures that the codes evolve dynamically, typically based on a that increments with each valid interaction. The primary purpose of rolling codes is to bolster security in wireless systems by thwarting replay attacks, in which an adversary intercepts a legitimate signal and retransmits it to gain unauthorized access; since each transmission advances the counter, any replayed code becomes obsolete and is rejected by the receiver. By making codes unpredictable without the shared , this also resists and code capture attempts, where attackers try to record and reuse signals. Additionally, it provides protection against basic man-in-the-middle attacks by tying validity to the advancing sequence, preventing simple signal relay from succeeding. Typical rolling code implementations feature code lengths ranging from 28 to 66 bits to balance and transmission efficiency, often operating at radio frequencies such as 315 MHz in or 433 MHz in and other regions. For example, in a , each button press on the remote transmitter generates a fresh derived from the current value, which the authenticates against its own before activating the . While effective, maintaining synchronization between devices is crucial to avoid validation failures.

Historical Development

The development of rolling codes originated in the early as a security enhancement for systems, addressing the limitations of fixed-code technologies that were vulnerable to replay attacks through code-grabbing devices prevalent in the . Initial implementations focused on and industrial remote controls, where dynamic code generation ensured secure, non-repeating transmissions to prevent unauthorized access. Commercial adoption began in 1996 when introduced the Security+ system for openers, employing a patented rolling code technology that generated billions of unique codes to thwart interception and replay. This marked a significant shift in consumer products, expanding rapidly to automotive keyless entry systems in the mid-1990s for enhanced anti-theft protection. The KeeLoq algorithm, developed in the 1980s by Nanoteq in and acquired by in 1995, was integrated into widespread rolling code implementations in the late , enabling efficient code hopping in low-power transmitters for both garage and automotive applications. Post-2000 developments saw a transition to stronger cryptographic methods, such as AES-based rolling codes, driven by disclosed vulnerabilities in earlier systems like KeeLoq, resulting in more robust standards by the mid-2010s. The evolution of rolling codes was propelled by responses to 1980s fixed-code exploits, such as widespread garage door hacking, and regulatory pressures from FCC Part 15 rules limiting interference in unlicensed RF bands, necessitating efficient, secure signaling. By the 2020s, adaptations for IoT and smart homes incorporated tri-band rolling codes and extended synchronization windows, as seen in systems like LiftMaster's Security+ 3.0 launched in 2025, supporting seamless integration with connected ecosystems while maintaining backward compatibility.

Operational Principles

Basic Mechanism

In rolling code systems, the transmitter and receiver share an initial secret key and a synchronized counter value, typically a 32-bit integer, which serves as the basis for generating unique transmission codes. Upon activation, the transmitter increments its counter and encrypts the new value using the shared key to produce a one-time code, which is then transmitted along with any necessary command data. The receiver, upon receiving the transmission, decrypts the code using the same key and compares it against its expected counter value; if it matches the anticipated next value or falls within an acceptable range, the transmission is validated, and both devices advance their counters accordingly. The core generation process can be expressed mathematically as: \text{Code} = \text{Encrypt}(\text{Key}, \text{Counter}) where \text{Encrypt} is a , such as a or a simpler operation like XOR combined with a pseudorandom , ensuring the code cannot be predicted or reused without the . This encryption binds the to the , producing a unique output for each increment that protects against replay attacks by invalidating prior codes. To handle potential lost transmissions, the maintains a forward acceptance , often 16 to 100 values ahead of its current expected depending on the , enabling tolerance for missed signals without requiring immediate resynchronization. If a received falls within this , the updates its expected value to the transmitted plus one, effectively skipping over any undetected prior increments. Codes outside this , whether too old or excessively far ahead, are rejected to maintain . For illustration, consider a simplified 16-bit rolling code example using XOR encryption: Transmitter Pseudocode:
counter = initial_counter  // Shared 16-bit value, e.g., 0x0000
key = shared_secret        // 16-bit key, e.g., 0xABCD

function generate_code():
    global counter
    counter = (counter + 1) % 65536  // Increment and wrap if needed
    code = counter XOR key           // Simple Encrypt: bitwise XOR
    transmit(code)
Receiver Pseudocode:
expected_counter = initial_counter  // Starts synchronized
window_size = 256                   // Allows up to 256 ahead
key = shared_secret

function validate_and_update(code):
    global expected_counter
    decrypted = code XOR key         // Decrypt
    if decrypted == expected_counter:
        expected_counter = (expected_counter + 1) % 65536
        return true  // Accept
    elif expected_counter < decrypted <= (expected_counter + window_size):
        expected_counter = (decrypted + 1) % 65536
        return true  // Accept within window
    else:
        return false  // Reject
This basic flow ensures sequential uniqueness while providing robustness against minor desynchronization due to transmission losses.

Synchronization Methods

Initial synchronization in rolling code systems typically occurs during manufacturing or user setup, where a key and initial value are programmed into both the transmitter and . In factory settings, these values are set identically to establish alignment from the outset. For user-added devices, such as replacement remotes, a learning mode is activated on the —often via a physical switch or button press—which allows it to capture the transmitter's current value and secret key, typically encrypted for during transfer. This process ensures both parties start from the same point in the code sequence. Maintaining synchronization relies on incremental counter advancement, where each valid updates the in both transmitter and . To handle minor desynchronizations from or missed transmissions, receivers employ an acceptance , typically allowing codes 1 to 16 (or up to 100 in some implementations), preventing immediate lockout while limiting windows. For instance, in systems using storage, the persists through power cycles, and the 's slides forward upon successful validation. Timestamps or additional sync s may supplement this in advanced setups to further mitigate drift from . sizes vary by system; for example, KeeLoq uses a 16-bit with a normal of 16 and resync up to 32,768; Atmel recommends a 32-bit with a of 100; Holtek supports windows of 1-16 normally and up to 32,767 for reconfirmation. Resynchronization protocols address larger desynchronizations, such as those caused by extended non-use or multiple lost packets. Common methods include resync sequences using a sync —a special with a fixed or zeroed field that resets the 's to match. In two-way systems, acknowledgments from the confirm and the transmitter's , reducing desync . Sync frames, often 45-96 bits long and including a timing reference, can be transmitted separately or embedded in regular frames for recovery after battery replacement. Challenges in synchronization arise from battery failure, which erases volatile counters, or environmental interference causing packet loss and counter drift. Solutions include non-volatile storage like EEPROM to retain sync counts across power losses and configurable window sizes (e.g., 16 for normal use, expanding to 32,767 for reconfirmation) to balance usability and security. Window limits prevent exhaustive search attacks by capping acceptable deviations, ensuring desync forces a manual resync rather than brute-force recovery. In automotive keyless entry systems, resynchronization often requires physical key insertion into the ignition to enter programming mode, mitigating remote exploitation risks during the process.

Implementation Techniques

Algorithmic Approaches

Rolling codes employ various algorithmic methods to generate pseudo-random sequences that ensure each transmission uses a unique code, preventing replay attacks in systems like remote keyless entry. These approaches typically rely on deterministic processes shared between transmitter and receiver, such as incrementing counters or shifting registers, to produce the sequence without requiring real-time beyond initial setup. Common techniques include counter-based hopping, where a sequential value is advanced with each use, and time-based hopping, where the code derives from a synchronized clock or to create time-windowed validity. Linear feedback shift registers (LFSRs) are frequently used for their efficiency in generating long pseudo-random sequences on resource-constrained devices. In counter-based systems, a simple XORs an incrementing with a fixed to diversify the output , providing a basic yet effective hopping mechanism. More advanced methods utilize truncated stream ciphers or LFSRs to enhance unpredictability while maintaining low complexity. For LFSRs, the feedback bit is computed by XORing the current state bits at positions defined by the feedback polynomial (taps). The next state is obtained by shifting the and inserting this feedback bit at the input end. This produces a maximal-length for primitive polynomials, cycling through $2^n - 1 states for an n-bit before repeating. Block ciphers can also encrypt the counter to yield pseudo-random outputs, though the focus here is on the structural rather than cryptographic strength. Code diversity is critical to minimize collision risks, with an n-bit code space offering up to $2^n unique values; for instance, a 28-bit code provides approximately 268 million possibilities, sufficient for practical lifetimes without repetition. In counter-based designs, a 16-bit combined with 12-bit key diversification (e.g., via XOR or modular ) expands the effective space to $2^{28}, ensuring collisions are negligible over typical usage. Upon sequence exhaustion—rare due to large bit lengths—systems handle wrap-around by resetting or accepting synchronized overflows, though modern implementations use bit lengths exceeding to avoid this entirely. Time-based hopping, by contrast, leverages periodic timestamps incremented at short fixed time intervals to generate codes valid only within short windows, reducing desynchronization issues in intermittent environments but requiring clock accuracy. Performance in devices prioritizes minimal computational overhead, as transmitters often run on low-power microcontrollers with limited life. LFSR-based requires only shift and XOR operations, consuming fewer cycles than full ciphers—typically under 10 clock cycles per bit—while counter-XOR methods are even simpler, enabling transmission in milliseconds. Trade-offs include balancing length against draw; longer registers increase but enhance , whereas shorter ones favor in high-volume applications like automotive fobs. These algorithms ensure robust operation without excessive resource demands.

Cryptographic Enhancements

To enhance the security of rolling codes against cryptanalytic attacks, key management practices emphasize the derivation of manufacturer-unique keys from device-specific identifiers, such as serial numbers, to ensure diversification across devices. This approach prevents a single key compromise from impacting an entire product line, as each transmitter-receiver pair shares a unique session key derived from a base manufacturer key combined with the device's unique ID. For instance, in secure wireless link implementations, a 128-bit AES key is generated per transmitter using the manufacturer code and serial number, stored securely in EEPROM during provisioning. Advanced cryptographic primitives have been integrated into rolling code systems to provide stronger integrity and confidentiality, including the use of AES for code encryption and HMAC or CMAC for authentication. In these schemes, the transmitted code is computed as a message authentication code over the counter and a nonce, such as \text{Code} = \text{HMAC}(K, \text{Counter} \parallel \text{Nonce}) or equivalently using AES-CMAC, where K is the shared key, ensuring that intercepted codes cannot be forged without knowledge of K. Digital signatures, often based on hash functions combined with symmetric primitives, further verify message integrity without requiring public-key overhead in resource-constrained devices. These enhancements replace weaker proprietary ciphers, providing resistance to collision and preimage attacks inherent in older rolling code algorithms. Two-way authentication extends traditional one-way rolling codes by incorporating challenge-response mechanisms, where the issues a that the transmitter signs or encrypts using the shared key before responding. This mutual prevents unauthorized devices from initiating sessions, as seen in automotive protocols where the vehicle sends an encrypted (e.g., c = E_K(\text{Car_ID})), and the key fob responds with a key-derived operation . Such extensions ensure bidirectional in keyless entry systems, mitigating man-in-the-middle risks. Compliance with standards like NIST FIPS 197 for and SP 800-38B for CMAC has driven post-2010 enhancements in rolling code implementations, particularly for applications requiring lightweight cryptography. These guidelines promote modes suitable for low-power devices, with masked implementations of to resist side-channel attacks by randomizing intermediate values during computation, thereby preventing power or timing from leaking key information. In constrained environments like remote keyless systems, such masking increases the number of shares (e.g., first-order masking splits secrets into two random parts) to achieve higher security orders against differential . In the 2020s, there have been proposals to integrate () into rolling code systems to enable shorter codes with equivalent security levels to longer symmetric keys, leveraging 's efficiency for in vehicle keyless entry. Protocols using for one-pass entity generate compact signatures (e.g., 256-bit keys offering 128-bit security) derived from points, reducing transmission overhead while maintaining through ephemeral keys. This exploration aligns with NIST's lightweight standards, such as Ascon, but prioritizes for signature-based enhancements in automotive .

Applications

RF Remote Controls

Rolling codes are widely employed in radio frequency (RF) remote controls for non-automotive consumer applications, particularly in openers and gate controllers, to enhance security against unauthorized access by generating unique transmission codes for each use. These systems transmit signals unidirectionally from the handheld remote to the receiver unit mounted on the opener or controller, preventing replay attacks that were common in earlier fixed-code devices. A prominent example is Chamberlain's Security+ 2.0 system, introduced in 2011, which utilizes a rolling code payload split into transmitted packets for added robustness. Implementation in these RF remotes typically operates on unlicensed bands at 315 MHz or 390 MHz, allowing for reliable one-way communication over distances up to 100 meters in open environments, though actual range varies with obstacles and power output. Remotes often feature multiple buttons for controlling various functions, such as opening/closing the door or activating lights, with each button triggering a synchronized based on the shared between remote and . For , the basic involves the remote and opener maintaining a rolling that advances with each valid , accepting codes within a narrow to account for missed signals. Security is bolstered by features like auto-learn programming, where users press a "learn" on the opener to pair a new remote, automatically synchronizing the initial code without manual entry. Some advanced models incorporate (FHSS) across multiple bands, such as 310 MHz, 315 MHz, and 390 MHz, to resist attempts by rapidly switching frequencies. By the early , rolling code technology had become the standard in the majority of new U.S. openers, driven by industry shifts toward enhanced following vulnerabilities in fixed-code systems. Despite these advancements, RF remote controls face challenges in urban environments, where limited range—often reduced to under 50 meters due to building materials and multipath fading—can hinder usability. Electromagnetic interference from nearby devices, such as wireless networks, LED , or other 315/390 MHz transmitters, further degrades signal reliability, necessitating extensions or signal boosters in dense settings.

Automotive Keyless Systems

Remote keyless entry (RKE) systems in automobiles utilize key fobs that transmit rolling codes via signals, typically at 433 MHz in and parts of , to securely lock and unlock vehicle doors. These systems generate a unique code for each transmission, preventing replay attacks by ensuring that previously used codes are invalid. The rolling code mechanism enhances security over fixed codes, allowing drivers to operate the fob from a distance of up to 100 meters without physical contact. Early widespread adoption occurred in the late , with manufacturers integrating rolling codes into production models to meet growing demands for convenience and theft prevention. Passive keyless entry and go (PKE) systems extend RKE functionality by incorporating proximity detection, where the vehicle periodically sends ultra-low frequency (ULF) challenges to the key fob to verify its presence without button presses. Upon detecting the fob within range—typically 1-2 meters—the system automatically unlocks and authorizes engine start via rolling codes embedded in the response . This bidirectional communication ensures that start authorization requires not only proximity but also a valid, synchronized rolling code to prevent unauthorized access. Rolling codes in PKE maintain with the vehicle's (), briefly referencing methods like counter-based alignment to handle desynchronization from missed transmissions. Modern PKE systems increasingly incorporate (UWB) for precise proximity detection, enhancing resistance to relay attacks while maintaining rolling code . Integration of rolling codes with the vehicle's controller area network (CAN) bus enables seamless synchronization with the immobilizer system, where the validated code from the key fob or PKE response is relayed to the engine control module to disable anti-theft measures and permit ignition. Multi-antenna receivers in the vehicle enhance this integration by triangulating signal strength and direction from the fob, effectively mitigating relay attacks that attempt to amplify and forward signals over longer distances. These antennas, often positioned at multiple doors and the dashboard, allow the system to discern genuine proximity and reject relayed signals that fail geometric or timing checks. Automotive keyless systems incorporating rolling codes may comply with , the international standard for in road vehicles, which mandates and fault-tolerant design for electronic systems, typically at ASIL B or lower for functions to minimize hazards from failures. Adoption has surged, with approximately 80% of new vehicles globally equipped with keyless entry by 2015, rising to over 95% by 2025 due to consumer preferences for hands-free operation and regulatory pushes for . In electric vehicles (EVs), rolling codes support app-based access through integration, where (BLE) syncs codes between the mobile device and vehicle for remote unlocking and preconditioning, maintaining security via encrypted, one-time-use transmissions.

Comparisons

Versus Fixed Codes

Fixed codes, also known as static codes, function by repeatedly transmitting the same unchanging identifier or code sequence from the transmitter to the receiver, a design that was common in early wireless remote control systems like garage door openers during the 1970s and 1980s. This approach relied on dip switches or simple binary addressing to set a unique code, but it offered minimal protection against interception. Attackers could use devices called code grabbers—handheld receivers available since the 1980s—to capture the signal from a distance of hundreds of feet and immediately replay it to activate the system, enabling unauthorized access without any need for decryption. Rolling codes address these vulnerabilities through a dynamic that advances a shared counter or generates a new pseudorandom value with each transmission, using to ensure only valid, unused codes are accepted by the receiver. This sequence advancement renders any intercepted signal obsolete for future use, as the receiver discards codes outside an expected window of recent values. In stark contrast, fixed codes allow unlimited reuse of the captured signal, making them perpetually exploitable by even rudimentary replay tools and exposing systems to repeated break-ins. From a practical standpoint, fixed codes are simpler to implement, requiring no ongoing or computational overhead beyond initial , which keeps manufacturing and deployment costs low. Rolling codes, however, demand more sophisticated hardware for , storage of synchronization states, and error-tolerant windowing to handle , resulting in higher overall system costs. Despite this added expense, rolling codes substantially mitigate risks of signal , a primary vector for in fixed code environments, thereby enhancing reliability in security-critical applications. The widespread shift from fixed to rolling codes began in the mid-1990s, prompted by the proliferation of affordable code grabbers that exploited the static nature of earlier systems. This transition was accelerated by manufacturers introducing rolling code protocols to meet growing security demands, with some interim hybrid systems—like multi-code or learning codes—providing partial defenses by expanding code pools but ultimately proving insufficient against determined attackers. Full adoption of rolling codes largely phased out these hybrids by the late 1990s, establishing them as the standard for modern remote controls.
AspectFixed CodesRolling Codes
SecurityLow: Susceptible to capture-and-replay attacks using code grabbersHigh: Invalidates replays through dynamic code advancement and
ComplexityLow: Simple static transmission with no needsMedium: Requires counter management, key-based generation, and resynchronization
CostLower: Minimal hardware and no dynamic processingHigher: Added components for and tracking
SynchronizationNone after setup: accepts identical codes indefinitelyRequired: Shared must align, with windows for tolerance

Versus Challenge-Response Systems

Challenge-response authentication systems operate on an interactive model where the receiver, such as a , generates and transmits a random to the transmitter, typically a fob. The transmitter then encrypts this using a and returns the response, which the receiver verifies to authenticate the request. This mechanism is commonly employed in bidirectional remote keyless entry (RKE) systems, including two-way fobs that support confirmation signals. In contrast to rolling codes, which rely on unidirectional communication and a pre-shared, predictable sequence of codes (such as an incrementing ), challenge-response systems are interactive and use non-predictive random challenges for each session. This non-determinism in challenge-response protocols inherently resists replay attacks more effectively, as captured challenges cannot be reused without the corresponding response computation. However, it necessitates bidirectional communication channels, unlike the one-way broadcasts typical of rolling codes. Rolling codes offer simplicity and efficiency, making them suitable for battery-constrained devices like traditional key fobs, where minimal processing and transmission power are prioritized. Challenge-response systems, while providing stronger protection against and replay due to their dynamic, per-session , introduce higher latency from the round-trip exchange and increased power consumption from computations. These trade-offs position rolling codes as a legacy choice for basic RKE in older vehicles, whereas challenge-response is favored in modern passive keyless entry (PKE) and digital solutions, such as Apple's CarKey introduced in , which integrates (UWB) for proximity verification alongside cryptographic challenges. From a perspective, rolling codes are susceptible to desynchronization attacks, where an attacker jams legitimate transmissions to force the receiver to advance its expected window, potentially blocking future valid authentications. Challenge-response systems mitigate capture-replay threats but remain vulnerable to attacks, in which an adversary intercepts and forwards the to a distant legitimate transmitter and relays the response back, enabling unauthorized access without breaking the .

Specific Protocols

KeeLoq

KeeLoq is a developed in the by Gideon Kuhn at Nanoteq Pty Ltd in and acquired by Inc. in 1995 as part of a portfolio valued at over $10 million. Designed as a lightweight 64-bit key, 32-bit , KeeLoq employs a non-linear (NLFSR) structure with a nonlinear involving five variables, performing over 528 s structured as eight full rounds plus one partial round. The encoding process in KeeLoq combines a 28-bit discriminator (serving as the device or ID), a 16- or 32-bit for , and a 4-bit code indicating the button press, forming a 32-bit block that is encrypted using the NLFSR-based and a 32-bit manufacturer-specific (derived from the 64-bit ). This results in a 32-bit transmitted alongside the unencrypted discriminator, enabling the receiver to decrypt and verify the against expected values to prevent replay attacks. The design prioritizes low computational overhead for resource-constrained devices, making it suitable for (RF) applications. KeeLoq gained widespread adoption through Microchip's HCS301 encoder chip, introduced in the late , which integrated for secure remote keyless entry (RKE) systems. Widely adopted in millions of devices worldwide by the mid-2000s, including openers from manufacturers like and Overhead Door, as well as automotive RKE in vehicles from brands such as , , and , it remained prevalent until the early 2010s. Despite its popularity, KeeLoq proved vulnerable to known-plaintext attacks, with a practical algebraic demonstrated in 2006 that could recover keys using modest computational resources and a small number of plaintext-ciphertext pairs. These revelations underscored the cipher's limitations due to its short key length and simple structure, leading to its discontinuation for new designs after 2010 in favor of enhanced variants combining KeeLoq synchronization with stronger ciphers like . Nonetheless, KeeLoq's foundational approach to code hopping influenced subsequent rolling code protocols, establishing a legacy in low-power security for .

Modern Variants

Modern rolling code protocols have evolved to incorporate advanced , particularly AES-128 , to address the limitations of earlier systems. For instance, Chamberlain's myQ platform, introduced in 2013, employs rolling code hopping for securing communications between cloud-synced remotes and openers, enabling remote access while preventing replay attacks through synchronized codes. In automotive applications, similar AES-128-based rolling codes are integrated into remote keyless entry (RKE) systems, where the key fob generates a unique encrypted counter value for each transmission, ensuring between the vehicle and device. Proprietary implementations further strengthen these protocols. Microchip Technology's Ultimate KeeLoq, a direct evolution of the original KeeLoq framework, replaces the legacy cipher with AES-128 and a 128-bit programmable , incorporating a timer-driven counter to mitigate resynchronization vulnerabilities while supporting secure RKE in vehicles and access controls. Similarly, ' Hitag Pro transponders utilize 128-bit AES encryption for RFID-based vehicle immobilization, featuring challenge-response mechanisms and encrypted data transmission to protect against cloning in automotive s. In ecosystems, rolling code adaptations leverage AES-128 within standards like for smart locks, where devices such as August models from the early 2020s employ this encryption alongside two-factor to secure virtual key sharing and remote unlocking, ensuring bank-grade protection for home access. Standards like (BLE) also use AES-128 with session keys for secure connections in wearables, providing rolling code-like protection against replay in proximity . Recent standards, including IEEE 802.15.4z ratified in 2020 with ongoing enhancements in related amendments as of 2025, enhance UWB communications in wearables with secure ranging protocols that incorporate scrambled timestamp sequences, effectively functioning as advanced rolling codes to counter relay attacks in proximity-based . Compared to the original KeeLoq's 64-bit key, which offers effective security below 56 bits due to known cryptanalytic weaknesses allowing key recovery in feasible time, modern variants achieve full 128-bit security levels, dramatically increasing resistance to brute-force and side-channel attacks.

Vulnerabilities

Rolljam Attack

The Rolljam attack is a vulnerability exploitation in early rolling code systems, first demonstrated by security researcher Samy Kamkar in 2015. It involves using a low-cost device to jam the legitimate radio signal from a key fob, capture the intended rolling code, and strategically replay a prior code to advance the receiver's counter without the owner's knowledge, enabling unauthorized access later. This attack targets one-way communication systems where the receiver accepts codes within a limited synchronization window, typically around 256 codes, making it effective against pre-2015 implementations. The mechanics require a compact with at least two radio transceivers operating on common frequencies such as 315 MHz in , one for jamming and one for capturing and replaying signals. When the owner presses the key fob button, the device detects the transmission and jams the receiver (e.g., the vehicle's or garage opener's antenna) with noise to prevent reception, while simultaneously recording the rolling code transmitted by the fob, denoted as C_n. The owner, noticing no response, presses the button again, transmitting C_{n+1}; at this point, the attacker replays C_n to the receiver, which validates and accepts it as the next expected code, unlocking the system and advancing the receiver's counter to expect C_{n+1}. The attacker retains C_{n+1} for future use, achieving synchronization without alerting the owner, as the second press appears to succeed normally. \text{Receiver counter advances via replay: } R \leftarrow R + 1 \text{ after accepting } C_n, \text{ syncing to captured } C_{n+1} This process exploits the brief transmission windows and lack of jamming resistance in early systems. The attack impacted tens of millions of garage door openers and vehicles from manufacturers including Nissan, Toyota, Ford, Chrysler, and brands like Chamberlain and Genie, all using vulnerable rolling code protocols prior to 2015. Kamkar demonstrated Rolljam at DEF CON 23 in 2015 using a $30 device built with off-the-shelf components like Texas Instruments CC1101 transceivers, highlighting its practicality for widespread unauthorized entry without physical traces. Mitigations include expanding synchronization windows to reduce desynchronization risks, implementing jamming detection to alert users of interference, and adopting two-way confirmation protocols with encrypted acknowledgments. Chamberlain systems received firmware updates post-2011 incorporating stronger Security+ 2.0 rolling codes with enhanced encryption, which resist such exploits by using larger code spaces and tri-band operation.

Recent Exploits (Post-2020)

In 2022, researchers disclosed the Rolling-PWN vulnerability in Honda's remote keyless entry (RKE) systems, which exploited weaknesses in the rolling code implementation to enable replay attacks from long distances. This flaw, affecting models produced between 2012 and 2022, stemmed from predictable synchronizing counters in the key fob's rolling code generation, allowing attackers to intercept signals, block subsequent codes, and replay older ones to unlock doors or start the engine without alerting the owner. The attack targeted immobilizer systems indirectly through poor key storage and code hopping, demonstrating how legacy rolling code designs could be undermined even in modern vehicles. That same year, the attack was presented at , introducing a time-agnostic replay method against RKE rolling codes, particularly effective in car-sharing scenarios where key fobs are accessible. Unlike traditional replays requiring precise timing, RollBack resynchronizes the counter after jamming and replaying a captured code, bypassing desynchronization protections in one-way rolling code protocols. This vulnerability highlighted ongoing issues with counter management in automotive systems, affecting multiple manufacturers using similar unidirectional schemes. By 2023, relay attacks on passive keyless entry (PKE) systems persisted despite rolling codes, as attackers relayed low-frequency challenges from the to the distant key fob in , fooling proximity detection without breaking the code hop itself. These attacks exploited the lack of robust distance bounding in many PKE implementations, enabling unauthorized entry into vehicles from up to 100 meters away using off-the-shelf relay devices. In 2025, the RollCAN attack extended Rolljam principles to vehicle internal networks, combining RF jamming of RKE signals with CAN-bus exploitation via OBD-II ports to counters and gain persistent access. Attackers jam the initial unlock , inject manipulated messages over the CAN-bus to revert the vehicle's , and replay the jammed later, allowing repeated entries without further . This hybrid approach targeted integrated systems in newer models, underscoring the risks of exposing rolling states to in-vehicle buses. Also in , custom for the device, circulated on underground forums, demonstrated bypassing rolling code protections in key fobs from major brands through single-signal capture and . The exploits implementation flaws in algorithms, fobs in seconds to unlock vehicles wirelessly, though experts note it primarily affects older or weakly secured systems rather than AES-encrypted variants. Priced under $200, such tools have proliferated commercially, raising concerns over widespread adoption by non-state actors. These exploits have prompted industry mitigations, including over-the-air updates to strengthen counter algorithms and the of tokens like cards for secondary . Manufacturers have also shifted toward (UWB) technology in PKE systems to counter relays by measuring signal flight time accurately, while enhanced two-way challenge-response protocols reduce replay risks in rolling codes.

References

  1. [1]
    [PDF] Lock It and Still Lose It—On the (In)Security of Automotive Remote ...
    Aug 10, 2016 · The next generation of RKE systems are so-called rolling code systems, which employ cryptography ... the immobilizer protocol) for the rolling ...<|separator|>
  2. [2]
    [PDF] AVR411: Secure Rolling Code Algorithm for Wireless Link
    This application note describes a Secure Rolling Code Algorithm transmission protocol for use in a unidirectional wireless communication system.
  3. [3]
    [PDF] An Introduction to KeeLoq Code Hopping - Microchip Technology
    KeeLoq uses a 66-bit code with a 32-bit encrypted portion, never responding twice to the same code, and about 65,000 codes before reusing.Missing: wireless | Show results with:wireless
  4. [4]
    How Does Rolling Code Work? | Baeldung on Computer Science
    Mar 18, 2024 · Rolling code is a security technique that significantly reduces the risk of unauthorized access to keyless entry systems.
  5. [5]
    10 YEARS AGO …: Anti-Codegrabbing Technology Announced
    In the fall of 1994, Street Smart Auto Security introduced a garage door opener transmitter/receiver that randomly changes the digital code with every use. The ...<|control11|><|separator|>
  6. [6]
  7. [7]
  8. [8]
  9. [9]
    Chamberlain and LiftMaster Debut Security+ 3.0 Garage Door ...
    Jul 3, 2025 · Chamberlain and LiftMaster Debut Security+ 3.0 Garage Door Openers. Published on July 3, 2025 By Champion Garage Door Repair.
  10. [10]
    [PDF] SoK: Stealing Cars Since Remote Keyless Entry Introduction and ...
    Key Fob update the rolling code to m+1. Figure 1: Basic example of Rolling Code usage, where the two parties updated the expected code at each iteration.Missing: explanation | Show results with:explanation
  11. [11]
    [PDF] A Complete Break of the KeeLoq Code Hopping Scheme
    is used in code hopping (or rolling code) applications [10]. In this mechanism, which is widely used, e.g., in car anti-theft systems and garage door ...
  12. [12]
    [PDF] BC45F0023/BC68F3132 Hopping Code Engine Application Note ...
    Nov 3, 2022 · The sync count value in the hopping code can be stored in the EEPROM and the synchronisation state can be maintained even after battery changes.
  13. [13]
    [PDF] NM95HS01/NM95HS02 HiSeC High Security Rolling Code Generator
    RESYNCHRONIZATION. If synchronization is lost between the generator and its de- coder, resynchronization is accomplished using a sync frame. A sync frame is ...
  14. [14]
    None
    ### Summary of Synchronization Methods for HiSeC Rolling Code
  15. [15]
  16. [16]
    US5420925A - Rolling code encryption process for remote keyless ...
    ... linear feedback shift register. G PHYSICS. G07 ... rolling code for use in a keyless entry system ... rolling code used in a keyless entry system for a ...
  17. [17]
    [PDF] On the (In)Security of Automotive Remote Keyless Entry Systems
    • Counter value that increments on each button press (i.g. Rolling Code) ... • Linear Feedback Shift Register (LSFR) – Unencrypted Counter. • The button ...
  18. [18]
    Pseudo Random Number Generation Using Linear Feedback Shift ...
    LFSRs (linear feedback shift registers) provide a simple means for generating nonsequential lists of numbers quickly on microcontrollers.Missing: rolling | Show results with:rolling
  19. [19]
    Rolling code encryption process for remote keyless entry system
    Accordingly, it is an object of the present invention to provide an encoding technique that generates a rolling code for use in a keyless entry system for a ...
  20. [20]
    [PDF] arXiv:2505.02713v1 [cs.CR] 5 May 2025
    May 5, 2025 · in rolling code applications with two keys: the device key, shared and unique to each pair of transmitter and receiver, and the manufacturer ...
  21. [21]
  22. [22]
    [PDF] AES Security Protocol Implementation for Automobile Remote ...
    It duplicates the features of a car key with added operating convenience that allows the car owner to manipulate the key operations at a distance. A remote ...
  23. [23]
  24. [24]
    Lightweight Cryptography | CSRC
    NIST initiated a process to solicit, evaluate, and standardize schemes providing authenticated encryption with associated data (AEAD) and optional hashing ...Finalists · News & Updates · Round 1 · Round 2
  25. [25]
    [PDF] Elliptic Curve Cryptography in Vehicle Security - TechRxiv
    Jan 5, 2025 · Elliptic Curve Cryptography (ECC) has shown to have an edge ... 4.1 Keyless Entry Using ECC. Keyless entry is a seemingly perfect fit ...
  26. [26]
  27. [27]
    All Garage Door Door Openers | Chamberlain
    Explore our garage door openers with built-in Wi-Fi and myQ technology, or our ultra-quiet openers that keep living spaces virtually silent ...Shop All Openers · RJO101 · B6753ST · Belt DriveMissing: frequency hopping
  28. [28]
    ESPHome and Liftmaster Security+ 2.0 *receiver
    Oct 9, 2025 · “The payload consists of 80 or 128 bits, which are split into two 40- or 64-bit halves transmitted in separate packets.” So that's what you ...
  29. [29]
    How to Get an Old Garage Door Opener on the Same Frequency As ...
    KLIK2U - Keyless Entry works on any Chamberlain manufactured unit made from 1993 to present, plus other manufacturers including Genie, Overhead Door and Linear.
  30. [30]
    Garage Door Frequencies and How to Change Them
    Mar 22, 2024 · Garage door openers typically use frequencies between 310MHz and 390MHz. Below you can find the most common frequencies used in the garage door industry and ...
  31. [31]
    How far is the range of a typical garage door opener transmitter?
    May 26, 2023 · Most standard garage door opener transmitters have a range of 100 to 300 feet (30 to 90 meters). This range is sufficient for most residential applications.<|separator|>
  32. [32]
    How to Program a Remote Control to a Garage Door Opener
    Find the learn button on your wall mounted door control. · Press and release the learn button twice. · Press and hold the button on the remote control that you ...
  33. [33]
    The History of Garage Door Openers
    Jul 17, 2024 · The first automatic garage door opener was a game-changer. Invented in 1926 by CG Johnson, it marked the beginning of a new era in home convenience.
  34. [34]
    Modular Communications Interface for Energy Management
    ANSI/CTA-2045-B describes a standard socket and communications protocol that appliance makers can include on their products, making this type of control ...Missing: garage door
  35. [35]
    Garage Opener Remote Range & Interference - Creative Door
    If your remote isn't working from this distance, then there's likely a problem. Here are some troubleshooting tips for remote range and interference issues.
  36. [36]
    Improve Garage Door Opener Range | Remote & Sensor Tips for ...
    Sep 2, 2025 · Many electronics in your home create electromagnetic interference (EMI). This interference makes your garage door opener work worse or less far.
  37. [37]
    Requirements of Remote Keyless Entry (RKE) Systems
    Feb 16, 2005 · Thus, the nominal carrier frequency for 433MHz applications is now 433.92MHz, and PLL crystals must be selected accordingly. Modern receiver ...
  38. [38]
    What is Remote Keyless Entry? - everything RF
    Feb 17, 2024 · RF signals in the 315 MHz, 433 MHz, or 868 MHz (depending on the geographic location) are generated when a button on the key fob is pressed.
  39. [39]
    [PDF] Attacking Automotive RKE Security: How Smart are your 'Smart' Keys?
    Nov 9, 2024 · RollBack is a time-agnostic re- play attack that exploits the re-syncing system in cars with rolling code encryption [2]. It has the same three ...
  40. [40]
    [PDF] Radio frequency identification and tracking of vehicles and drivers ...
    Dec 15, 2022 · Unlike active keyless entry, passive keyless entry does not use rolling codes. Instead, the vehicle employs challenge-response authen- tication.
  41. [41]
    (PDF) Securing Passive Keyless Entry and Start System in Modern ...
    In this paper, we present a novel method (named LOw-frequency FIngerprinting, LOFI) to detect LF-band signals generated by an attacker.
  42. [42]
    [PDF] Relay Attacks on Passive Keyless Entry and Start Systems in ...
    Passive keyless entry systems are vulnerable to relay attacks, including low-cost cable attacks and higher-cost, fast, hard-to-detect air attacks. ...
  43. [43]
    A Comprehensive Cybersecurity Framework for Connected Vehicles
    Aug 25, 2025 · Rolling Code Protocols: Rolling code protocols change authentication codes with each use, ensuring that intercepted signals cannot be reused. ...
  44. [44]
    [PDF] Security of Emergent Automotive Systems - UF ECE
    It is difficult to prevent replay and availability attacks on CAN networks without significant pro- tocol changes. However, there has been interest in detecting ...
  45. [45]
    [PDF] Relay Attacks on Passive Keyless Entry and Start Systems in ...
    Relay attacks can also be prevented using multi-channel communication, where typically out-of-band channels are used to verify if the relay occurred [20].
  46. [46]
    ISO26262 - Certifications for the automotive industry
    ISO 26262 is a uniform safety standard for automotive electrical and electronic systems. ... Keyless Entry System. ISO26262-ESP, Body Stability Control System.
  47. [47]
    Keyless car ignition systems - ResearchGate
    Apr 16, 2016 · Keyless ignition systems are related to functional safety standards and guidelines, e.g. ISO 26262. In this way, the system architecture has ...Missing: entry | Show results with:entry
  48. [48]
    Automotive Keyless Entry System Market Size
    Oct 13, 2025 · As of 2024, over 65 million new vehicles globally are equipped with keyless entry systems, up from 47 million in 2020. This rise is primarily ...Missing: ISO 26262 compliance 2015
  49. [49]
    Patented Intellicode® Rolling Code Technology - The Genie Company
    A rolling code system uses encryption methods that allow the remote control and the receiver to share codes but make it difficult for an attacker to break the ...
  50. [50]
    [PDF] What is code-grabbing? How to connect the 3-Door Programmable ...
    So thieves now use a code-grabber, a device that literally records, from hundreds of feet away, the code sent by your garage door transmitter. When you have ...
  51. [51]
    HCS301 Rolling Code vs. Fixed Code: Which is More Secure?
    Aug 13, 2023 · While Rolling Code provides enhanced security, it requires more complex implementation compared to Fixed Code. The dynamic code generation, ...
  52. [52]
    Garage Door Security - Lower the Door on Crime
    Sep 24, 2018 · According to statistics provided by metropolitan police departments, approximately 50% of all residential burglaries occur because the garage ...
  53. [53]
  54. [54]
    [PDF] Analysis of Attacks Against the Security of Keyless-Entry Systems for ...
    It is obvious that a challenge–response technique gives better security than a rolling code technique. Thus, the simple suggestions that we are presenting ...
  55. [55]
    Car key security in iOS - Apple Support
    May 13, 2022 · This cryptogram allows the vehicle to quickly authenticate the device in performance sensitive scenarios. Optionally, a secure channel between ...
  56. [56]
    [PDF] A Salad of Block Ciphers
    Aug 1, 2017 · ... KeeLoq ... (NSA) had changed some of the hardwired constants. At the time. 4 there was suspicion that this was done to insert a mathematical ...
  57. [57]
    [PDF] Cryptanalysis of the KeeLoq block cipher
    KeeLoq is a block cipher based on an NLFSR with a nonlinear boolean feedback function of 5 variables. The algorithm uses a 64-bit key and operates on 32-bit ...Missing: NSA | Show results with:NSA
  58. [58]
    Researchers Crack KeeLoq Code for Car Keys - WIRED
    Aug 24, 2007 · A group of Israeli and Belgian researchers found a vulnerability in the algorithm that is used to secure anti-theft digital key systems in numerous vehicles.Missing: adoption 200 million
  59. [59]
    [PDF] Algebraic and Slide Attacks on KeeLoq - Cryptology ePrint Archive
    In this paper we showed that, for example up to 128 rounds of KeeLoq can be broken using MiniSat algorithm, given up to 4 known plaintexts. ... Soichi Furuya: ...Missing: cracked | Show results with:cracked
  60. [60]
    [PDF] KEELOQ® with Advanced Encryption Standard (AES) Receiver ...
    Mar 26, 2009 · A KEELOQ with AES encryption algorithm provides maximum security by combining KEELOQ. Code. Hopping technology with the 128-bit encryption key.
  61. [61]
    MyQ Technology Garage Door Opener: Complete Guide 2025
    Oct 1, 2025 · Is MyQ Technology Secure? ... Yes. The MyQ technology garage door opener uses AES 128-bit encryption, the same protection used by banks.
  62. [62]
    [PDF] AES Security Protocol Implementation for Automobile Remote ...
    Abstract—The remote keyless system is widely used in automobile industry to lock or unlock the automobile's door, trunk, and start the ignition.
  63. [63]
    Ultimate KeeLoq® Technology
    Ultimate KeeLoq technology is a timer-based solution offering industry-standard AES-128 block cipher and a programmable 128-bit encryption key.Missing: successor | Show results with:successor
  64. [64]
    NXP Original PCF7939FA 128-Bit Ford HITAG Pro Transponder
    Features: · 128-bit Encryption: Experience a heightened level of security with the advanced 128-bit encryption technology. · Carbon Transponder Chip: The carbon ...
  65. [65]
    August Wi-Fi Smart Lock review: Still our favorite - CNET
    Rating 8.3/10 · Review by Molly PriceOct 23, 2021 · August smart locks are popular, and for good reason: The retrofit design makes them easy to install without replacing your existing deadbolt ...<|separator|>
  66. [66]
    UWB Secure Ranging: Revolutionizing Security Technology
    Oct 1, 2024 · IEEE 802.15. 4z is an amendment to the IEEE 802.15. 4 standard and has significantly bolstered the security of UWB technology. IEEE 802.15.Missing: rolling | Show results with:rolling
  67. [67]
    NIST Releases First 3 Finalized Post-Quantum Encryption Standards
    Aug 13, 2024 · NIST has finalized its principal set of encryption algorithms designed to withstand cyberattacks from a quantum computer.Missing: rolling | Show results with:rolling
  68. [68]
    This Hacker's Tiny Device Unlocks Cars And Opens Garages | WIRED
    Aug 6, 2015 · The $32 radio device, smaller than a cell phone, is designed to defeat the "rolling codes" security used in not only most modern cars and trucks' keyless entry ...<|control11|><|separator|>
  69. [69]
    Meet RollJam, the $30 device that jimmies car and garage doors
    Aug 6, 2015 · Over the past decade, keyless entry systems have largely displaced traditional physical keys as the means for locking and unlocking cars and ...
  70. [70]
    Does pressing a car remote many times offer denial of service attack ...
    Jan 23, 2019 · So, an attack designed to disrupt rolling code generation would not stop someone in possession of a functional key fob from starting the vehicle ...Missing: automotive | Show results with:automotive
  71. [71]
    [PDF] Implementing and testing RollJam on Software-Defined Radios
    Originally using RF signals with a “fixed code”, modern RKE systems employ “rolling code” strategies for increased security. These systems incorporate ...Missing: scholarly | Show results with:scholarly
  72. [72]
    How to mitigate vulnerabilities in keyless entry systems
    Oct 18, 2023 · To prevent such an attack, a rolling code field was introduced into the message sent from the fob to the car to make sure the unlock signal does ...
  73. [73]
    Rolling Code Technology and how it works
    Rolling code protects against intruders by generating a new security code every time the remote control is used on your garage door opener.Missing: mechanism | Show results with:mechanism
  74. [74]
    Rolling Pwn Attack
    A rolling code system in keyless entry systems is to prevent replay attack. After each keyfob button pressed the rolling codes synchronizing counter is ...
  75. [75]
    Rolling-PWN Attacks Allow Hackers to Unlock Honda Cars Remotely
    Jul 12, 2022 · A modern car's keyless entry system relies on rolling codes produced by a pseudorandom number generator (PRNG) algorithm to ensure that ...
  76. [76]
    Security Highlight: Rolling-PWN Automotive Attack - Keysight
    Aug 29, 2022 · The attack known as Rolling-PWN is the latest of a recent series of security issues affecting the car's immobilizers and remote keyless entry.<|control11|><|separator|>
  77. [77]
    [PDF] RollBack: A New Time-Agnostic Replay Attack Against ... - Black Hat
    Even though a one-time code becomes invalid in rolling code-based systems, replaying a few previously captured (consecutive) signals can trigger a rollback-like ...
  78. [78]
    A New Time-Agnostic Replay Attack Against the Automotive Remote ...
    Today's RKE systems implement disposable rolling codes, making every key fob button press unique, effectively preventing simple replay attacks. However, a prior ...
  79. [79]
    Revisiting Wireless Cyberattacks on Vehicles - PMC - NIH
    Apr 20, 2025 · Rolling codes were introduced to mitigate replay attacks in RKE systems. These codes can only be used once. The idea is that the key fob and the ...
  80. [80]
    RollCAN – CAN-bus based RollJam-Attack - ACM Digital Library
    Oct 12, 2025 · Rolling codes are designed to enhance security by generating a new unique code each time the RKE system is used. This rolling code is ...Missing: fixed | Show results with:fixed
  81. [81]
    RollCAN – CAN-bus based RollJam-Attack | Request PDF
    Oct 16, 2025 · The attacker allocates its resources to minimize the system's reliability by attacking the common bus and the components. We propose a framework ...
  82. [82]
    Flipper Zero DarkWeb Firmware Bypasses Rolling Code Security
    Aug 7, 2025 · Over on YouTube Talking Sasquach has recently tested custom firmware for the Flipper Zero that can entirely break the rolling code security ...Missing: bus | Show results with:bus
  83. [83]
    New Flipper Zero firmware threatens vehicle security with rolling ...
    Aug 12, 2025 · The firmware can clone car key fobs with one signal capture, endangering vehicles from popular brands.Missing: mods | Show results with:mods
  84. [84]
    Flipper Zero DarkWeb Firmware Exploits Rolling Code Security in ...
    Aug 8, 2025 · A security vulnerability affecting millions of modern vehicles has been demonstrated using custom firmware for the popular Flipper Zero ...Missing: bus | Show results with:bus
  85. [85]
    SoK: Stealing Cars Since Remote Keyless Entry Introduction and ...
    May 5, 2025 · Specifically for the automotive industry, it dates back to 1982 when Renault used the patent deposited the year before for an infra-red remote ...