Fact-checked by Grok 2 weeks ago

OCB mode

Offset Codebook Mode () is a parallelizable, single-pass that provides , ensuring both confidentiality and authenticity for messages and associated data using a symmetric key and a . Developed by Phillip Rogaway, Mihir Bellare, John Black, and Ted Krovetz, OCB was first proposed in 2001 as an efficient alternative to separate encryption and message authentication mechanisms, minimizing computational overhead while maintaining provable under standard cryptographic models. OCB operates on block ciphers with a 128-bit block size, such as , and requires a unique per encryption to prevent reuse attacks, though the nonce need not be secret. It processes input in a stream-like fashion, generating offsets for each block derived from the nonce, key, and block positions using finite-field arithmetic, which allows for full parallelization during both encryption and decryption. The mode produces a ciphertext of nearly minimal length—expanding the plaintext by only the length of an authentication tag (typically 128 bits)—and authenticates arbitrary associated data without encrypting it, making it suitable for protocols like TLS or . Key advantages of include its low overhead, with an average of approximately one invocation per block of data plus a small constant, and its resistance to various attacks when used correctly, including chosen-plaintext and chosen-ciphertext scenarios. It was standardized in 7253 by the in 2014, specifying variants like AEAD_AES_128_OCB_TAGLEN128 for , and recommends limiting usage to no more than 2^48 blocks per key to preserve security margins. Despite its efficiency—often cited as the fastest mode—adoption has been somewhat limited due to patent concerns in earlier years, though these have since expired.

Overview

Definition and Purpose

OCB, or , is a parallelizable designed to provide both and for data in a single pass. It transforms a standard , such as , into an scheme capable of handling messages of arbitrary length, ensuring that the cannot be decrypted without the correct and that any tampering with the message or associated data is detectable. This mode is particularly suited for applications requiring efficient, secure data protection, such as secure communications and storage. The primary purpose of is to achieve with minimal computational overhead compared to using separate and message authentication mechanisms, thereby reducing the risk of implementation errors that could compromise security. By integrating privacy and authenticity, OCB supports the of messages alongside associated data that must be authenticated but not encrypted, all while using a single secret key for both functions. This design promotes efficiency in resource-constrained environments, as it avoids multiple passes over the data and leverages the underlying block cipher's speed. At its core, OCB employs offsets derived from a nonce to enable parallelism, allowing multiple block encryptions to occur simultaneously without dependencies between them, which enhances throughput on modern hardware. It requires only a non-repeating nonce per encryption session and incurs minimal overhead, typically one additional block cipher invocation beyond the message length divided by the block size, plus a finalization step for the authentication tag. The basic components include a block cipher E_k keyed with secret key k, a nonce N, plaintext message M, optional associated data A, and outputs consisting of ciphertext C and an authentication tag T. This offset-based approach ensures deterministic yet secure processing, making OCB a robust choice for high-performance authenticated encryption.

History and Development

Offset Codebook Mode (OCB) was first proposed in 2001 as OCB1 by Phillip Rogaway, with significant contributions from Mihir Bellare, John Black, and Ted Krovetz, driven by the need for a highly efficient, parallelizable authenticated encryption (AE) scheme that could provide both privacy and authenticity in a single pass over the data. The mode was initially designed to avoid patent encumbrances to encourage widespread adoption, though patent applications were filed by Rogaway in 2000 to protect the core ideas. The seminal publication, "OCB: A Block-Cipher Mode of Operation for Efficient Authenticated Encryption," was presented at the 8th ACM Conference on Computer and Communications Security (CCS 2001), where it was positioned as a submission to NIST's call for AE modes, emphasizing its low computational overhead comparable to CBC mode while offering stronger security properties. Following initial feedback and analysis, evolved into in , primarily to resolve malleability vulnerabilities in OCB1 that could allow certain modifications without detection. Rogaway detailed these refinements in the "Efficient Instantiations of Tweakable Blockciphers and Refinements to Modes OCB and PMAC," presented at ASIACRYPT , which formalized OCB2 using improved tweakable blockcipher constructions for enhanced handling and security. This version was further documented in early standardization efforts, including a IETF draft specification that outlined OCB for potential adoption, though full standardization as RFC 7253 occurred later in 2014 for OCB3. Despite these advances, OCB2 retained the patent structure, with Rogaway offering royalty-free licenses for non-commercial and certain open-source uses to mitigate adoption barriers. OCB3 was introduced in 2011 by Ted Krovetz and Phillip Rogaway at FSE 2011. A 2021 Journal of Cryptology paper by the same authors, "The Design and Evolution of OCB," provides a historical account and establishes a rigorous security proof up to the birthday bound (approximately $2^{n/2} blocks for an n-bit block cipher). This proof corrected subtle issues from earlier analyses, solidifying OCB3 as a mature AE scheme suitable for high-performance applications. In 2023, researchers identified a flaw in the OCB3 security proof concerning very short nonces (shorter than 6 bits), which could theoretically enable authenticity breaks under specific conditions, though the mode's implementation remains secure when adhering to recommended nonce lengths of 96 bits or more, up to 120 bits as per the specification. Rogaway subsequently abandoned the OCB patents in 2021 to further promote unrestricted use.

