Fact-checked by Grok 2 weeks ago

HMAC-based one-time password

The HMAC-based one-time password (HOTP) is a cryptographic algorithm designed to generate short-lived, unique passwords for user , utilizing the with the , a pre-shared secret key, and an incrementing event counter as inputs. Developed as part of the initiative to promote interoperable two-factor standards, HOTP was published in December 2005 as 4226 by the . The algorithm addresses limitations of static passwords by producing event-synchronized one-time passwords (OTPs) that can be embedded in low-cost hardware tokens, such as USB dongles or smart cards, or implemented in software for applications like virtual private networks (VPNs) and transactions. At its core, HOTP operates by computing HOTPK(C) = Truncate(HMAC-SHA-1(K, C)), where K is the key (recommended to be at least 160 bits for ) and C is an 8-byte that increments with each attempt to ensure uniqueness. The HMAC-SHA-1 output—a 160-bit (20-byte) —is dynamically truncated to extract a 4-byte value, which is then converted to a number and taken modulo 10d (where d is typically 6 or 8 digits) to produce the final OTP. To handle potential desynchronization between client and server s due to lost or unused tokens, the validating system checks a window of up to 100 future values, enhancing reliability without compromising against brute-force attacks when paired with . HOTP's design emphasizes simplicity and minimal computational requirements, making it suitable for resource-constrained environments, though it has been extended in related standards like the (TOTP) algorithm for broader adoption in time-synchronized scenarios. As an informational rather than a full , HOTP provides a foundational framework for OTP generation that remains influential in modern authentication protocols.

Overview

Definition and Purpose

The HMAC-based one-time password (HOTP) is a specific for generating one-time passwords (OTPs) that operates on an event-based model using an incrementing . An OTP, in general, is a temporary code valid for a single event, serving as proof of possession of a or . HOTP produces these unique, short-lived passwords by combining a key with an incrementing value, ensuring each output is distinct and time-bound only by its single-use policy. HOTP's primary purpose is to enhance security in (MFA) systems, where a static password alone is vulnerable to interception or reuse. It acts as the "something you have" factor, enabling secure access to networks, virtual private networks (VPNs), or applications by requiring users to enter the generated OTP alongside their primary credentials. This approach mitigates risks like replay attacks, as the OTP cannot be reused once validated by the server. Client and server devices maintain via the shared counter, allowing validation even if minor desynchronizations occur. At its core, HOTP relies on the Hash-based Message Authentication Code (HMAC) as a pseudorandom function to process the secret key and counter inputs. HMAC, defined as a keyed hash mechanism, combines a cryptographic hash function (typically SHA-1 in HOTP) with a secret key to produce a fixed-length output. This provides data integrity by detecting any alterations to the inputs and authenticity by ensuring only parties possessing the shared key can generate or verify the code, as forgery without the key is computationally infeasible. For instance, a typical HOTP output is a 6-digit numeric code, truncated from the full HMAC result, which the user enters once for validation before it expires.

History and Standardization

The HMAC-based one-time password (HOTP) algorithm originated in the early 2000s as part of efforts to establish vendor-neutral standards for generation, driven by the (OATH), an industry collaboration founded in 2004 by leading security technology providers including , Vasco, and . OATH aimed to address the interoperability challenges posed by proprietary OTP systems, such as , which dominated the market but limited cross-vendor adoption in two-factor authentication for applications like VPNs and transactions. This initiative sought to promote open standards that would enable seamless integration across diverse hardware tokens and server software, fostering broader deployment of strong authentication mechanisms. HOTP was formally published as an informational Request for Comments (RFC) 4226 by the (IETF) in December 2005, authored by David M'Raihi, Mihir Bellare, Frank Hoornaert, David Naccache, and Ohad Ranen. The document detailed the algorithm's design, security considerations, and implementation guidelines, establishing it as a freely distributable under OATH's framework. This publication marked a pivotal step toward , emphasizing keys and counter-based to generate event-driven OTPs, thereby reducing reliance on closed ecosystems. Following its initial release, HOTP saw complementary developments within the ecosystem. In 2010, RFC 6030 defined the Portable Symmetric Key Container (PSKC) format for provisioning shared used in HOTP and related algorithms, enhancing secure distribution and management of credentials. This was further supported by RFC 6063 in 2011, which introduced the Dynamic Symmetric Key Provisioning Protocol (DSKPP) for client-server key initialization. Concurrently, HOTP integrated with the time-based variant TOTP, specified in 6238 (also 2011), expanding 's portfolio to include both counter- and time-synchronized OTP methods for versatile authentication scenarios. These advancements solidified HOTP's role in open authentication frameworks, with no major errata to RFC 4226 but widespread adoption in industry standards for .

