Fujisaki–Okamoto transformation
| General | |
|---|---|
| Designers | Eiichiro Fujisaki, Tatsuaki Okamoto (ja) |
| First published | 1999 |
| Related to | Optimal asymmetric encryption padding |
In cryptography, the Fujisaki–Okamoto transformation (FO transformation or FO transform) is a generic method for strengthening a public-key encryption scheme against adaptive chosen-ciphertext attacks. Security analyses of FO model the hash functions added by the transformation as random oracles.[1] Eiichiro Fujisaki and Tatsuaki Okamoto (ja) of NTT Laboratories introduced the transformation in 1999.[2] Their construction is a hybrid cryptosystem: the public-key component need only be one-way, while the symmetric component requires only a weak, one-time form of indistinguishability.[3]
FO has found widespread use in post-quantum cryptography key encapsulation mechanisms (KEMs). Alexander W. Dent recast the transformation in KEM form in 2003. In 2017, Hofheinz, Hövelmanns and Kiltz reorganized its security analysis into modular steps.[4] Nearly every KEM submitted to the NIST Post-Quantum Cryptography Standardization process incorporated some form of FO.[5] ML-KEM is derived from CRYSTALS-Kyber and was standardized by the United States National Institute of Standards and Technology in 2024. It uses an FO variant to convert its component encryption scheme, K-PKE, into a KEM. The standard attributes ML-KEM's IND-CCA2 security to this conversion.[6]
Concept
The Fujisaki–Okamoto transformation strengthens a public-key encryption scheme against chosen-ciphertext attacks. An IND-CPA-secure scheme is secure against an attacker who is allowed to choose messages and obtain their encryptions, but is not allowed to ask for arbitrary ciphertexts to be decrypted. IND-CCA2 security considers a stronger attacker, who is also allowed to submit ciphertexts of their choice for decryption, except for the particular challenge ciphertext they are trying to learn about. In simplified terms, the Fujisaki–Okamoto transform helps achieve this stronger security by having the recipient decrypt a ciphertext, derive the randomness that should have been used to create it, re-encrypt the recovered message, and check that the result matches the received ciphertext. If the check fails, an explicit-rejection variant returns a failure code.[7][8] An implicit-rejection variant instead returns a pseudorandom "fallback" key. The decapsulation oracle therefore still answers the query, but does not directly reveal whether the ciphertext passed the validity check.
History
Fujisaki and Okamoto described two constructions in two papers published in 1999. They presented the first, "How to Enhance the Security of Public-Key Encryption at Minimum Cost", at PKC '99. It assumed that the underlying public-key scheme was already secure against chosen-plaintext attacks (IND-CPA).[9][10] Later that year, they presented "Secure Integration of Asymmetric and Symmetric Encryption Schemes" at CRYPTO '99. The CRYPTO construction required only a one-way public-key scheme and used symmetric encryption to carry the message. This hybrid construction became known as the Fujisaki–Okamoto transformation.[11] A revised version of the CRYPTO paper appeared in the Journal of Cryptology in 2013.[12]
At the time, an earlier generic tool for strengthening public-key encryption was Optimal asymmetric encryption padding (OAEP). Bellare and Rogaway had designed OAEP for one-way trapdoor permutations such as RSA. Probabilistic schemes (including ElGamal, Blum–Goldwasser and Okamoto–Uchiyama) therefore fell outside its scope. Fujisaki and Okamoto stated that they knew of no previous generic, efficient conversion of an arbitrary public-key scheme to IND-CCA security.[10] Their CRYPTO paper gives instantiations for ElGamal and Okamoto–Uchiyama. It points to PSEC and EPOC, two encryption schemes that the authors and their colleagues had submitted to IEEE P1363a—for further details.[13]
Two later transformations require less machinery than FO: REACT, by Okamoto and Pointcheval, and GEM, by Coron and coauthors. Both rely on the stronger assumption of one-wayness under plaintext-checking attacks.[4] In 2005, Galindo, Martín, Morillo and Villar identified ambiguities in the CRYPTO '99 security proof and proposed a repair. The proposed repair, however, applies only to a narrower class of public-key primitives.[14]
FO attracted renewed attention during the NIST post-quantum cryptography project. Lattice- and code-based encryption basic schemes usually have only IND-CPA security, leaving KEM designers in need of a generic route to chosen-ciphertext security.[4] Dent's 2003 paper "A Designer's Guide to KEMs" had already recast FO as a key-encapsulation construction.[4] Dent's construction became a standard method for building secure KEMs.[5] In 2017, Hofheinz, Hövelmanns and Kiltz decomposed the transformation into separate steps. They derived a tight reduction from IND-CPA security and proved variants that allow a small probability of decryption failure. Decryption failures and reduction tightness had received little attention in 1999, but both became important in the analysis of lattice-based candidates.[15]
Construction
Original transformation
Let denote asymmetric encryption of under public key with random coins , and let denote symmetric encryption of under key . In a "hybrid" FO scheme with two hash functions, and , a message is encrypted as
where is a random string. The asymmetric component encrypts only the seed; its coins are derived from both the seed and the message. The symmetric component encrypts the message under the key .[16]
To decrypt, one recovers a candidate seed from the first component, computes , and decrypts the second component to obtain a candidate message . The ciphertext is accepted only if the re-encryption exactly reproduces the first component; otherwise, the entire ciphertext is rejected.[17] In the security proof, this check serves as base of a knowledge extractor. By examining the adversary's hash queries, the proof recovers the plaintext of any valid ciphertext that the adversary produces.[18]
The security theorem imposes three conditions. The asymmetric scheme must be one-way and γ-uniform, meaning that no single ciphertext value occurs with probability greater than over the choice of encryption coins. The symmetric scheme must also satisfy a one-time indistinguishability notion that the authors call find-guess security. Under these conditions, the hybrid scheme is IND-CCA secure in the random oracle model, with concrete bounds relating the adversary's advantage to the corresponding advantages against the two components.[19] The original paper's γ-uniformity probability is changed to γ-spreadness (in terms of bits) in later work.[20][21]
With a one-time pad as the symmetric scheme, the ciphertext becomes , and no separate security condition on the symmetric component is required.[22] Deterministic schemes pose a problem: textbook RSA with no randomness has γ = 1, so the conversion cannot be applied to it directly. Appending fresh randomness to the ciphertext makes the conversion applicable. With this modification, the use of a one-way trapdoor permutation and a one-time pad gives the encryption scheme published by Bellare and Rogaway in 1993.[23]
Key encapsulation variants
Dent's KEM version differs because a KEM does not encrypt a message directly. Encapsulation samples a random , deterministically computes the ciphertext , and outputs as the session key. Some variants instead derive the session key as .[24][5]
The 2017 analysis decomposes the transformation into two steps. The first, called T, derandomizes the encryption scheme: replaces the random coins, and decryption gains the re-encryption check. The second is a family of transformations called U, which hashes the message (designated by a subscript below, in some variants together with the ciphertext, designated by no subscript) to derive the session key.[25] The U transformations support either explicit or implicit rejection. Explicit rejection returns a failure symbol for an invalid ciphertext. Under implicit rejection (), decapsulation instead returns a pseudorandom key derived from the ciphertext and a secret seed stored in the private key.[26] Combining the two rejection modes with the two key-derivation methods gives four variants: , , , and . Only the explicit-rejection variants require γ-spreadness, and is essentially Dent's KEM version of the original transformation.[27]
Security
The security reduction in the 1999 analysis is loose. It bounds the adversary's advantage against the hybrid scheme by approximately the product of the random-oracle query count and the advantage against the one-wayness of the asymmetric scheme. The scheme's security parameters must therefore be increased to offset this query-count loss.[28] The analysis also assumes that decryption never fails, whereas many lattice-based schemes have a small probability of decryption failure.[28] The 2017 analysis addresses both the reduction loss and decryption failures. The transformations tolerate a decryption error δ, provided that δ is at most for κ bits of security. When the starting assumption is IND-CPA security rather than one-wayness, the reduction is tight in the classical random oracle model.[29]
A quantum attacker can evaluate hash functions on superpositions of inputs. Post-quantum proofs therefore use the quantum-accessible random oracle model, or QROM.[4][5] Targhi and Unruh gave the QROM proof in 2016, using a modified transformation that adds another hash value to the ciphertext.[30] The 2017 analysis covers a KEM variant with the same additional hash, but gives a very loose reduction.[31] Subsequent work obtained substantially tighter QROM bounds, although these reductions require the implicit-rejection variants. As was shown in the previuous work, the security of the common variants is equivalent to, or implied by, that of . The available QROM bound for the explicit-rejection textbook variant is substantially weaker.[5]
Accounting for decryption failures complicates these proofs. Conventional reductions give the adversary the private key. They then bound the probability that the adversary finds a plaintext causing a decryption failure. This produces a Grover-type search bound in terms of the worst-case failure probability. Hövelmanns, Hülsing and Majenz argued in 2022 that giving the adversary the private key is unnatural. They instead based their reduction on failure-finding games in which the adversary never receives the key. The failure-finding-game reduction gives tighter bounds and also covers the explicit-rejection variant.[32]
Applications
Nearly all of the KEM candidates in the NIST post-quantum project used the transformation.[5] FIPS 203, published in August 2024, specifies ML-KEM on the basis of the third-round CRYSTALS-Kyber submission. K-PKE is an encryption scheme based on the module learning with errors problem. The FO transform converts it into a KEM, and the standard attributes ML-KEM's IND-CCA2 security to this conversion.[6] ML-KEM uses implicit rejection. During decapsulation, it decrypts the ciphertext, re-encrypts with the rederived coins, and compares the re-encrypted ciphertext with the received one. If the ciphertexts differ, decapsulation returns a hash of the received ciphertext and a secret 32-byte value held in the decapsulation key, rather than an error.[33] This transform variant differs from the one used in third-round Kyber because the hash of the ciphertext no longer enters the derivation of the shared secret.[34] The decapsulation failure rates for the three parameter sets are between and .[35]
The re-encryption check also has drawbacks. Every decapsulation must run the encryption algorithm a second time (providing it with the decrypted secret), and implementations of the check can introduce side-channel weaknesses. These drawbacks have motivated research into alternatives to re-encryption.[36]
See also
References
- ↑ Hofheinz, Hövelmanns & Kiltz 2017, p. 341.
- ↑ Fujisaki & Okamoto 1999a, p. 537.
- ↑ Fujisaki & Okamoto 1999a, pp. 537–538.
- ↑ 4.0 4.1 4.2 4.3 4.4 Hofheinz, Hövelmanns & Kiltz 2017, p. 342.
- ↑ 5.0 5.1 5.2 5.3 5.4 5.5 Hövelmanns, Hülsing & Majenz 2022, § 1.
- ↑ 6.0 6.1 NIST 2024, pp. 1, 13.
- ↑ NIST 2026.
- ↑ Longa et al. 2026, § 3.1.
- ↑ Fujisaki & Okamoto 1999b.
- ↑ 10.0 10.1 Fujisaki & Okamoto 1999a, p. 538.
- ↑ Fujisaki & Okamoto 1999a, pp. 537–539.
- ↑ Fujisaki & Okamoto 2013.
- ↑ Fujisaki & Okamoto 1999a, p. 545.
- ↑ Galindo et al. 2005, pp. 228–241.
- ↑ Hofheinz, Hövelmanns & Kiltz 2017, pp. 341–344.
- ↑ Fujisaki & Okamoto 1999a, pp. 537, 540.
- ↑ Fujisaki & Okamoto 1999a, p. 540.
- ↑ Fujisaki & Okamoto 1999a, pp. 542–544.
- ↑ Fujisaki & Okamoto 1999a, pp. 540–544.
- ↑ Hofheinz, Hövelmanns & Kiltz 2017, p. 349.
- ↑ Hövelmanns, Hülsing & Majenz 2022, § 2.2.
- ↑ Fujisaki & Okamoto 1999a, p. 544.
- ↑ Fujisaki & Okamoto 1999a, p. 546.
- ↑ Hofheinz, Hövelmanns & Kiltz 2017, pp. 344–346.
- ↑ Hofheinz, Hövelmanns & Kiltz 2017, pp. 343–345.
- ↑ Hofheinz, Hövelmanns & Kiltz 2017, p. 345.
- ↑ Hofheinz, Hövelmanns & Kiltz 2017, pp. 346–348.
- ↑ 28.0 28.1 Hofheinz, Hövelmanns & Kiltz 2017, p. 343.
- ↑ Hofheinz, Hövelmanns & Kiltz 2017, pp. 341, 343, 347.
- ↑ Hofheinz, Hövelmanns & Kiltz 2017, pp. 342, 346.
- ↑ Hofheinz, Hövelmanns & Kiltz 2017, p. 346.
- ↑ Hövelmanns, Hülsing & Majenz 2022, Abstract and § 1.
- ↑ NIST 2024, pp. 32–34.
- ↑ NIST 2024, p. 47.
- ↑ NIST 2024, p. 15.
- ↑ Hövelmanns et al. 2025.
Sources
- Boneh, Dan; Shoup, Victor (2023). A Graduate Course in Applied Cryptography (Version 0.6). http://toc.cryptobook.us/.
- Fujisaki, Eiichiro; Okamoto, Tatsuaki (1999a). "Secure integration of asymmetric and symmetric encryption schemes". in Wiener, Michael. Advances in Cryptology – CRYPTO '99. Lecture Notes in Computer Science. 1666. Berlin: Springer. pp. 537–554. doi:10.1007/3-540-48405-1_34. ISBN 978-3-540-66347-8.
- Fujisaki, Eiichiro; Okamoto, Tatsuaki (1999b). "How to enhance the security of public-key encryption at minimum cost". in Imai, Hideki; Zheng, Yuliang. Public Key Cryptography (PKC '99). Lecture Notes in Computer Science. 1560. Berlin: Springer. pp. 53–68. doi:10.1007/3-540-49162-7_5.
- Fujisaki, Eiichiro; Okamoto, Tatsuaki (2013). "Secure integration of asymmetric and symmetric encryption schemes". Journal of Cryptology 26 (1): 80–101. doi:10.1007/s00145-011-9114-1.
- Galindo, David; Martín, Sebastià; Morillo, Paz; Villar, Jorge L. (2005). "Fujisaki–Okamoto hybrid encryption revisited". International Journal of Information Security 4 (4): 228–241. doi:10.1007/s10207-004-0042-z.
- Hofheinz, Dennis; Hövelmanns, Kathrin; Kiltz, Eike (2017). "A modular analysis of the Fujisaki–Okamoto transformation". in Kalai, Yael; Reyzin, Leonid. Theory of Cryptography (TCC 2017), Part I. Lecture Notes in Computer Science. 10677. Cham: Springer. pp. 341–371. doi:10.1007/978-3-319-70500-2_12.
- Hövelmanns, Kathrin; Hülsing, Andreas; Majenz, Christian (2022). "Failing gracefully: decryption failures and the Fujisaki–Okamoto transform". in Agrawal, Shweta; Lin, Dongdai. Advances in Cryptology – ASIACRYPT 2022. Lecture Notes in Computer Science. 13794. Cham: Springer. pp. 414–443.
- Hövelmanns, Kathrin; Hülsing, Andreas; Majenz, Christian; Sisinni, Fabrizio (2025). "(Un)breakable curses – re-encryption in the Fujisaki-Okamoto transform". https://eprint.iacr.org/2025/299.
- Longa, Patrick; Bos, Joppe W.; Ehlen, Stephan; Stebila, Douglas (22 June 2026). FrodoKEM: Key Encapsulation from Learning with Errors (Internet-Draft). Internet Engineering Task Force. https://datatracker.ietf.org/doc/draft-longa-cfrg-frodokem/. Retrieved 28 August 2026.
- National Institute of Standards and Technology (2024). Module-Lattice-Based Key-Encapsulation Mechanism Standard (Report). Gaithersburg, MD: U.S. Department of Commerce. doi:10.6028/NIST.FIPS.203. FIPS 203. https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.203.pdf. Retrieved 27 August 2026.
- NIST (5 August 2026). "Security (Evaluation Criteria)". Post-Quantum Cryptography. National Institute of Standards and Technology. https://csrc.nist.gov/Projects/Post-Quantum-Cryptography/Post-Quantum-Cryptography-Standardization/Evaluation-Criteria/Security-(Evaluation-Criteria).