Mechanism

Encryption Process

The encryption process in OCB mode, specifically the OCB3 variant, operates on a plaintext message P divided into n blocks P_1, P_2, \dots, P_n, each of block length 128 bits (assuming a 128-bit block cipher like AES), using a secret key K and a nonce N. The nonce must be 120 bits or fewer in length and must be unique for each encryption under the same key to ensure security; it is typically 96 or 128 bits in practice but padded or truncated as needed. Initialization begins by computing a base value L_* = \text{ENCIPHER}(K, 0^{128}), where \text{ENCIPHER} denotes a single block encryption under key K and $0^{128} is a 128-bit string of zeros; this L_* serves as the foundation for generating offsets and is used in tag computation. Additional offset multipliers L_i are derived from L_* using left shifts and XOR operations based on the number-trail-zero (ntz) function: L_i = L_* \lll \text{ntz}(i) for i \geq 1, where \lll denotes left shift with carry-out XORed back. The nonce is formatted as a 128-bit string: \text{Nonce} = \text{num2str}(\text{TAGLEN} \mod 128, 7) \| 0^{120 - \text{bitlen}(N)} \| 1 \| N, where TAGLEN is the desired authentication tag length in bits (typically 128), and \text{num2str} converts a number to a 7-bit string. Let bottom = str2num(Nonce[123..128]); then Ktop = (, Nonce[1..122] || 0^6); Stretch = Ktop || (Ktop[1..64] XOR Ktop[9..72]); the initial offset is Offset_0 = Stretch[1 + bottom .. 128 + bottom], providing a pseudorandom starting point. Subsequent offsets for message blocks are computed cumulatively: \text{Offset}_i = \text{Offset}_{i-1} \oplus L_{\text{ntz}(i)} for i = 1 to n. Associated data A, if present, is processed via a separate offset chain starting from \text{Offset}_0' (derived similarly but using a nonce variant ending in 0 instead of 1), allowing independent handling without affecting the message offsets. For each full message block i = 1 to n-1 (assuming the last block may be partial), the ciphertext block is computed as C_i = \text{Offset}_i \oplus \text{ENCIPHER}(K, P_i \oplus \text{Offset}_i), which provides semantic security by XORing the plaintext with an offset before encryption and then XORing the result with the same offset, akin to a one-time pad derived from the block cipher. If the final block P_n is partial (bit length b < 128), let Offset_* = Offset_n \oplus L_; let Pad = ENCIPHER(K, Offset_); then C_n = P_n \oplus \text{Pad}[1..b], retaining only the first b bits as the partial ciphertext. A running checksum is maintained throughout: initialize \text{Checksum} = 0^{128}; for each full block, update \text{Checksum} \oplus= P_i; for the partial final block, \text{Checksum} \oplus= P_n \| 1 \| 0^{127-b}. This checksum ties the plaintext and ciphertext together for later authentication. The following pseudocode outlines the core encryption steps for OCB3, excluding tag finalization (which is a post-encryption step for authentication):
Input: Key K, Nonce N (≤120 bits), Plaintext P (bitlen(P) ≤ 2^{32}-1 bits), Associated Data A
Output: Ciphertext C, Authentication Tag T (TAGLEN bits)