Technical Details

Core Algorithm

The HMAC-based one-time password (HOTP) algorithm relies on a shared secret key K, typically 128 to 160 bits in length, an 8-byte counter C that serves as the moving factor, and a cryptographic hash function H, with HMAC-SHA-1 as the default. The core computation generates a one-time password by applying the HMAC function to the counter, followed by truncation to produce a fixed-length output suitable for user entry. Formally, this is expressed as \text{HOTP}(K, C) = \text{Truncate}(\text{HMAC-H}(K, C)), where \text{HMAC-H} denotes the keyed-hash message authentication code using hash function H. The HMAC operation itself follows the standard defined in RFC 2104, producing a 20-byte hash value from the key K and the counter C treated as an 8-byte binary value. In the process, the client device computes the HOTP value using the current C and displays it to the user, who then submits it to the along with their identifier. The , maintaining a synchronized copy of C, independently recomputes \text{HOTP}(K, C) and compares it against the submitted value to validate the attempt. This implicit challenge-response mechanism depends on , as there is no explicit challenge transmitted; instead, the acts as the dynamic factor ensuring each is unique and non-reusable. Upon successful validation, both client and increment their counters by 1 to prepare for the next use. Counter management ensures monotonic progression to prevent reuse attacks, with the server employing a look-ahead window—typically checking up to 100 subsequent counter values—to accommodate potential desynchronization due to missed events or transmission delays. If the submitted HOTP matches a value within this window, the server updates its counter to the corresponding position and accepts the . This resynchronization strategy balances security and usability without requiring manual intervention in most cases. The following pseudocode outlines the core HMAC computation for HOTP, prior to truncation:
HS = HMAC-SHA-1(K, C)  // Compute 20-byte HMAC using SHA-1 hash, key K, and 8-byte counter C
// HS is a byte array of length 20
For validation on the server side, the logic extends to comparing the resulting HOTP against a range of counters:
for i from 0 to window_size:
    candidate_C = current_C + i
    candidate_HOTP = Truncate(HMAC-SHA-1(K, candidate_C))
    if submitted_OTP == candidate_HOTP:
        update current_C to candidate_C
        return success
return failure
Here, window_size is a configurable , often set to 100.

Truncation and Output Generation

After computing the -SHA-1 value, which produces a 20-byte output, the HOTP algorithm applies a dynamic function to extract a 4-byte (31-bit) value suitable for generating a short numeric password. This process begins by determining a dynamic from the least significant 4 bits of the final byte (byte 19) of the HMAC output, yielding an integer offset between 0 and 15. The offset selects the starting position for extracting four consecutive bytes from the HMAC string: bytes at positions offset, offset+1, offset+2, and offset+3. The truncated dynamic value, denoted as DT, is then computed from these four bytes, denoted as B_0, B_1, B_2, B_3, where B_0 is the byte at the position. Specifically, \text{DT} = \left( (B_0 \land 0x7F) \times 16^3 + B_1 \times 16^2 + B_2 \times 16 + B_3 \right) \mod 2^{31} This masks the most significant bit of B_0 with $0x7F to ensure an unsigned 31-bit , avoiding ambiguities in signed interpretation, and effectively discards the highest bit for uniformity. The dynamic rationale is to sample from a broader portion of the 20-byte output, promoting a more of the resulting values and mitigating potential biases or predictable patterns if a fixed offset were used. Finally, the (OTP) is derived as \text{OTP} = \text{DT} \mod 10^d, where d is the desired number of digits, typically 6 (ranging from 6 to 10 as specified). The result is formatted as a d-digit number, padded with leading zeros if necessary (e.g., 000123 for a value of 123). This OTP is valid for a single use and expires thereafter to maintain security. For illustration, consider a shared key K = 0x3132333435363738393031323334353637383930 (20 bytes, ASCII "12345678901234567890") and counter C = 0 (8 bytes, big-endian). The HMAC-SHA-1 output is the 20-byte value cc93 cf18 50 8d 94 93 4c 64 b6 5d 8b a7 66 7f b7 cd e4 b0 (hex). The last byte is 0xb0, with least significant 4 bits yielding offset = 0. The four bytes starting at position 0 are 0xcc, 0x93, 0xcf, 0x18. Then, B_0 = 0xcc \land 0x7F = 0x4c, so DT = $0x4C93CF18 = 1,284,755,224. For d=6, OTP = 755224.</PROBLEMATIC_TEXT>

