Random Oracle Model and Authenticated Encryption. Generic Constructions of Authenticated Encryption Schemes
Definition
Random Oracle Model (ROM):
A security model in which a hash function is assumed to behave like a truly random function accessible to all parties through an oracle. Every input gives a uniformly random output, and the same input always returns the same output. This idealization is used to prove security properties of cryptographic constructions.
Authenticated Encryption (AE):
A symmetric encryption scheme that simultaneously provides:
Confidentiality
- : the plaintext is hidden from attackers.
Integrity / Authenticity
- : any modification of the ciphertext is detected and rejected.
Generic Construction of AE:
A standard method of building authenticated encryption from simpler primitives, usually by combining:
- an encryption algorithm,
- a message authentication code (MAC) or hash-based authentication,
- and sometimes a random oracle or hash-based derivation.
A secure AE scheme typically ensures that adversaries cannot distinguish encryptions of chosen messages and cannot forge valid ciphertexts, even after seeing many encrypted messages.
Main Content
1. Random Oracle Model
Idealized hash-function assumption
In the ROM, a hash function is replaced by a theoretical oracle that produces random-looking outputs. This allows cryptographers to analyze schemes under a powerful abstraction. For example, if a construction uses a hash function to derive encryption keys or authentication tags, the ROM assumes those values behave as if generated randomly.
Why it matters in security proofs
The ROM often enables proofs of security that are much simpler than standard-model proofs. Many generic AE schemes rely on hash functions to bind ciphertexts, associated data, and keys together. By treating the hash as random, the proof can argue that attackers gain no useful structure from the outputs.
Example:
If a scheme computes a tag as H(key || nonce || ciphertext), the ROM models H as a random oracle. An attacker who changes the ciphertext cannot predict the new valid tag without querying the oracle on the exact modified input.
ASCII illustration for oracle access
Adversary ----query----> Random Oracle H
^ |
|----same input---------|
|<---same random output--|
The important property is consistency: the same input always yields the same output, but the output is otherwise random.
2. Authenticated Encryption
Confidentiality plus integrity together
AE is designed to solve a weakness in plain encryption. Traditional encryption can hide messages, but it does not automatically prevent tampering. AE adds authentication so that decryption succeeds only if the ciphertext is authentic and unmodified.
Common AE security goals
A secure AE scheme should resist:
- ciphertext-only attacks,
- chosen-plaintext attacks,
- chosen-ciphertext attacks,
- forgery of valid ciphertexts,
- misuse of unauthenticated associated data.
Example:
A secure messaging app uses AE so that if an attacker flips a bit in the encrypted message, the receiver’s decryption routine rejects it rather than outputting corrupted plaintext.
How AE is typically structured
- A plaintext is encrypted with a secret key.
- A tag or authentication code is computed over the ciphertext and possibly additional data.
- The receiver verifies the tag before accepting the plaintext.
ASCII illustration for AE flow
Sender: plaintext + key --> Encrypt --> ciphertext + tag
Receiver: ciphertext + tag --> Verify --> plaintext or reject
AE is crucial because it ensures that secrecy and authenticity are not treated as separate add-ons, but as a unified security goal.
3. Generic Constructions of Authenticated Encryption Schemes
Encrypt-then-MAC as a generic approach
One of the most important generic constructions is Encrypt-then-MAC (EtM). First, the message is encrypted, then a MAC is applied to the ciphertext. This approach is widely recommended because it gives strong security under standard assumptions when implemented correctly.
Other composition patterns and their security
Common approaches include:
- MAC-then-Encrypt (MtE): authentication tag is computed on plaintext before encryption.
- Encrypt-and-MAC (E&M): encryption and MAC are computed independently.
- Encrypt-then-MAC (EtM): ciphertext is authenticated after encryption.
Among these, EtM is generally the best-known generic construction for AE because the tag protects the ciphertext directly, making tampering detectable before decryption.
Example of Encrypt-then-MAC
- Compute ciphertext:
C = Enc_K1(M) - Compute tag:
T = MAC_K2(C) - Send
(C, T)
At the receiver:
- Verify
TonC - If valid, decrypt
M = Dec_K1(C) - Otherwise reject
Why this is strong:
An attacker cannot alter the ciphertext without also producing a valid tag, which should be infeasible if the MAC is secure.
ASCII illustration for Encrypt-then-MAC
Plaintext M
|
v
Encrypt with K1
|
v
Ciphertext C -----> MAC with K2 -----> Tag T
| |
+------------- send (C, T) ---------+
Working / Process
1. Choose secure underlying primitives
Select an encryption scheme that provides confidentiality and a MAC or hash-based authenticator that provides unforgeability. In ROM-based settings, a hash function may also be used as a random oracle to derive keys, nonces, or tags.
2. Construct the authenticated encryption scheme
Use a secure composition method such as Encrypt-then-MAC. Encrypt the message first, then authenticate the ciphertext and any associated data. If associated data is needed, include it in the MAC input so that metadata is protected too.
3. Encrypt, transmit, verify, and decrypt
- Sender encrypts the plaintext.
- Sender computes the authentication tag.
- Receiver verifies the tag before decryption.
- If verification fails, the ciphertext is rejected.
- If verification succeeds, the receiver safely decrypts the message.
Process example
Sender
M -> Enc -> C -> MAC -> T -> transmit (C, T)
Receiver
receive (C, T) -> verify T -> if valid, Dec(C) -> M
-> else reject
This process ensures that attackers cannot learn the plaintext or modify it undetected.
Advantages / Applications
Strong protection against active attacks
AE protects not just against eavesdropping but also against tampering, replay, and message forgery. This is essential in hostile network environments.
Widely used in real-world systems
AE is used in secure messaging, HTTPS/TLS, VPNs, disk encryption modes, wireless communication, and authenticated APIs. Generic constructions provide a foundation for building these systems securely.
Useful for modular cryptographic design
The ROM and generic AE constructions allow designers to combine separate primitives in a structured way. This helps in proving security properties and in understanding why a scheme is safe.
Summary
- The Random Oracle Model treats a hash function like a perfectly random oracle for security analysis.
- Authenticated Encryption combines confidentiality and integrity in one scheme.
- Generic constructions, especially Encrypt-then-MAC, are a standard way to build secure AE schemes.
Important terms to remember: Random Oracle Model, Authenticated Encryption, confidentiality, integrity, MAC, Encrypt-then-MAC, ciphertext, tag, associated data