1. If bitlen(P) = 0, then C = empty; compute T from A only (via HASH(K, A)); return (C, T)
2. Compute L_* = ENCIPHER(K, 0^{128})
3. For i = 1 to max(32, ceil(bitlen(A)/128) + ceil(bitlen(P)/128)): L_i = L_* <<< ntz(i)
4. Format Nonce as above (ending in 1); bottom = str2num(Nonce[123..128]); Ktop = ENCIPHER(K, Nonce[1..122] || 0^6); Stretch = Ktop || (Ktop[1..64] XOR Ktop[9..72]); Offset_0 = Stretch[1+bottom..128+bottom]
5. For i=1 to n: Offset_i = Offset_{i-1} ⊕ L_{ntz(i)}  // n = ceil(bitlen(P)/128)
6. Checksum = 0^{128}
7. For i=1 to n-1: C_i = Offset_i ⊕ ENCIPHER(K, P_i ⊕ Offset_i); Checksum ⊕= P_i
8. If partial final block (b = bitlen(P) mod 128 < 128): Offset_* = Offset_n ⊕ L_*; Pad = ENCIPHER(K, Offset_*); C_n = P_n ⊕ Pad[1..b]; Checksum ⊕= P_n || 1 || 0^{127-b}
9. Else: C_n = Offset_n ⊕ ENCIPHER(K, P_n ⊕ Offset_n); Checksum ⊕= P_n
10. C = C_1 || ... || C_n
11. // AD processing (separate chain): Compute HASH(K, A) using offsets starting from Offset_0' (nonce ending in 0)
12. // Final tag: L_$ = L_* <<< 1; final_input = Checksum ⊕ (Offset_* if partial else Offset_n) ⊕ L_* ⊕ L_$; T = [ENCIPHER(K, final_input) ⊕ HASH(K, A)] [1..TAGLEN]
This process ensures efficient parallelization potential, as block encryptions are independent once offsets are precomputed.

Authentication Process