Implementations

Hardware Tokens

Hardware tokens for HMAC-based one-time passwords (HOTP) are physical devices designed to generate event-based OTPs on demand, typically in the form of key fob-style calculators, smart cards, or USB tokens. These devices provide a portable and tamper-resistant alternative to software-based authenticators, often used in high-security environments like banking where physical possession is required for authentication. Vendors such as Feitian and Yubico produce OATH-compliant models, with Feitian's OTP C100 serving as a compact key fob example that displays 6-digit codes upon button press. Yubico's YubiKey series, while versatile, includes HOTP support through its Yubico OTP protocol, a modified implementation of the HOTP algorithm, available in USB form factors. Internally, these tokens incorporate a to store the key K and maintain an incrementing C, ensuring that OTP generation remains protected from extraction attempts. Activation occurs via a button press, which increments the counter and computes the HOTP value using the HMAC-SHA-1 before truncating and displaying it as a 6- or 8-digit code. The , often a dedicated , provides hardware-level isolation for these components, preventing unauthorized access to sensitive data. Synchronization begins with initial provisioning, where the secret key K is injected by the manufacturer or an authentication , setting the C to 0 on both the token and sides. To handle potential desynchronization—caused by failed authentications or multiple button presses—the typically accepts a window of future values (e.g., up to 100 increments ahead) during validation. In cases of significant desync, manual resynchronization codes or administrative intervention may be required to realign the counters without compromising security. These tokens emphasize durability and security features, including tamper resistance through physical enclosures and secure elements that detect and erase keys upon breach attempts. Battery life varies by model but typically lasts 5-7 years under normal usage, powered by long-life cells without the need for recharging. Many comply with standards for cryptographic modules, as seen in Yubico's FIPS-certified variants, ensuring government-grade protection for the embedded algorithms and keys. Commercial examples include Feitian's OTP C100, an OATH-HOTP key fob widely deployed in banking for event-based authentication, and Protectimus ULTRA tokens, which offer similar display-based OTP generation for . These products adhere to the HOTP specification ( 4226), facilitating with compliant servers in enterprise settings.

Software and System Integration

Software tokens for HMAC-based one-time passwords (HOTP) are implemented in various mobile and desktop applications that generate OTPs locally using a stored key K and an incrementing counter C. These applications, such as on and , support HOTP alongside TOTP by parsing provisioning URIs that specify the HOTP algorithm, allowing users to generate codes offline without relying on hardware devices. Similarly, Microsoft Authenticator provides software OATH token support for HOTP on and , enabling event-based OTP generation for compatible services. Open-source options like Authenticator for and Yubico Authenticator for desktop platforms (Windows, macOS, ) also implement HOTP, storing the key and counter securely to facilitate cross-device use. Server-side integration of HOTP involves libraries and frameworks for validating client-generated OTPs by recomputing the using the server's copy of K and a window to account for desynchronization. The Python library pyotp, for instance, offers functions to verify HOTP codes against an expected value, making it suitable for custom server implementations in web applications. For broader ecosystems, OATH-compliant libraries in languages like (e.g., via ) enable integration with authentication s, often combined with protocols like for enterprise validation. These implementations typically handle resynchronization by checking a small window of recent values during verification. Provisioning HOTP tokens in software environments commonly uses QR code scanning to share the secret key K and initial counter value, encoded in an otpauth://hotp URI format as defined by the OATH standard. This URI includes parameters like the issuer, account label, digits (e.g., 6), and algorithm (HMAC-SHA1), which authenticator apps decode to initialize the token. API-based enrollment allows automated key distribution for enterprise setups, while support for multiple devices per user is achieved by sharing the same K across instances, with counters advancing independently but resyncing via server-side windows to tolerate minor drifts. HOTP software integrations emphasize cross-platform compatibility on post-2010 operating systems, including (via Services), Android (via Keystore system), and Windows (via Credential Manager or app-specific vaults). Updates in these platforms have enhanced support for secure token handling since , ensuring HOTP works seamlessly across ecosystems like mobile browsers and desktop clients. A key challenge in software deployments is protecting the stored secret key from extraction, addressed by leveraging hardware-backed keystores—such as Android's Keystore for tamper-resistant storage or 's Secure Enclave—to prevent unauthorized access even if the device is compromised. Additionally, HOTP's offline generation capability allows codes to be produced without connectivity, relying solely on local counter increments, which contrasts with time-synchronized methods but requires careful counter management to avoid validation failures.

Security Analysis

Key Strengths

The HMAC-based one-time password (HOTP) algorithm leverages an event-based counter mechanism, eliminating the need for clock synchronization between the and verifier, which is particularly advantageous in environments with intermittent or where maintaining accurate time is challenging. This design avoids desynchronization issues arising from time drift or network delays that plague time-synchronized alternatives, ensuring reliable operation in low-connectivity scenarios such as remote or mobile access. HOTP's cryptographic foundation relies on the primitive, typically with , providing strong resistance to preimage and second-preimage attacks due to the underlying hash function's properties. The incrementing further guarantees forward uniqueness, as each subsequent value produces a distinct output, preventing reuse of previously generated passwords even if an attacker observes multiple values. As an defined in 4226, HOTP promotes interoperability across diverse vendors and implementations, allowing seamless integration in both commercial and open-source two-factor authentication systems without reliance on technologies. The algorithm's computational simplicity—requiring only evaluation and basic truncation—makes it highly scalable for resource-constrained devices, such as smart cards, USB tokens, or systems with limited processing power. Additionally, support for configurable look-ahead windows enables efficient resynchronization, accommodating counter drifts up to hundreds of values without manual intervention. HOTP enhances resistance to offline brute-force guessing attacks through its truncated output format; for a standard 6-digit code, the search space comprises 1,000,000 possible values, and combined with server-side throttling and small validation windows, the success probability remains negligible even under repeated attempts. This truncation process, while detailed elsewhere, contributes to maintaining security without excessive computational overhead.

Vulnerabilities and Countermeasures

One significant in HOTP arises from the finite 64-bit , which limits the total number of possible increments to approximately 18 quintillion before exhaustion, posing a theoretical concern for extremely high-volume systems even post-2025. To mitigate this, implementations often incorporate key rotation policies, where shared secrets are periodically refreshed to the effective lifecycle without disrupting service. Desynchronization attacks represent another key risk, particularly in man-in-the-middle scenarios where an adversary intercepts and discards valid OTPs to force the client and server counters out of alignment, potentially locking out legitimate users. Countermeasures include implementing a limited resynchronization window—typically sized to 80-100 future counters—to allow automatic recovery without exposing the system to excessive brute-force attempts, combined with rate throttling to cap trials per session. The reliance on HMAC-SHA-1 in the original HOTP specification introduces risks tied to SHA-1's , as practical collision attacks were demonstrated in 2017, prompting NIST to recommend phasing out SHA-1 for all applications by 2030. Although HMAC-SHA-1 remains resistant to these collisions due to its construction, upgrades to HMAC-SHA-256 are advised for enhanced long-term security, with many modern implementations supporting this without altering the core algorithm. Side-channel attacks, such as timing or on computations, can leak secret keys during software or execution of HOTP generation, especially in resource-constrained environments like . Defenses focus on constant-time implementations that avoid conditional branches and variable execution paths, ensuring uniform resource usage regardless of input values, as recommended in cryptographic best practices. In the 2020s, analyses have highlighted emerging threats like , where could halve the effective security of keys, necessitating at least 256-bit keys for quantum resistance, though HOTP's symmetric design remains viable with such upgrades. Additionally, and evil maid attacks—where physical access to tokens allows secret extraction or tampering—have prompted hybrid mitigations integrating HOTP with FIDO2 protocols, which use to bind to specific origins and resist credential theft.