In OCB mode, the authentication process generates a tag T that provides for both the message and any associated data A, ensuring that any modification to the or A will result in tag mismatch during verification. After encrypting the message blocks C_i = \Delta_i \oplus E_k(\Delta_i \oplus M_i) for i = 1 to m, where \Delta_i are the offsets derived from the nonce and L = E_k(0^{128}), the S is computed as S = \bigoplus_{i=1}^m M_i for full blocks, with the partial block (if present) padded to the block length by appending a single '1' bit followed by zeros and XORed into S: S = S_m \oplus (M_* \| 1 \| 0^{127 - \text{bitlen}(M_*)}). Contributions from associated data are incorporated via the separate : split A into blocks A_j, compute offsets \Delta'_j from a nonce variant ending in 0, then for full blocks HASH = \bigoplus_j E_k(\Delta'_j \oplus A_j)), and for partial AD if present, include E_k(\Delta'_* \oplus (A_* \| 1 \| 0^{127 - \text{bitlen}(A_*)})); if A is empty, HASH = 0^{128}. This HASH is not XORed into S but used in tag formation. The tag T is then the first TAGLEN bits (where $1 \leq TAGLEN \leq 128) of the OCB3-specific value: T = \left[ E_k\left(S \oplus \Delta_{\text{final}} \oplus L_* \oplus L_\&#36;\right) \oplus \text{HASH}(K, A) \right]_{1 \dots \text{TAGLEN}} where \Delta_{\text{final}} = \Delta_m if no partial block or \Delta_m \oplus L_* if partial, and L_\ = L_* \lll 1$. This uses one additional blockcipher invocation on the checksum (masked by offsets and L values) XORed with the HASH, integrating authentication seamlessly. During decryption and verification, the receiver derives the putative plaintext blocks M'_i = \Delta_i \oplus \text{DECIPHER}(K, \Delta_i \oplus C_i) from the received , recomputes the S' = \bigoplus M'_i (incorporating the '1'-padded partial if present) and recomputes '(K, A) using the provided A and separate offset mechanism, then generates T' = first TAGLEN bits of E_k(S' \oplus \Delta_{\text{final}} \oplus L_* \oplus L_\) \oplus \text{}'(K, A)$. The tags T and T' are compared in constant time (e.g., via a bit-wise AND and population count check) to prevent side-channel timing attacks; if they match, the decrypted message is accepted as authentic, otherwise the entire output is rejected as invalid to avoid partial . For empty associated data, the HASH contribution is zero, simplifying the computation.

Security

Proven Security Bounds

OCB3 provides provable security for both privacy and authenticity when instantiated with an n-bit strong pseudorandom permutation (PRP) as the underlying block cipher. For privacy, OCB3 is proven indistinguishable from a random function under chosen-plaintext attacks, achieving security up to the birthday bound of approximately $2^{n/2} blocks. This bound arises from the quadratic degradation in the distinguishing advantage as the total number of processed blocks \sigma approaches $2^{n/2}, ensuring that the ciphertext leaks no information about the plaintext beyond its length for adversaries respecting nonce uniqueness. The authenticity of OCB3 bounds the probability of successful to q^2 / 2^n + negligible terms, where q denotes the number of queries and n is the block size. This guarantee holds against nonce-respecting adversaries, with the forgery success limited even after multiple decryption queries, provided the total blocks remain below the bound. A refined analysis further improves this bound by accounting for the size of forging attempts, allowing up to $2^n / \ell_{\max} blocks in a single query without compromising , where \ell_{\max} is the maximum length. In a comprehensive 2021 proof, the of OCB3 reduces to the PRF (pseudorandom function) of the underlying , establishing an authenticated-encryption advantage of at most $6(\sigma + 2q)^2 / 2^n + 1.1 q_d / 2^\tau, where q_d is the number of decryption queries and \tau is the tag length. This proof addresses nonce-respectful adversaries and rectifies vulnerabilities in OCB2 related to tweakable ciphers by employing a partitioned-tweakspace . The analysis assumes a secure n-bit , unique for each , and no reuse across encryption sessions to prevent nonce collisions that could undermine the bounds.

Known Attacks and Vulnerabilities

One notable in the original OCB1 mode was identified in through collision attacks, where an adversary could exploit equalities between internal s after processing approximately 2^{64} blocks under the same key, allowing modifications (such as block swaps) that preserve the and enable forgeries without detection. This issue stemmed from flaws in reuse and delta caching, effectively providing malleability that undermined . The was mitigated in OCB2 by redesigning the to incorporate a that prevents such collisions from going undetected. OCB2, while an improvement, suffered from practical forgery attacks due to a flaw in its internal XEX* construction, enabling an adversary to forge ciphertexts and tags with high probability using only a few queries to an encryption and decryption oracle, independent of specific keys or tweaks. These attacks allowed existential forgeries for short messages with 100% success after one encryption and one decryption query, and could extend to arbitrary-length messages or universal forgeries with minimal additional effort. Additionally, active adversaries could distinguish ciphertexts and recover plaintexts, breaking both authenticity and confidentiality. OCB3 addressed these by avoiding the problematic combination of XE and XEX modes in the same construction, ensuring the attacks do not apply. In 2023, a flaw was discovered in the security proof of OCB3, arising from an unstated assumption about nonce lengths; when using short nonces (fewer than 6 bits), an adversary could induce internal collisions with a single query, succeeding in tag forgery with probability at least 1/8 for empty nonces or 1/2^{2 \cdot |Bot|} for slightly longer ones, potentially leaking the key-dependent value L^* = E_K(0^n) and compromising all future authentications until key rotation. For nonces under 120 bits, theoretical nonce-reuse-like attacks could break authentication, though no practical exploits have been reported. The mode remains secure in practice if implementation guidelines are followed, such as enforcing at least 120-bit nonces as recommended in the specification, or by randomizing the nonce padding with L^* to permit shorter nonces safely. Nonce reuse in OCB, under the same key, leads to severe consequences shared with other nonce-based authenticated encryption modes, including loss of for the repeated message (exposing plaintext relationships) and for all subsequent messages in the session, with the worst-case outcome being full key recovery by an attacker observing two such ciphertexts. The specification emphasizes that nonces must be unique per key to avoid these issues, recommending counters or random values without requiring secrecy. OCB's design inherently avoids padding oracle attacks, as it operates without traditional block padding or decryption-dependent padding validation, unlike modes such as . However, like many symmetric schemes, OCB implementations are susceptible to side-channel attacks, particularly timing vulnerabilities in tag comparison or blockcipher operations if not performed in constant time; mitigations include using timing-resistant primitives for the underlying blockcipher and functions like doubling.

Performance

Efficiency Metrics

OCB mode achieves high efficiency through a minimal number of invocations, requiring exactly m + 2 calls for an m-block when using a random and no associated data, consisting of m encryptions for the message blocks and 2 additional calls for generation; this is among the lowest for schemes. With a counter-based nonce and caching optimizations in OCB3, the average drops to approximately m + 1.02 invocations, further reducing computational overhead for repeated uses. The mode supports full parallelism, as all m message block encryptions are independent and can be computed concurrently, with only the final computation requiring sequential dependency; this enables efficient utilization of multi-core processors and pipelines. generation, essential for the mode's operation, relies on cheap operations like doubling in the (implemented via shift-XOR instructions), adding negligible latency in both software and . In software implementations on modern CPUs with AES-NI support, AES-OCB3 achieves approximately 0.43 cycles per byte (cpb) on Cannon Lake processors (as of 2021) and 1.14 cpb on , outperforming GCM due to the absence of costly polynomial multiplications like GHASH. More recent 2025 implementations using VAES instructions achieve 0.24 cpb for OCB3 on modern processors. Earlier benchmarks on Clarkdale report 1.48 cpb for 4 KB messages, highlighting OCB's consistent speed advantage in . Hardware efficiency benefits from low-latency parallel pipelines, with authentication overhead as low as 0.2 cpb beyond plain CTR mode, making it suitable for resource-constrained environments. The mode incurs minimal overhead, producing a 128-bit and using a 15-byte (120-bit) , while maintaining a small state footprint limited to the key, nonce, and a few key-dependent offsets for streaming operation.

Comparisons to Other Modes

Offset Codebook Mode () offers advantages in software performance over Galois/Counter Mode (GCM) primarily due to its avoidance of expensive finite-field multiplications, achieving speeds 30-40% faster on platforms like Intel Cannon Lake and Cortex-A73. However, GCM benefits from dedicated via instructions like PCLMULQDQ and AES-NI, making it faster in hardware-optimized environments. Both modes provide birthday-bound security, with OCB's design being simpler and requiring fewer components for implementation. Compared to with (CCM), is a single-pass, fully parallelizable mode, enabling higher throughput in multi-core or vectorized software implementations, whereas CCM's two-pass structure is inherently sequential and 3-7 times slower on AES-accelerated systems. This parallelism makes preferable for high-performance applications like encryption. In contrast to Synthetic Initialization Vector (SIV) modes like AES-GCM-SIV, is nonce-based and faster due to its single-pass efficiency, but it relies on unique s for , lacking SIV's deterministic misuse resistance against nonce reuse. SIV, while robust to nonce mishandling, incurs higher computational costs from its two-pass design. OCB also compares favorably to in AES-hardware environments, where OCB can be 3-7 times faster, though excels on systems without AES acceleration due to its stream-cipher nature and constant-time operations. Both support associated data, but OCB's block-cipher parallelism provides an edge in vectorized contexts.
FeatureOCBGCMCCMSIV (AES-GCM-SIV)
ParallelismYesLimitedNoLimitedVectorized
Associated Data SupportYesYesYesYesYes
Patent-Free (post-2020)YesYesYesYesYes

Patent History and Expiration

The primary patents covering OCB mode were issued to Phillip Rogaway, the mode's designer. US Patent 7,046,802, titled "Method and apparatus for facilitating efficient authenticated encryption," was filed on October 12, 2000, and issued on May 16, 2006, describing an offset codebook (OCB) scheme for authenticated encryption using a block cipher to process message blocks and fragments with offsets derived from a nonce. A continuation patent, US 7,949,129, also titled "Method and apparatus for facilitating efficient authenticated encryption," was filed on July 18, 2005, and issued on May 24, 2011, extending coverage to refined aspects of OCB, including parallelizable encryption and tag generation for arbitrary-length messages. These patents specifically protected OCB1 and OCB2 variants, focusing on offset-based authenticated encryption mechanisms. Licensing for was initially structured to require agreements or fees for certain commercial uses, while offering free licenses for non-commercial, academic, and many open-source applications; this arrangement, managed by Rogaway, created barriers to widespread adoption, particularly in royalty-averse open-source projects and standards bodies seeking unencumbered algorithms. For instance, the need for explicit licensing deterred inclusion in protocols like TLS and limited 's role in NIST competitions, prompting developers to seek alternatives. To circumvent these patent restrictions, modes like Offset Two-Round (OTR) were developed as patent-free variants providing similar with associated data, using a two-round offset structure to achieve efficiency without infringing on 's core claims. The patents lapsed due to non-payment of maintenance fees, with US 7,046,802 and related early filings effectively expiring around 2020, aligning with the 20-year term from their 2000 filing date. In February 2021, Rogaway intentionally abandoned all remaining -related patents, including those covering OCB3, explicitly placing the into the to eliminate any lingering barriers and encourage free implementation worldwide. Following this, no new patents have been issued on OCB, and OCB3—the refined version addressing prior vulnerabilities—was released under fully open terms, facilitating its integration into libraries like without licensing concerns.

Standardization and Implementations

OCB mode received early attention through Internet Drafts submitted to the IETF, including draft-krovetz-ocb-00 in 2004, which specified 2.0 but expired without advancement. Renewed efforts culminated in its formal specification as RFC 7253 in 2014, published under the IRTF Crypto Forum Research Group (CFRG) stream, defining as an authenticated-encryption algorithm using a like . Proposals for integrating into protocols like TLS, such as draft-zauner-tls-aes-ocb-04 from 2016, aimed to enable its use in ciphersuites but expired without ratification. Practical implementations of OCB appear in several cryptographic libraries. OpenSSL added support for OCB mode in version 1.1.0 (2016), enabling its use via the EVP interface for authenticated encryption with associated data (AEAD). The Bouncy Castle library for Java includes an OCBBlockCipher class compliant with RFC 7253, facilitating integration in Java-based applications. Libsodium, a popular modern cryptography library, does not natively support OCB, favoring alternatives like ChaCha20-Poly1305 for AEAD. In hardware, OCB has been realized in research prototypes, such as FPGA-based AES-OCB engines, but lacks widespread integration in commercial AES accelerators like Intel AES-NI, which provide block-level primitives rather than mode-specific acceleration. Adoption of in protocols remains limited, historically constrained by licensing concerns that deterred widespread use despite its efficiency. For instance, high-performance VPN protocols like opted for over block-cipher modes including OCB. The expiration of key OCB patents between 2016 and 2024 has removed these barriers, potentially enabling broader deployment in performance-sensitive applications. However, management poses implementation challenges, as OCB requires unique nonces per key to maintain security, and misuse can degrade protections, necessitating careful enforcement in software. The 2021 introduction of OCB3, detailed in a seminal paper, addresses prior limitations like short-nonce handling and is recommended for new designs due to its refined security up to the birthday bound.

References

  1. [1]
    [PDF] OCB Mode - Cryptology ePrint Archive
    Apr 1, 2001 · An authenticated-encryption scheme is a shared-key encryption scheme whose goal is to provide both privacy and authenticity.
  2. [2]
    RFC 7253 - The OCB Authenticated-Encryption Algorithm
    This document specifies OCB, a shared-key blockcipher-based encryption scheme that provides confidentiality and authenticity for plaintexts and authenticity ...
  3. [3]
    None
    Summary of each segment:
  4. [4]
    OCB Mode - Cryptology ePrint Archive
    Paper 2001/026. OCB Mode. Phillip Rogaway, Mihir Bellare, John Black, and Ted Krovetz. Abstract. This paper was prepared for NIST, which is considering new ...Missing: invention | Show results with:invention
  5. [5]
    OCB: a block-cipher mode of operation for efficient authenticated ...
    We describe a parallelizable block-cipher mode of operation that simultaneously provides privacy and authenticity.Missing: invention | Show results with:invention
  6. [6]
    OCB - An Authenticated-Encryption Scheme - Background - Rogaway
    Feb 21, 2023 · OCB is a blockcipher-based mode of operation that simultaneously provides both privacy and authenticity for a user-supplied plaintext.What is OCB? · Can you describe how OCB... · Are there different versions of...
  7. [7]
    The Design and Evolution of OCB | Journal of Cryptology
    Jul 27, 2021 · We describe OCB3, the final version of OCB, a blockcipher mode for authenticated encryption (AE). We prove the construction secure, up to the birthday bound.Missing: invention | Show results with:invention
  8. [8]
    OCB - An Authenticated-Encryption Scheme - Background - Rogaway
    OCB is a block-cipher mode of operation. It simultaneously provides both privacy and authenticity. A scheme which accomplishes both of these goals is called an ...
  9. [9]
  10. [10]
  11. [11]
    [PDF] The Software Performance of Authenticated-Encryption Modes
    Mar 21, 2011 · 16–31, 2004. [35] P. Rogaway, M. Bellare, and J. Black. OCB: A block-cipher mode of operation for efficient.
  12. [12]
    [PDF] Improved Security for OCB3 - Cryptology ePrint Archive
    OCB is a blockcipher-based mode of operation that achieves authenticated encryption in almost the same amount of time as the fastest con- ventional mode, CTR ...
  13. [13]
    [PDF] Collision attacks on OCB - NIST Computer Security Resource Center
    Feb 11, 2002 · We show that collision attacks are quite effective on the OCB block cipher mode. When a collision occurs OCB loses its authentication.Missing: vulnerabilities | Show results with:vulnerabilities
  14. [14]
    [PDF] Cryptanalysis of OCB2: Attacks on Authenticity and Confidentiality
    The first version (OCB1) was proposed at ACM CCS 2001 by Rogaway et al. [38], the second version (OCB2) at ASIACRYPT 2004 by Rogaway [34] (hereafter. Rog04) ...
  15. [15]
    [PDF] A weakness in OCB3 used with short nonces allowing for a break of ...
    Mar 6, 2023 · Abstract. OCB3 is a mature and provably secure authenticated encryption mode of operation which allows for associated data (AEAD).<|separator|>
  16. [16]
    [PDF] The Design and Evolution of OCB
    We now explain some of the design choices made for OCB, simultaneously sketching the mode's history. ... Krovetz, P. Rogaway sition techniques [4,34]. OCB ...Missing: invention | Show results with:invention
  17. [17]
  18. [18]
  19. [19]
  20. [20]
    draft-zauner-tls-aes-ocb-04 - IETF Datatracker
    This memo describes the use of the Advanced Encryption Standard (AES) in the Offset Codebook Mode (OCB) of operation within Transport Layer Security (TLS)Missing: adoption | Show results with:adoption
  21. [21]
    Method and apparatus for facilitating efficient authenticated encryption
    We now describe an embodiment of the present invention known as OCB (for offset codebook) mode. OCB is an authenticated-encryption scheme that uses an n-bit ...
  22. [22]
    Method and apparatus for facilitating efficient authenticated encryption
    Encryption under OCB mode requires an n-bit nonce, Nonce. The nonce would typically be a counter (maintained by the sender) or a random value (selected by ...
  23. [23]
    OCB - An Authenticated-Encryption Scheme - Licensing - Rogaway
    At an earlier point in time I licensed OCB: free licenses for most settings, but a small one-time fee for others. To retain the historical record, I retain ...Missing: mode | Show results with:mode
  24. [24]
    [PDF] AES-OTR v2 - Cryptographic competitions
    Mar 15, 2014 · OTR, which stands for Offset Two-Round, is a blockcipher mode of operation to realize an authenticated encryption with associated data (AEAD), ...
  25. [25]
    OCB no longer needs patent · Issue #221 · openssl/web - GitHub
    Feb 27, 2021 · The OCB patent has expired and is no longer valid. ... This issue will close once commit f04b6c8 is merged into the 'master' branch.f04b6c8.Missing: date | Show results with:date
  26. [26]
    draft-krovetz-ocb-00.txt - Computer Science | UC Davis Engineering
    [Offsets] P. Rogaway, "Efficient instantiations of tweakable blockciphers and refinements to modes OCB and PMAC", Advances in Cryptology - ASIACRYPT 2004.
  27. [27]
    draft-zauner-tls-aes-ocb-04 - IETF Datatracker
    AES-OCB (Offset Codebook Mode) Ciphersuites for Transport Layer Security (TLS) (Internet-Draft, 2016)Missing: adoption | Show results with:adoption
  28. [28]
    OCB - OpenSSLWiki
    Jun 30, 2016 · OCB is the Offset Code Book mode. The mode provides an efficient form of authenticated encryption with additional data, which is commonly referred to as an ...Missing: cryptography | Show results with:cryptography<|control11|><|separator|>
  29. [29]
    An FPGA implementation of the AES-Rijndael in OCB/ECB modes of ...
    In this paper we have evaluated the Rijndael cipher in OCB/ECB modes of operation from the point of view of its implementation in FPGA. The circuit presented ...
  30. [30]
    Why is OCB-AES mode not becoming a standard for authenticated ...
    Dec 9, 2012 · The OCB mode of authenticated encryption (used for example with AES) is the fastest way to provide authenticity and confidentiality without having to strive ...OCB design questions and possible simplification from a security ...Semantic security of the OCB mode - Cryptography Stack ExchangeMore results from crypto.stackexchange.com
  31. [31]
    Two OCB Block Cipher Mode Patents Expired Due To Nonpayment
    Apr 1, 2016 · Two OCB Block Cipher Mode Patents Expired Due To Nonpayment. pthree ... patent that expired for unintentional failure to pay maintenance fees.Missing: date | Show results with:date