Applications and Variants

Primary Use Cases

HOTP has been widely deployed in financial services for enhancing security in online banking logins and transaction approvals. This approach provided a robust layer of protection against unauthorized access in digital financial transactions, as outlined in the foundational HOTP specification for transaction authentication. In enterprise environments, HOTP serves as a key component for access control in corporate networks, particularly for VPN and remote desktop authentication. Organizations like RWTH Aachen University integrate HOTP-enabled hardware tokens, such as YubiKeys, to secure remote connections, ensuring that each authentication event increments a counter to produce a unique code synchronized between the token and server. This method supports secure remote work by mitigating replay attacks in distributed systems. HOTP finds application in and systems, where it enables for low-power devices in scenarios like secure processes or calls. Its event-based nature makes it suitable for intermittently connected devices, offering a lightweight, cost-effective solution without reliance on precise time , as highlighted in analyses of protocols. For instance, sensors or gateways can use HOTP to validate firmware integrity during or authenticate outbound requests to cloud services, conserving energy in resource-constrained environments.

Comparison to Time-Based Methods

The HMAC-based one-time password (HOTP) algorithm, defined in RFC 4226, generates OTPs using an incrementing counter as the moving factor, making it event-driven and suitable for scenarios where between client and server counters is managed explicitly. In contrast, the (TOTP) algorithm, specified in RFC 6238 (2011), extends HOTP by replacing the counter with a time-based value derived from the current divided into fixed intervals (typically 30 seconds), resulting in periodic OTP refreshes without requiring event triggers. This shift enables automatic in TOTP, as both parties compute the same time step independently, but it introduces dependencies on accurate clock alignment between devices. Key differences lie in their operational models: HOTP's event-driven nature supports and offline generation, ideal for challenge-response protocols where OTPs are produced only upon demand, whereas TOTP's time-driven periodic refresh suits flows, such as logins, by generating new codes at regular intervals. TOTP offers advantages in ease of , reducing the need for manual resynchronization after missed events, but it faces challenges from , where discrepancies in device times (e.g., up to 89 seconds with a 30-second step and tolerance window) can lead to validation failures, necessitating periodic adjustments. Conversely, HOTP avoids clock-related issues but requires explicit counter resynchronization if events are skipped or lost, potentially increasing administrative overhead in distributed systems. Adoption trends show TOTP gaining dominance since its in 2011, particularly in consumer applications like , which has supported TOTP for generating 6-digit codes since its 2010 launch, facilitating widespread use in services such as and other web-based two-factor authentication. However, HOTP remains prevalent in specialized challenge-response scenarios, such as hardware tokens for enterprise access control, where event-based control provides better predictability in non-real-time environments. Other variants build on these foundations; for instance, the Challenge-Response Algorithm (), outlined in RFC 6287 (2011), combines HOTP's counter mechanism with TOTP's timestamp input, along with optional challenges and session data, to support flexible and electronic signatures in dynamic protocols. Evolving beyond OTP methods, protocols like (U2F) and represent passwordless advancements, using for phishing-resistant authentication on hardware tokens, often integrating alongside HOTP/TOTP support in devices like YubiKeys to enable hybrid deployments. In terms of , HOTP exhibits lower computational due to its simpler incrementation compared to TOTP's time derivation and drift compensation, but it incurs higher resynchronization overhead in cases of desynchronization, while TOTP's promotes operational simplicity at the cost of occasional time-based validation adjustments.

References

  1. [1]
    RFC 4226 - HOTP: An HMAC-Based One-Time Password Algorithm
    This document describes an algorithm to generate one-time password values, based on Hashed Message Authentication Code (HMAC).
  2. [2]
    NIST Special Publication 800-63B
    A multi-factor authenticator requires two factors to execute a single authentication event, such as a cryptographically-secure device with an integrated ...4.2.2 · 4.3.2
  3. [3]
    RFC 2104: HMAC: Keyed-Hashing for Message Authentication
    ### Definition of HMAC and Why It Provides Integrity and Authenticity
  4. [4]
  5. [5]
    RFC 6063 - Dynamic Symmetric Key Provisioning Protocol (DSKPP)
    The Dynamic Symmetric Key Provisioning Protocol (DSKPP) is a client- server protocol for initialization (and configuration) of symmetric keys to locally and ...
  6. [6]
  7. [7]
    RFC 4226: HOTP: An HMAC-Based One-Time Password Algorithm
    ### Summary of HOTP Algorithm from RFC 4226
  8. [8]
  9. [9]
  10. [10]
    One-time passwords: generation algorithms and tokens - Protectimus
    Nov 2, 2015 · HOTP – HMAC-based one-time password algorithm. Server and OTP token keep count the number of authentication procedures performed by the user, ...
  11. [11]
  12. [12]
    OTP c100 OATH Event-Based (HOTP) Token - Feitian Technologies
    A professional Security Hardware and Solution Provider for PKI token, OTP (One Time Password) token and card, Smart Card and Reader, Software Protection ...Missing: fob | Show results with:fob
  13. [13]
    YubiKey FIPS Series | FIPS 140-2 Validated Keys | Yubico
    The YubiKey 5 FIPS Series is IP68 rated, crush resistant, no batteries required, and no moving parts. Read the YubiKey 5 FIPS Series product brief >. For ...YubiKey 5C FIPS · YubiKey 5C NFC FIPS · YubiKey 5 NFC FIPS
  14. [14]
    HOTP Algorithm Explained - Protectimus Solutions
    Mar 16, 2020 · HOTP algorithm (HMAC based OTP algorithm) requires two inputs for creating one-time passwords: a shared secret key and a counter.What is HMAC · What is HOTP · HOTP synchronization problem
  15. [15]
    Token2 c202 hardware token - 5 pack
    In stock Rating 5.0 (8,273) Battery Type: Standard Lithium Battery. Battery Lifetime: 5-7 Years (depending on usage). Obtaining the seeds/secrets/CSV files for TOTP tokens. The process of ...Missing: OATH vendors FIPS 140-2
  16. [16]
  17. [17]
    Authentication methods in Microsoft Entra ID - OATH tokens
    Mar 4, 2025 · Software OATH tokens are typically applications such as the Microsoft Authenticator app and other authenticator apps. Microsoft Entra ID ...
  18. [18]
    [Unmaintained] Open source two-factor authentication for Android
    Jun 14, 2022 · andOTP is a two-factor authentication App for Android 5.1+. It implements Time-based One-time Passwords (TOTP) and HMAC-Based One-Time Passwords (HOTP).
  19. [19]
    Yubico Authenticator App for Desktop and Mobile
    Storing your credentials on a hardware key is safer than storing them on a mobile phone. Your credential stays safe in the secure element of the YubiKey and ...<|control11|><|separator|>
  20. [20]
    PyOTP documentation - GitHub Pages
    PyOTP is a Python library for generating and verifying one-time passwords. It can be used to implement two-factor (2FA) or multi-factor (MFA) authentication ...
  21. [21]
    pyauth/pyotp: Python One-Time Password Library - GitHub
    PyOTP is a Python library for generating and verifying one-time passwords. It can be used to implement two-factor (2FA) or multi-factor (MFA) authentication ...Security · Issues 5 · Pull requests 7
  22. [22]
    URI string format
    The otpauth://URI format is: otpauth://TYPE/LABEL?PARAMETERS, where type is hotp or totp, label identifies the account, and parameters include secret.
  23. [23]
    Android Keystore system | Security - Android Developers
    Apr 17, 2025 · The Android Keystore system lets you store cryptographic keys in a container to make them more difficult to extract from the device.
  24. [24]
    Authenticator App Question - Microsoft Q&A
    Jul 31, 2021 · For accounts using other mechanisms, the Authenticator creates a public/private keypair in a hardware backed storage (e.g. the Keychain on iOS ...
  25. [25]
  26. [26]
  27. [27]
  28. [28]
  29. [29]
  30. [30]
  31. [31]
  32. [32]
  33. [33]
    NIST Transitioning Away from SHA-1 for All Applications | CSRC
    NIST is introducing a plan to transition away from the current limited use of the Secure Hash Algorithm 1 (SHA-1) hash function.
  34. [34]
  35. [35]
    HOTP with as HMAC hashing algoritme a hash from the SHA-2 family
    Mar 24, 2013 · HOTP is a OTP solution that is based on a HMAC with as hashing algorithm SHA-1. The standards defines it this way. But... SHA1 (as we know) has been a weakness.How to guarantee counter synchronisation between client and ...How should the counter value for HOTPs be stored?More results from security.stackexchange.com
  36. [36]
    (PDF) Differential Power Analysis of HMAC Based on SHA-2, and ...
    Aug 7, 2025 · However, if the HMAC algorithm is implemented in embedded hardware, it is vulnerable to side-channel attacks.
  37. [37]
    Side channel security of HMAC in software
    Jan 30, 2016 · The reason I'm asking is because hash algorithms are often not explicitly protected against side channel attacks. HMAC is still often used in this scenario.Generic attack on Hmac sha256 - Cryptography Stack ExchangeSHA256 HMAC brute force with chosen plaintext attacksMore results from crypto.stackexchange.comMissing: HOTP | Show results with:HOTP
  38. [38]
    The Impact of Quantum Computing on Authentication - Wultra
    Mar 4, 2025 · HMAC is relatively safe from quantum attacks but still requires sufficient key lengths (at least 256 bits) to mitigate quantum threats. Solution ...
  39. [39]
    [PDF] On Tight Quantum Security of HMAC and NMAC in the Quantum ...
    The main focus of this paper is to study the tight quantum pseudorandom function security (qPRF security) of HMAC and its variant NMAC [4], which are the most ...
  40. [40]
    [PDF] Security and Trust in Open Source Security Tokens
    Our findings clearly emphasize the significant threat from supply chain and evil maid scenarios since the attacks are practical and only require moderate.<|control11|><|separator|>
  41. [41]
    Hardware token for VPN and RWTH Single Sign-On (HOTP)
    Jul 14, 2025 · The hardware token for VPN and RWTH Single Sign-On (HOTP) is used with a physical security key (e.g. YubiKey).
  42. [42]
    IoT Authentication Protocols: Challenges, and Comparative Analysis
    The analysis shows that while HOTP is better suited for devices that are not consistently connected to the network and offers a cost-effective solution, it ...
  43. [43]
    Understanding OTP Authentication: HOTP & TOTP Explained
    Mar 24, 2025 · HOTP generates a new code every time a specific event occurs (like a login attempt), while TOTP generates codes that change automatically over ...What Is Hotp (hash-Based... · Faqs · Featured Posts
  44. [44]
    OTP vs. MFA: Enterprise Authentication Security Compared - Avatier
    Aug 29, 2025 · HMAC-based OTPs (HOTP): Created using a cryptographic challenge-response algorithm that generates a unique code for each authentication attempt.Understanding Otp... · Otp Vs. Traditional Password... · Comparing Otp To Alternative...
  45. [45]
    RFC 6238 - TOTP: Time-Based One-Time Password Algorithm
    This document describes an extension of the One-Time Password (OTP) algorithm, namely the HMAC-based One-Time Password (HOTP) algorithm, as defined in RFC 4226.
  46. [46]
  47. [47]
    RFC 6287: OCRA: OATH Challenge-Response Algorithm
    ### Summary of OCRA Algorithm from RFC 6287
  48. [48]
    Protocols and Applications — YubiKey Technical Manual ...
    We support OATH-HOTP and OATH-TOTP directly on the OATH function on the YubiKey (usually called OATH and used with Yubico Authenticator). We support a static ...