public-key steganography · public-key steganography luis von ahn and nicholas j. hopper carnegie...

21
Public-Key Steganography Luis von Ahn and Nicholas J. Hopper Carnegie Mellon University Abstract. Informally, a public-key steganography protocol allows two parties, who have never met or exchanged a secret, to send hidden messages over a public channel so that an adversary cannot even detect that these hidden messages are being sent. Unlike previous settings in which provable security has been applied to steganography, public-key steganography is information-theoretically impossible. In this work we introduce computational security conditions for public-key steganography similar to those introduced by Hopper, Langford and von Ahn [13] for the private-key setting. We also give the first protocols for public-key steganography and steganographic key exchange that are provably secure under standard cryptographic assumptions. Additionally, in the random oracle model, we present a protocol that is secure against adversaries that have access to a decoding oracle (the steganographic equivalent of CCA-2 adversaries). Key Words: Steganography, Public-Key Cryptography, Provable Security 1 Introduction Steganography refers to the problem of sending messages hidden in “innocent-looking” commu- nications over a public channel, so that an adversary eavesdropping on the channel cannot even detect the presence of the hidden messages. Simmons [23] gave the most popular formulation of the problem: two prisoners, Alice and Bob, wish to plan an escape from jail. However, the prison warden, Ward, can monitor any communication between Alice and Bob, and if he detects any hint of “unusual” communications, he throws them both in solitary confinement. Alice and Bob must then transmit their secret plans so that nothing in their communication seems “unusual” to Ward. There have been many proposed solutions to this problem, ranging from rudimentary schemes using invisible ink [14] to a protocol which is provably secure assuming that one-way functions exist [13]. However, the majority of these protocols have focused on the case where Alice and Bob share a secret or private key. If Alice and Bob were incarcerated before the need for steganography arose, these protocols would not help them. In contrast, public-key steganography allows parties to communicate steganographically with no prior exchange of secrets. As with public-key encryption, the sender of a message still needs to know the recipient’s public key or otherwise participate in a key exchange protocol. While it is true that if there is no global PKI, the use of public keys might raise suspicion, in many cases it is the sender of a message who is interested in concealing his communication and there is no need for him to publish any keys. In this paper we consider the notion of public-key steganography against adversaries that do not attempt to disrupt the communication between Alice and Bob (i.e., the goal of the adversary is only to detect whether steganography is being used and not to disrupt the communication between the participants). We show that secure public-key steganography exists if any of several standard cryptographic assumptions hold (each of these assumptions implies semantically secure public- key cryptography). We also show that secure steganographic key exchange is possible under the Integer Decisional Diffie-Hellman (DDH) assumption. Furthermore, we introduce a protocol that is secure in the random oracle model against adversaries that have access to a decoding oracle (the steganographic equivalent of CCA-2 adversaries). Related Work. There has been very little work work on provably secure steganography (either in the private or the public key settings). A critical first step in this field was the introduction of an information-theoretic model for steganography by Cachin [5], and several papers have since given

Upload: ledien

Post on 26-Apr-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

Public-Key Steganography

Luis von Ahn and Nicholas J. Hopper

Carnegie Mellon University

Abstract. Informally, a public-key steganography protocol allows two parties, who have never met orexchanged a secret, to send hidden messages over a public channel so that an adversary cannot evendetect that these hidden messages are being sent. Unlike previous settings in which provable securityhas been applied to steganography, public-key steganography is information-theoretically impossible.In this work we introduce computational security conditions for public-key steganography similar tothose introduced by Hopper, Langford and von Ahn [13] for the private-key setting. We also give thefirst protocols for public-key steganography and steganographic key exchange that are provably secureunder standard cryptographic assumptions. Additionally, in the random oracle model, we present aprotocol that is secure against adversaries that have access to a decoding oracle (the steganographicequivalent of CCA-2 adversaries).

Key Words: Steganography, Public-Key Cryptography, Provable Security

1 Introduction

Steganography refers to the problem of sending messages hidden in “innocent-looking” commu-nications over a public channel, so that an adversary eavesdropping on the channel cannot evendetect the presence of the hidden messages. Simmons [23] gave the most popular formulation ofthe problem: two prisoners, Alice and Bob, wish to plan an escape from jail. However, the prisonwarden, Ward, can monitor any communication between Alice and Bob, and if he detects any hintof “unusual” communications, he throws them both in solitary confinement. Alice and Bob mustthen transmit their secret plans so that nothing in their communication seems “unusual” to Ward.

There have been many proposed solutions to this problem, ranging from rudimentary schemesusing invisible ink [14] to a protocol which is provably secure assuming that one-way functionsexist [13]. However, the majority of these protocols have focused on the case where Alice and Bobshare a secret or private key. If Alice and Bob were incarcerated before the need for steganographyarose, these protocols would not help them. In contrast, public-key steganography allows parties tocommunicate steganographically with no prior exchange of secrets. As with public-key encryption,the sender of a message still needs to know the recipient’s public key or otherwise participate ina key exchange protocol. While it is true that if there is no global PKI, the use of public keysmight raise suspicion, in many cases it is the sender of a message who is interested in concealinghis communication and there is no need for him to publish any keys.

In this paper we consider the notion of public-key steganography against adversaries that donot attempt to disrupt the communication between Alice and Bob (i.e., the goal of the adversary isonly to detect whether steganography is being used and not to disrupt the communication betweenthe participants). We show that secure public-key steganography exists if any of several standardcryptographic assumptions hold (each of these assumptions implies semantically secure public-key cryptography). We also show that secure steganographic key exchange is possible under theInteger Decisional Diffie-Hellman (DDH) assumption. Furthermore, we introduce a protocol that issecure in the random oracle model against adversaries that have access to a decoding oracle (thesteganographic equivalent of CCA-2 adversaries).

Related Work. There has been very little work work on provably secure steganography (either inthe private or the public key settings). A critical first step in this field was the introduction of aninformation-theoretic model for steganography by Cachin [5], and several papers have since given

similar models [16, 19, 26]. Unfortunately, these works are limited in the same way that information-theoretic cryptography is limited. In particular, in any of these frameworks, secure steganographybetween two parties with no shared secret is impossible. Hopper, Langford, and von Ahn [13] havegiven a theoretical framework for steganography based on computational security. Our model willbe substantially similar to theirs, but their work addresses only the shared-key setting, which isalready possible information-theoretically. Although one of their protocols can be extended to thepublic-key setting, they do not consider formal security requirements for public-key steganography,nor do they consider the notions of steganographic-key exchange or adversaries that have access toboth encoding and decoding oracles.

Anderson and Petitcolas [1], and Craver [9], have both previously described ideas for public-keysteganography. This work will differ from theirs in several significant ways:

1. [1] and [9] do not attempt to give rigorous definitions, and give only heuristic arguments forthe security of their constructions. In contrast, we will give rigorous definitions and proofs ofsecurity.

2. [1] does not describe any mechanism for generating encoded messages, but simply assumes“the ability to manipulate some bits of the cover.” Similarly, [9] assumes the existence of a“supraliminal function” F and the ability to generate an x for which F (x) = y, for arbitraryy. In contrast, our model is constructive and does not assume the existence of a function withnon-standard properties.

Inspired by a previous version of our work, a recent IACR pre-print [24] attempts to give aprovably secure public-key stegosystem. Unfortunately this work contains a flaw. The author of[24] claims that his stegosystem has probability zero of decoding error; while this is true in therestricted case that the channel distribution is known exactly by both the sender and recipient, itis easy to construct an (uncountably) infinite set of channels for which the general construction hascorrect decoding probability approaching zero. We do not know of a way to repair the construction,which in fact fails for many natural channels. Furthermore, [24] only considers a notion similar toour weakest security condition.

To the best of our knowledge, we are the first to provide a formal framework for public-keysteganography and to prove that public-key steganography is possible (given that standard cryp-tographic assumptions hold). We are also the first to consider adversaries that have access todecoding oracles (in a manner analogous to CCA-2 adversaries); we show that security againstsuch adversaries can be achieved in the random oracle model. We stress that our protocols are notrobust against adversaries wishing to render the steganographic communication channel useless.Throughout the paper, the goal of the adversary is detection, not disruption.

2 Definitions

Preliminaries. A function µ : N → [0, 1] is said to be negligible if for every c > 0, for allsufficiently large n, µ(n) < 1/nc. We denote the length (in bits) of a string or integer s by |s|. Theconcatenation of string s1 and string s2 will be denoted by s1||s2. We also assume the existence ofefficient, unambiguous pairing and un-pairing operations, so (s1, s2) is not the same as s1||s2. Welet Uk denote the uniform distribution on k bit strings. If X is a finite set, we let U(X) denotethe uniform distribution on X. If C is a distribution with finite support X, we define the minimumentropy of C, H∞(C), as

H∞(C) = minx∈X

{log2

1PrC [x]

}.

We say that a function f : X → {0, 1} is ε-biased if |Prx←C [f(x) = 0]− 1/2| < ε. We say f isunbiased if f is ε-biased for ε a negligible function of the appropriate security parameter. We say fis perfectly unbiased if Prx←C [f(x) = 0] = 1/2.

Integer Decisional Diffie-Hellman. Let P and Q be primes such that Q divides P−1, let Z∗P bethe multiplicative group of integers modulo P , and let g ∈ Z∗P have order Q. Let A be an adversarythat takes as input three elements of Z∗P and outputs a single bit. Define the DDH advantage of Aover (g, P,Q) as:

Advddhg,P,Q(A) =

∣∣∣∣ Pra,b,r

[Ar(ga, gb, gab) = 1]− Pra,b,c,r

[Ar(ga, gb, gc) = 1]∣∣∣∣ ,

where Ar denotes the adversary A running with random tape r, a, b, c are chosen uniformly atrandom from ZQ and all the multiplications are over Z∗P . Define the DDH insecurity of (g, P,Q) asInSecddh

g,P,Q(t) = maxA∈A(t)

{Advddh

g,P,Q(A)}, where A(t) denotes the set of adversaries A that run

for at most t time steps.

Trapdoor One-way Permutations. A trapdoor one-way permutation family Π is a sequence ofsets {Πk}k, where each Πk is a set of bijective functions π : {0, 1}k → {0, 1}k, along with a triple ofalgorithms (G,E, I). G(1k) samples an element π ∈ Πk along with a trapdoor τ ; E(π, x) evaluatesπ(x) for x ∈ {0, 1}k; and I(τ, y) evaluates π−1(y). For a PPT A running in time t(k), denote theadvantage of A against Π by

AdvowΠ (A, k) = Pr

(π,τ)←G(1k),x←Uk[A(π(x)) = x] .

Define the insecurity of Π by InSecowΠ (t, k) = maxA∈A(t) {Advow

Π (A, k)}, where A(t) denotes theset of all adversaries running in time t(k). We say that Π is a trapdoor one-way permutation familyif for every probabilistic polynomial-time (PPT) A, Advow

Π (A, k) is negligible in k.

Public-Key Encryption Indistinguishable From Random Bits. We will require public-keyencryption schemes that are secure in a slightly non-standard model, which we will denote by IND$-CPA in contrast to the more standard IND-CPA. Let E = (G,E,D) be a probabilistic public-keyencryption scheme, where E : PK×R×P → C. Consider a game in which an adversary A is givenaccess to an oracle which is either:– EPK for (PK,SK) ← G(1k); that is, an oracle which given a message m, uniformly selects

random bits r and returns EPK(r,m); or– $(·) = U|EPK(·)|; that is, an oracle which on any query ignores its input and returns a uniformly

selected output of the appropriate length.

A is also given access to the public key PK used by its oracle to answer queries. Let A(t, q, l) bethe set of adversaries A which make q(k) queries to the oracle totalling at most l(k) bits and runfor t(k) time steps. Define the IND$-CPA advantage of A against E as

AdvcpaE (A, k) =

∣∣∣∣ Pr(PK,SK)←G(1k),r←{0,1}∗

[AEPKr (PK) = 1]− Pr

(PK,SK),r[A$

r(PK) = 1]∣∣∣∣

where Ar denotes the adversary A with random tape r, and the probabilities are also takenover the randomness of the oracles EPK , $. Define the insecurity of E as InSeccpa

E (t, q, l, k) =maxA∈A(t,q,l)

{Advcpa

E (A, k)}. E is (t, q, l, k, ε)-indistinguishable from random bits under chosen

plaintext attack if InSeccpaE (t, q, l, k) ≤ ε(k). E is called indistinguishable from random bits under

chosen plaintext attack (IND$-CPA) if for every probabilistic polnyomial-time (PPT) A, AdvcpaE (A, k)

is negligible in k.We note that using a family of trapdoor permutations on domain {0, 1}k, the Efficient Proba-

bilistic Encryption scheme of [11] (generalized from the scheme of [3]) is IND$-CPA secure. Thus,under the assumption that such families exist, IND$-CPA public-key encryption also exists. InAppendix D, we show how to construct schemes satisfying this condition under more general cryp-tographic assumptions, and give direct constructions under popular concrete assumptions.

Existentially Unforgeable Digital Signature Schemes. Let SG = (G,S, V ) be a digitalsignature scheme. Consider the following game that an adversary A plays against SG: the adversaryA is given V K and oracle access to SSK , where (SK, V K)← G(1k). A makes q(k) oracle queriesof at most l(k) bits to get back {SSK(M1), ..., SSK(Mq)}. A then outputs a pair (M,σM ). A winsif M /∈ {M1, ...,Mq} and V (V K,M, σM ) = 1.

Denote the event of Ar winning the game by wins(Ar, k), where r denotes the random coinsused by A, k is the security parameter used to generate the keys, and s denotes the randomnessused by the game (in generating (SK, V K) and in generating the q(k) signatures). Let A(t, q, l) bethe set of adversaries A which make q(k) queries to the oracle of at most l(k) bits and run for t(k)time steps. Define the EUF-CMA advantage of A against SG as

AdvcmaSG (A, k) =

∣∣∣∣ Prs,r←{0,1}∗

[wins(Ar, k)]∣∣∣∣ .

Define the insecurity of SG as InSeccmaSG (t, q, l, k) = maxA∈A(t,q,l)

{Advcma

SG (A, k)}. We say that

SG is (t, q, l, k, ε)-existentially unforgeable under chosen message attack if InSeccmaSG (t, q, l, k) ≤ ε(k).

SG is called existentially unforgeable under chosen message attack (EUF-CMA) if for every PPTA, Advcma

SG (A, k) is negligible in k. We note that EUF-CMA signature schemes exist if and only ifone-way functions exist [17, 20].

3 Channels

We seek to define steganography in terms of indistinguishability from a “usual” or innocent-lookingdistribution on communications. In order to do so, we must characterize this innocent-lookingdistribution. We follow [13] in using the notion of a channel, which models a prior distribution onthe entire sequence of communication from one party to another:

Definition. Let D be an efficiently recognizable, prefix-free set of strings, or documents. A channelis a distribution on sequences s ∈ D∗.1

Any particular sequence in the support of a channel describes one possible outcome of all commu-nications from Alice to Bob. The process of drawing from the channel, which results in a sequenceof documents, is equivalent to a process that repeatedly draws a single “next” document from adistribution consistent with the history of already drawn documents. Therefore, we can think ofcommunication as a series of these partial draws from the channel distribution, conditioned on whathas been drawn so far. Notice that this notion of a channel is more general than the typical settingin which every symbol is drawn independently according to some fixed distribution: our channelexplicitly models the dependence between symbols common in typical real-world communications.

Let C be a channel. We let Ch denote the marginal channel distribution on a single documentfrom D conditioned on the history h of already drawn documents; we let Clh denote the marginaldistribution on sequences of l documents conditioned on h. When we write “sample x ← Ch” wemean that a single document should be returned according to the distribution conditioned on h.We use CA→B,h to denote the channel distribution on the communication from party A to party B.

We will require that a channel satisfy a minimum entropy constraint for all histories. Specifically,we require that there exist constants L > 0, b > 0, α > 0 such that for all h ∈ DL, eitherPrC [h] = 0 or H∞(Cbh) ≥ α. If a channel does not satisfy this property, then it is possible for Aliceto drive the information content of her communications to 0, so this is a reasonable requirement.We say that a channel satisfying this condition is L-informative, and if a channel is L-informativefor all L > 0, we say it is always informative. Note that this definition implies an additive-likeproperty of minimum entropy for marginal distributions, specifically, H∞(Clbh ) ≥ lα . For ease of1 Hopper, Langford and von Ahn [13] define a channel so that each document in a sequence drawn from the channel

has a time associated with it. These (presumably sending) times must then be respected by their protocols. Weomit this timing information for simplicity, but remark that in a situation where precise timing information isavailable, it can be incorporated into our protocols orthogonally, with no effect on our results.

exposition, we will assume channels are always informative in the remainder of this paper; however,our theorems easily extend to situations in which a channel is L-informative.

In our setting, each ordered pair of parties (P,Q) will have their own channel distributionCP→Q. In these cases, we assume that among the legitimate parties, only party A has oracle accessto marginal channel distributions CA→B,h for every other party B and history h. On the otherhand, we will allow the adversary oracle access to marginal channel distributions CP→Q,h for everypair P,Q and every history h. This allows the adversary to learn as much as possible about anychannel distribution but does not require any legitimate participant to know the distribution oncommunications from any other participant. We will assume that each party knows the history ofcommunications it has sent and received from every other participant.

We will also assume that cryptographic primitives remain secure with respect to oracles whichdraw from the marginal channel distributions CA→B,h. Thus channels which can be used to solvethe hard problems that standard primitives are based on must be ruled out. In practice this is oflittle concern, since the existence of such channels would have previously led to the conclusion thatthe primitive in question was insecure.

4 Public-key Steganography

Definition 1. (Stegosystem) A public-key stegosystem is a triple of probabilistic algorithms S =(SG, SE, SD). SG(1k) generates a key pair (PK,SK) ∈ PK × SK. SE takes a (public) keyPK ∈ PK, a string m ∈ {0, 1}∗ (the hiddentext), and a message history h. SE also has access toa channel oracle for some channel C, which can sample from Ch for any h. SE(PK,m, h) returnsa sequence of documents s1, s2, . . . , sl (the stegotext) from the support of Clh. SD takes a (secret)key SK ∈ SK, a sequence of documents s1, s2, . . . , sl, and a message history h, and returns ahiddentext m. Additionally, for every polynomial p there must exist a negligible µ such that

∀m ∈ {0, 1}p(k) : Pr(PK,SK)←SG(1k)

[SD(SK,SE(PK,m, h), h) = m] ≥ 1− µ(k)

where the randomization is also over any coin tosses of SE, SD, SG and the oracle to Ch.

Remarks

1. SE will be allowed access to an oracle that can sample from the channel distribution Ch. Westress that SE need not know the exact probabilities of documents in Ch. This is importantto mention, as it is unreasonable to assume that the probabilities in Ch are known, whereasanybody communicating can be thought of as an oracle for the channel distribution Ch.

2. We emphasize the terminology: the secret message that Alice wants to send to Bob is called thehiddentext; documents from the channel are called covertexts, and documents that are outputby SE are called stegotexts.

3. While in general Alice will need to remember the history of documents transmitted to Bob,it is most desirable if Bob is not required to store the history of documents he has receivedfrom Alice. Some of our protocols require Bob to store this history, but it is straightforward torewrite them so that Bob need only remember a collision-intractable digest of the history. In thispaper we are not concerned with attacks in which Ward attempts to disrupt the communicationbetween Alice and Bob, so the dependence of decoding on accurate history is chiefly a storageconcern.

Steganographic Secrecy

We will model a warden attacking a stegosystem as an efficient oracle machine which plays thefollowing oracle-distinguishing game:

1. W is given access to an oracle which samples documents from the marginal channel distributionsCA→B,h for any history h. (This oracle allows W to learn the covertext distribution on allcommunications.)

2. W is given access to a second oracle which is either STatk or CTatk. The oracle ST (for StegoText)will model the case in which the pair Alice and Bob are communicating steganographically,while the oracle CT (for CoverText) will model the case in which they are not. The exactdistributions over STatk, CTatk vary depending on the attack model, atk. Below we will specifythese distributions for atk ∈ {cha, cxo}. Both oracles respond to the null query with any publickeys generated by SG.

3. In the end, W outputs a bit.

We define the advantage of W against stegosystem S over channel C in attack model atk by

AdvatkS,C(W,k) =

∣∣∣Prr

[W C,STatkr (1k) = 1]− Pr

r[W C,CTatk

r (1k) = 1]∣∣∣ ,

where the warden uses random bits r and the probabilities are also taken over the oracles. Definethe insecurity of S over channel C by InSecatk

S,C(t, q, l, k) = maxW∈W(t,q,l)

{Advatk

S,C(W,k)}, where

W(t, q, l) denotes the set of all adversaries which make at most q(k) oracle queries totaling at mostl(k) bits, and running in time at most t(k). For ease of notation, we will denote W C by W for theremainder of the paper.

Definition 2. (Steganographic secrecy) A Stegosystem S is called (t, q, l, k, ε)-steganographicallysecret against atk (SS-ATK) for the channel C if InSecatk

S,C(t, q, l, k) ≤ ε(k).

Chosen Hiddentext Attack (CHA). In a chosen hiddentext attack, W is allowed to supply hid-dentexts to Alice, in hopes of detecting whether or not she is using steganography in her communica-tions with Bob. Thus W hopes to distinguish, for as many chosen messages m as he needs, betweenthe case that Alice’s communications are drawn from SE(PKB,m, h) or from C|SE(PKB ,m,h)|

A→B,h (whereall m and h are chosen by W ). Formally, we define the following distributions on STcha and CTcha:

– To sample from STcha: draw (PK,SK) ← SG(1k) once, and respond to all queries withSTcha(m,h)← SE(PK,m, h).

– To sample from CTcha: draw (PK,SK) ← SG(1k) once, and respond to all queries withCTcha(m,h)← C|SE(PK,m,h)|

h .

Thus, the key pair (PK,SK) is drawn once and fixed, and Ward is allowed to query his oracle witharbitrary (m,h) pairs. (Note that a chosen hiddentext attack is the steganographic equivalent of achosen plaintext attack against an encryption scheme.)

Chosen Exactly-One Attack (CXO). In a chosen exactly-one attack, Ward may both submithiddentexts to Alice for encoding, and submit stegotexts to Bob for decoding, but he is prohibitedfrom accessing both at the same time (i.e., with the same history). This models a scenario in whichWard can inject messages onto a network, but cannot replace them; for example, this may bethe situation if he is connected to the same shared access network as Bob, but does not controlthe medium. As in all of our attack models, Ward’s goal is to determine whether the specificpair of Alice and Bob are communicating steganographically rather than whether Alice or Bobare using steganography at all. In the case that Ward asks Bob to decode stegotexts, his goalis to detect whether Bob is receiving steganography from Alice by watching Bob’s reaction tostegotexts (allegedly from Alice) generated by Ward himself. If Bob is not receiving steganographyfrom Alice, he will always output the distinguished message ⊥, meaning “no reaction.” If Bob isreceiving steganography from Alice, he will decode the stegotexts.

We formally define the oracle distributions STcxo, CTcxo as follows: First, draw (PK,SK) ←SG(1k), and set φ = {}. Respond to queries using these programs:

STcxo(b ∈ {enc, dec},m, h)if (b = enc) then:

Sample s← SE(PK,m, h)Set φ = φ ∪ {h}return s

elseIf h ∈ φ return “”else return SD(SK,m, h)

CTcxo(b ∈ {enc, dec},m, h)if (b = enc) then:

Sample s← C|SE(PK,m,h)|h

Set φ = φ ∪ {h}return s

elseIf h ∈ φ return “”else return ⊥

Note that InSecchaS,C(t, q, l, k) ≤ InSeccxo

S,C(t, q, l, k), since any CHA warden can be emulated by aCXO warden making only (enc,m, h)-queries.

SS-CXO is the strongest notion of security that we are able to achieve in the standard model.Since any stegotext encoded by Alice can be thought of as a “challenge stegotext,” (Ward’s goalis only to detect that it is, in fact, a stegotext rather than a covertext) this condition is some-what analogous to non-adaptive chosen ciphertext security (IND-CCA1) for public-key encryption.However, in the random oracle model and assuming the channel is efficiently sampleable (i.e., thereexists a PPT that can sample from the channel for any history), we can achieve a security conditionanalogous to adaptive chosen ciphertext security (IND-CCA2). We outline this security condition aswell as the construction in Section 7.

5 Steganographic Key Exchange

A natural alternative to public-key steganography is steganographic key exchange: Alice and Bobexchange a sequence of messages, indistinguishable from normal communication traffic, and at theend of this sequence they are able to compute a shared key. So long as this key is indistinguishablefrom a random key to the warden, Alice and Bob can proceed to use their shared key in a secret-keystegosystem. In this section, we will formalize this notion.

Definition 3. (Steganographic Key Exchange Protocol) A steganographic key exchange protocol,or SKEP, is a quadruple of efficient probabilistic algorithms SKE = (SEA, SEB, SDA, SDB). SEAand SEB take as input a security parameter 1k and a string of random bits, and output a sequence ofdocuments of length l(k); SDA and SDB take as input a security parameter, a string of random bits,and a sequence of documents of length l(k), and output an element of the key space K. Additionally,these algorithms satisfy the property that there exists a negligible function µ(k) satisfying:

PrrA,rB

[SDA(1k, rA, SEB(1k, rB)) = SDB(1k, rB, SEA(1k, rA))] ≥ 1− µ(k) .

We call the output of SDA(1k, rA, SEB(1k, rB)) the result of the protocol, we denote this result bySKE(rA, rB), and we denote by Tk(rA, rB) (for transcript) the pair (SEA(1k, rA), SEB(1k, rB)).

Alice and Bob perform a key exchange using SKE by sampling private randomness rA, rB,asynchronously sending SEA(1k, rA) and SEB(1k, rB) to each other, and using the result of theprotocol as a key. Notice that in this definition a SKEP must be an asynchronous single-roundscheme, ruling out multi-round key exchange protocols. This is for ease of exposition only.

We remark that many authenticated cryptographic key exchange protocols require three flowswithout a public-key infrastructure. Our SKE scheme will be secure with only two flows because wewon’t consider the same class of attackers as these protocols; in particular we will not worry aboutactive attackers who alter the communications between Alice and Bob, and so Diffie-Hellman styletwo-flow protocols are possible. This may be a more plausible assumption in the SKE setting, sincean attacker will not even be able to detect that a key exchange is taking place, while cryptographickey exchanges are typically easy to recognize.

Let W be a warden running in time t. We define W ’s SKE advantage against SKE on channelsCA→B and CB→A with security parameter k by:

AdvskeSKE ,CA→B ,CB→A(W,k) =

∣∣∣∣ PrrA,rB

[W (Tk(rA, rB), SKE(rA, rB)) = 1]− PrσA,σB ,K

[W (σA, σB,K) = 1]∣∣∣∣ ,

where σA ← Cl(k)A→B,hA , σB ← C

l(k)B→A,hB , and K ← K. We remark that, as in our other definitions,

W also has access to channel oracles CA→B,h and CB→A,h. Let W(t) denote the set of all wardensrunning in time t. The SKE insecurity of SKE on channels CA and CB with security parameter k isgiven by InSecske

SKE ,CA→B ,CB→A(t, k) = maxW∈W(t)

{Advske

SKE ,CA→B ,CB→A(W,k)}.

Definition 4. (Secure Steganographic Key Exchange) A SKEP SKE is said to be (t, ε)-secure forchannels CA→B and CB→A if InSecske

SKE(t, k) ≤ ε(k). SKE is said to be secure if for all polynomials

p, SKE is (p(k), ε(k))-secure for some negligible function ε.

6 Constructions

Most of our protocols build on the following construction, a generalization of Construction 2 in[13] and similar to a protocol given by Cachin [5]. Let f : D → {0, 1} be a public function (recallthat C is a distribution on sequences of elements of D). If f is is perfectly unbiased on Ch for allh, then the following encoding procedure, on uniformly distributed l-bit input c, produces outputdistributed exactly according to Clh:

Construction 1. (Basic encoding/decoding routines)

Procedure Basic Encode:Input: bits c1, . . . , cl, history h, bound kfor i = 1 . . . l do

Let j = 0repeat:

sample si ← Ch, increment juntil f(si) = ci OR (j > k)set h = h||si

Output: s1, s2, . . . , sl

Procedure Basic Decode:Input: Stegotext s1, s2, . . . , slfor i = 1 . . . l do

set ci = f(si)set c = c1||c2|| · · · ||cl.Output: c

Note that for infinitely many Ch there is no perfectly unbiased function f . In appendix C, we proveProposition 1, which together with Proposition 2, justifies our use of unbiased functions. The prooffor Proposition 2 is straightforward and is omitted from the paper.

Proposition 1. Any channel C which is always informative can be compiled into a channel C(k)

which admits an efficiently computable function f such that for any polynomial-length sequenceh1, . . . , hn satisfying PrC [hi] 6= 0,

∣∣∣Pr[f(C(k)hi

) = 1]− 12

∣∣∣ is negligible in k for all 1 ≤ i ≤ n.

Proposition 2. If f is ε-biased on Ch for all h, then for any k and s1, s2, . . . , sl:

| Prc←Ul

[Basic Encode(c, h, k) = s1, s2, . . . , sl]− Prs←Clh

[s = s1, s2, . . . , sl]| ≤ εl .

Using the previous two propositions, we will show that public-key steganography is possible in anychannel that is always informative. We note that procedure Basic Encode has a small probability offailure: Basic Decode(Basic Encode(c, h, k)) might not equal c. This probability of failure, however,is negligible in k.

6.1 Chosen Hiddentext security

Let EPK(·) and DSK(·) denote the encryption and decryption algorithms for a public-key cryp-tosystem E which is indistinguishable from random bits under chosen plaintext attack (IND$-CPA).Let ` be the expansion function of E , i.e., |EPK(m)| = `(|m|). The following procedures allowencoding and decoding of messages in a manner which is steganographically secret under chosenhiddentext attack for the channel distribution C:

Construction 2. (Chosen Hiddentext Security)

Procedure CHA Encode:Input: message m, history h, key PKLet c = EPK(m)Output: Basic Encode(c, h, k)

Procedure CHA Decode:Input: stegotext s1, s2, . . . , sl, secret key SKLet c = Basic Decode(s1, s2, . . . , sl)Output: DSK(c)

Lemma 1. Assume f is ε-biased on Ch for all h. For any warden W ∈ W(t, q, l), we can constructan IND$-CPA adversary A where

AdvchaCHA,C(W,k) ≤ Advcpa

E (A, k) + `(l)ε.

The running time of A is at most t+O(kl) (k is the security parameter of (PK,SK) and is usedas a bound for Basic Encode), and A makes q encryption queries for a total of l bits of plaintext.

Proof. We are given a program W for distinguishing between the output of Construction 2 and theordinary traffic of the channel, and an oracle for sampling blocks from that channel. We constructa program A which plays the IND$-CPA game: distinguishing an EPK(·) oracle from a uniformoracle. AO simply runs W , using the encoding procedure CHA Encode with the oracle O in place ofEPK(·) to respond to encoding queries. Consider the two cases for O:

1. O(m) = EPK(m). Then the responses to W ’s queries will be identically distributed to stegotextsresulting from the normal use of Construction 2, so Pr[AEPK (PK) = 1] = Pr[WSTcha(1k) = 1].

2. O(m) = U|EPK(m)| is chosen uniformly from strings of appropriate length. Then the documentsreturned by CHA Encode will be identically distributed to those returned by Basic Encode; thus|Pr[A$(PK) = 1]− Pr[WCTcha(1k) = 1]| ≤ `(l)ε by Proposition 2.

Combining the cases, we have AdvchaCHA,C(W,k) ≤ |Pr[AEPK (PK) = 1]−Pr[A$(PK) = 1]|+ `(l)ε =

AdvcpaE (A, k) + `(l)ε, as claimed.

Theorem 1. If f is ε-biased on Ch for all h, then

InSecchaCHA,C(t, q, l, k) ≤ InSeccpa

E (t+O(kl), q, l, k) + `(l)ε .

6.2 Chosen Exactly-One security

Let SG = (GS , S, V ) be a EUF-CMA secure signature scheme, with signature key KS and verificationkey KV , and let E = (G,E,D) be a IND$-CPA encryption scheme with public key PK and secretkey SK. Let ` be the expansion function of E and let `σ be the length of signatures generated bySG. Then the following construction yields a SS-CXO secure stegosystem from Alice to Bob, whenAlice knows PK,KS and Bob knows SK,KV . Assume also that all keys are generated with securityparameter k.

Construction 3. (Chosen Exactly-One Security)

Procedure CXO Encode:Input: m, h, PK, KS

Let c = EPK(m,SKS (h,m))Output: Basic Encode(c, h, k)

Procedure CXO Decode:Input: s1, s2, . . . , sl, h, SK, KV

Let c = Basic Decode(s1, s2, . . . , sl)Let (m,σ) = DSK(c)Output: if V (KV , (h,m), σ) = 1 then m, else ⊥

Theorem 2. Assume f is ε-biased on Ch for all h. Then

InSeccxoCXO,C(t, q, l, k) ≤ InSeccma

SG (t+O(kl), q, l, k) + InSeccpaE (t+O(kl), q, l+ q`σ, k) + `(l+ q`σ)ε .

Proof. (Sketch) We consider the hybrid oracle H which answers encoding queries using CXO Encodeand answers all decoding queries with ⊥. Distinguishing this hybrid from STcxo equates to distin-guishing CXO Decode from the constant oracle ⊥ on some history h for which no query of the form(enc, ∗, h) has been made. This can only happen if a decoding query contains a signature on a(m,h) pair which was never signed by CXO Encode (because no encoding queries were ever madewith the history h). So, intuitively, distinguishing between H and STcxo requires forging a signa-ture. Similarly, since both H and CTcxo answer all dec queries by ⊥, distinguishing between themamounts to a chosen-hiddentext attack, which by Lemma 1 would give an IND$-CPA attacker forE . The result follows by the triangle inequality. For the full details of the proof, see Appendix A.

The above construction is vulnerable to a more powerful but still quite reasonable adversary.In particular, if Ward is able to modify messages sent by Alice before they are received by Bob, hemay detect steganographic communications between them. The attack works as follows: supposeAlice outputs the stegotext s1, . . . , sl. Ward chooses document s′1 such that f(s′1) = f(s1) andsubmits s′1, s2, . . . , sl to Bob. Now if Bob decodes with the same history as Alice encoded with, theresult will be a valid hiddentext rather than ⊥. (Notice that this won’t give a CXO attack againstCXO Decode because in a CXO attack Ward must use a different history, which has not been signedby Alice.) In Section 7 we specify a third security security property, SS-CSA, which guaranteessecurity against attacks of this type.

6.3 Steganographic Key Exchange

The idea behind behind the construction for steganographic key exchange is simple: let g generateZ∗P , let Q be a large prime with P = rQ + 1 and r coprime to Q, and let g = gr generate the

subgroup of order Q. Alice picks random values a ∈ ZP−1 uniformly at random until she finds onesuch that ga mod P has its most significant bit (MSB) set to 0 (so that ga mod P is uniformlydistributed in the set of bit strings of length |P | − 1). She then uses Basic Encode to send all thebits of ga mod P except for the MSB (which is zero anyway). Bob does the same and sends allthe bits of gb mod P except the most significant one (which is zero anyway) using Basic Encode.Bob and Alice then perform Basic Decode and agree on the key value gab:

Construction 4. (Steganographic Key Exchange)

Procedure SKE EncodeA:Input: primes P,Q, h, g ∈ Z∗P of order rQrepeat:

sample a← U(ZP−1)until MSB of ga mod P equals 0Let ca = all bits of ga except MSBOutput: Basic Encode(ca, h, k)

Procedure SKE DecodeA:Input: Stegotext s1, s2, . . . , sl, exponent aLet cb = Basic Decode(s1, s2, . . . , sl)Output: crab mod P = gab

Lemma 2. Let f be ε-biased on CA→B,hA and CB→A,hB for all hA, hB. Then for any warden W ∈W(t), we can construct a DDH adversary A where Advddh

g,P,Q(A) ≥ 14Advske

SKE(W,k) − ε|P |. Therunning time of A is at most t+O(k|P |).

Proof. (Sketch) Define r to be the least element such that rr = 1 mod Q. The algorithm A worksas follows. Given elements (ga, gb, gc) of the subgroup of order Q, we uniformly choose elementska, kb ← Zr, and set ca = (ga)rgkaQ, and cb = (gb)rgkbQ. If MSB(ca) = MSB(cb) = 0, we thenreturn W (Basic Encode(ca, hA, k), Basic Encode(cb, hB, k), gc), otherwise we return 0. Notice thatthe key computed by SKE Decode would be crba =

((ga)rgkaQ

)rb = (gab)rrgrQkab = gab.The decrease in W ’s advantage comes from the fact that A excludes some elements of Z∗P by

sampling to get the MSB = 0, but we never exclude more than 1/2 of the cases for either ca or cb.The ε|P | difference follows from Proposition 2 and the fact that ca,cb are uniformly distributed onU|P |−1.

Theorem 3. If f is ε-biased on CA→B,hA and CB→A,hB for all hA, hB, then

InSecskeSKE,C(t, k) ≤ 4ε|P |+ 4InSecddh

g,P,Q(t+O(k|P |))) .

7 Chosen-Stegotext Attacks

We now introduce a security condition analogous to adaptive chosen ciphertext security for en-cryption schemes (IND-CCA2), SS-CSA. We will construct a stegosystem which is SS-CSA-secure inthe Random Oracle model, for any channel which is efficiently sampleable: that is, for which thereexists a PPT C such that for all h, C(h;Uk) and Ch are indistinguishable.

Definition. We formally define the oracle distributions STcsa, CTcsa as follows: First, draw (PK,SK)←SG(1k), and set φ = {}. Respond to queries using these programs:

STcsa (b ∈ {enc, dec},m, h)if(b = enc) then:

Sample s← SE(PK,m, h)Set φ = φ ∪ {(s, h)}return s

elseIf (m,h) ∈ φ return “”else return SD(SK,m, h)

CTcsa (b ∈ {enc, dec},m, h)if(b = enc) then:

Sample s← C|SE(PK,m,h)|h

Set φ = φ ∪ {(s, h)}return s

elseIf (m,h) ∈ φ return “”else return ⊥

Thus, in a chosen-stegotext attack, Ward may ask Alice to encode any (message, history) pair ofhis choosing, as often as he likes, and may query Bob on any pair (s, h) where s was not a result ofan encoding query for history h. Notice that if Ward can ask Bob to decode any message outputby Alice for the same history it was encoded with, he can detect the use of steganography betweenAlice and Bob; this is why we do not allow Ward to query Bob on such stegotexts. This restrictionis roughly analogous to the standard restriction that an adaptive chosen-ciphertext attacker maynot query his decryption oracle on the challenge ciphertext. Advantage and insecurity for SS-CSAare defined analogously to SS-CXO, except that we count encoding and decoding queries separately(as qe and qd) as well as counting the number of queries made to random oracles.

Construction. We assume that πA, πB are elements of trapdoor one-way permutation familyΠk, where Alice knows π−1

A and Bob knows π−1B . In addition, we assume all parties have access

to random oracles F : {0, 1}∗ → {0, 1}k, G : {0, 1}∗ → {0, 1}k, H1 : {0, 1}k → {0, 1}∗, andH2 : {0, 1}∗ → {0, 1}k. The following construction slightly modifies techniques from [4], using therandom oracles H1 and H2 with πB to construct a pseudorandom non-malleable encryption schemeand the oracle F in conjunction with πA to construct a strongly unforgeable signature scheme.

Construction 5. (Chosen Stegotext Security)

Procedure UEncodeG:Input: c ∈ {0, 1}l, r ∈ {0, 1}k, hfor i = 1 . . . l do

Let j = 0repeat:

set si = C(h;G(h, r, c, j))increment j

until f(si) = ci OR (j > k)set h = (h, si)

Output: s1, s2, . . . , sl

Procedure CSA EncodeF,G,H :Input: m1 · · ·m`, h, π−1

A , πBChoose r ← UkLet σ = π−1

A (F (r,m, h))Let e = H1(r)⊕ (m,σ)Let τ = H2(r,m, h)Let y = πB(r)Let c = y||e||τOutput: UEncodeG(c, r, h)

Procedure CSA DecodeF,G,H :Input: s1, . . . , sl, h, πA, π−1

BLet c = Basic Decode(s1, . . . , sl)Parse c as y||e||τ .Set r = π−1

B (y).If s 6= UEncodeG(c, r, h) return ⊥.Let (m,σ) = e⊕H1(r)If τ 6= H2(r,m, h) return ⊥.If πA(σ) 6= F (r,m, h) return ⊥.Output: m

Theorem 4. If f is ε-biased for C, then

InSeccsaCSA,C(t, qe, qd, qF , qG, qH1 , qH2 , l, k) ≤ (2qe + qF )InSecow

π (t′, k) + (l + 3qek)ε+ (q2e + 2qd)/2k ,

where t′ ≤ t+ (qG + qF + qH1 + qH2)(qe + qd)Tπ + k(l+ 3qek)TC, Tπ is the time to evaluate membersof π, and TC is the running time of C.

Intuitively, this stegosystem is secure because the encryption scheme employed is non-malleable,the signature scheme is strongly unforgeable, and each triple of hiddentext, history, and random-bits has a unique valid stegotext, which contains a signature on (m,h, r). Thus any adversarymaking a valid decoding query which was not the result of an encoding query can be used to forgea signature for Alice — that is, invert the one-way permutation πA. The full proof is omitted forspace considerations; see Appendix B for details.

We conjecture that the cryptographic assumptions used here can be weakened — in particular,a random oracle is not necessary given a public-key encryption scheme which satisfies IND$-CPAand is non-malleable2, and a signature scheme which is strongly unforgeable. However, it seemschallenging to prevent our motivating attack without assuming ability to efficiently sample thechannel.

8 Discussion and Open Problems

Need for a PKI. A potential stumbling block for public-key steganography is the need for asystem which allows Alice and Bob to publish public keys for encryption and signatures withoutraising suspicion. The most likely source of a resolution to this issue is the existence of a globalpublic-key infrastructure which publishes such public keys for every party in any case. In many cases(those modeled by the chosen hiddentext attack), however, it may be Alice who is trying to avoidsuspicion while it is Bob who publishes the public key. For example Alice may be a governmentemployee who wishes to leak a story and Bob a newspaper reporter, who may publish his publickey daily.

In case Alice and Bob are both trying to avoid suspicion, it may be necessary to perform SKEinstead. Even in this case, there is a need for a one-bit “secret channel” which alerts Bob to the factthat Alice is attempting key exchange. However, as long as Bob and Alice assume key exchange isoccurring, it is easy to check at completion that it has indeed ocurred by using Basic Encode toexchange the messages FK(A, hA), FK(B, hB) for F a pseudorandom function.

Stegosystems with backdoors. Suppose we wish to design steganography software which willbe used as a black box by many users. Then as long as there is some entropy in the stegosystem ofchoice, we can use public-key steganography to implement a backdoor into the stegosystem whichis provably undetectable via input/output behavior, by using the encoding routine as an oracle forConstruction 2, with a fixed hiddentext (1k, for instance). This will make it possible, with enoughintercepted messages, to detect the use of the steganography software. If a total break is desiredand the software implements private-key steganography, we can replace 1k by the user’s privatekey.

Relationship to PKC: Complexity-theoretic implications. The definition of a SS-CHAsecure public-key stegosystem already implies semantic security, so we have that if secure public-key stegosystems exist, then secure public-key cryptography exists; and likewise it is clear thatSS-CSA security implies non-malleability. In contrast to the private-key results of [13], we are2 We are unaware of an encryption scheme in the standard model satisfying this requirement: nonmalleable encryption

schemes following the Naor-Yung paradigm [18, 10, 21, 15] are easily distinguishable from random bits, and theschemes of Cramer and Shoup [7, 8] all seem to generate ciphertexts which are elements of recognizable subgroups.

not aware of a general result showing that the existence of any semantically secure public-keycryptosystem implies the existence of secure public-key steganography. However, our results allowconstruction of provably secure public-key steganography based on the security of any popularpublic-key cryptosystem.

References

1. R. J. Anderson and F. A. P. Petitcolas. On The Limits of Steganography. IEEE Journal of Selected Areas inCommunications, 16(4), pages 474-481. 1998.

2. R. J. Anderson and F. A. P. Petitcolas. Stretching the Limits of Steganography. Proceedings of the first Interna-tional Information Hiding Workshop, Springer LNCS 1174, pages 39-48. 1996.

3. M. Blum and S. Goldwasser. An Efficient Probabilistic Public-Key Encryption Scheme Which Hides All PartialInformation. Advances in Cryptology: CRYPTO ’84, Springer LNCS 196, pages 289-302. 1985.

4. M. Bellare and P. Rogaway. Random Oracles are Practical. Computer and Communications Security: Proceedingsof ACM CCS 93, pages 62–73, 1993.

5. C. Cachin. An Information-Theoretic Model for Steganography. Proceedings of the Second International Informa-tion Hiding Workshop, Springer LNCS 1525, pages 306-318. 1998.

6. R. Canetti, U. Feige, O. Goldreich and M. Naor. Adaptively Secure Multi-party Computation. 28th Symposiumon Theory of Computing (STOC ’96), pages 639-648. 1996.

7. R. Cramer and V. Shoup. A practical public-key cryptosystem provably secure against adaptive chosen ciphertextattack. Advances in Cryptology: CRYPTO ’98, Springer LNCS 1462, pages 13-25. 1998.

8. R. Cramer and V. Shoup. Universal Hash Proofs and a Paradigm for Adaptive Chosen Ciphertext Secure Public-Key Encryption. Advances in Cryptology: EUROCRYPT ’02, Springer LNCS 2332, pages 45-64. 2002.

9. S. Craver. On Public-key Steganography in the Presence of an Active Warden. Proceedings of the Second Inter-national Information Hiding Workshop, Springer LNCS 1525, pages 355-368. 1998.

10. D. Dolev, C. Dwork, and M. Naor. Non-malleable Cryptography. 23rd Symposium on Theory of Computing(STOC ’91), pages 542-552. 1991.

11. S. Goldwasser and M. Bellare. Lecture Notes on Cryptography. Unpublished manuscript, August 2001. availableelectronically at http://www-cse.ucsd.edu/~mihir/papers/gb.html.

12. J. Hastad, R. Impagliazzo, L. Levin, and M. Luby. A Pseudorandom generator from any one-way function. SIAMJournal of Computing, 28(4), pages 1364-1396. 1999.

13. N. J. Hopper, J. Langford, and L. von Ahn. Provably Secure Steganography. Advances in Cryptology: CRYPTO’02, Springer LNCS 2442, pages 77-92. 2002.

14. D. Kahn. The Code Breakers. Macmillan 1967.15. Y. Lindell. A Simpler Construction of CCA2-Secure Public Key Encryption. Advances in Cryptology: EURO-

CRYPT ’03, Springer LNCS 2656, pages 241-254. 2003.16. T. Mittelholzer. An Information-Theoretic Approach to Steganography and Watermarking. Proceedings of the

Third International Information Hiding Workshop, Springer LNCS 1768, 2000.17. M. Naor and M. Yung. Universal One-Way Hash Functions and their Cryptographic Applications. 21st Symposium

on Theory of Computing (STOC ’89), pages 33-43. 1989.18. M. Naor and M. Yung. Public-key cryptosystems provably secure against chosen ciphertext attacks. 22nd

Symposium on Theory of Computing (STOC ’90), pages 427-437. 1990.19. J. A. O’Sullivan, P. Moulin, and J. M. Ettinger Information-theoretic analysis of Steganography. Proceedings

ISIT ‘98. 1998.20. J. Rompel. One-way functions are necessary and sufficient for secure signatures. 22nd Symposium on Theory of

Computing (STOC ’90), pages 387-394. 1990.21. A. Sahai. Non-Malleable Non-Interactive Zero Knowledge and Adaptive Chosen-Ciphertext Security. 40th IEEE

Symposium on Foundations of Computer Science (FOCS ’99), pages 543-553. 1999.22. V. Shoup. A proposal for an ISO standard for public key encryption. Available electronically:

http://shoup.net/papers/iso-2 1.pdf.23. G. J. Simmons. The Prisoner’s Problem and the Subliminal Channel. Advances in Cryptology: CRYPTO’ 83,

pages 51-67. 1983.24. T. Van Le. Efficient Proven Secure Public Key Steganography. Cryptology ePrint Archive, Report 2003/156,

September 3, 2003. Available electronically: http://eprint.iacr.org/2003/156.25. A. Young and M. Yung. Kleptography: Using Cryptography against Cryptography. Advances in Cryptology:

EUROCRYPT ’87, Springer LNCS 1233, pages 62-74. 1987.26. J. Zollner, H. Federrath, H. Klimant, A. Pftizmann, R. Piotraschke, A. Westfield, G. Wicke, G. Wolf. Modeling

the security of steganographic systems. Proceedings of the Second International Information Hiding Workshop,Springer LNCS 1525, pages 344-354. 1998.

A Proof of Chosen Exactly-One security

Proof. Let W ∈ W(t, q, l). We will show that W must either forge a signature or distinguish theoutput of E from random bits. We will abuse notation slightly and denote WSTcxo by WSE,SD, andWCTcxo by W C,⊥. Then we have that

AdvcxoCXO,C(W,k) =

∣∣∣Pr[WSE,SD = 1]− Pr[W C,⊥ = 1]∣∣∣ .

Consider the “hybrid” distribution which results by answering encoding queries using CXO Encodebut answering all decoding queries with ⊥. (We denote this oracle by (SE,⊥))

We construct a EUF-CMA adversary Af which works as follows: given KV , and a signing oraclefor KS , choose (PK,SK)← GE(1k); use the signing oracle and EPK , DSK to emulate CXO Encodeand CXO Decode to W . If W ever makes a query to CXO Decode which does not return ⊥ then Af

halts and returns the corresponding ((m,h), σ) pair, otherwise Af runs until W halts and returns(0, 0). If we let F denote the event that WSE,SD submits a valid decoding query to CXO Decode,then we have that Advcma

(GS ,S,V )(Af ) = Pr[F ].

We also construct a IND$-CPA adversary Ad which works as follows: given an encryption oracle,choose (KS ,KV ) ← GS(1k), use KS and the encryption oracle to emulate CXO Encode to W , andrespond to any decoding queries with ⊥. Ad returns the output of W . Note that Advcpa

E (Ad) +`(l + q`σ)ε ≥

∣∣Pr[WSE,⊥ = 1]− Pr[W C,⊥ = 1]∣∣, which follows from Theorem 1.

Then we have the following inequalities:

AdvcxoCXO,C(W ) =

∣∣∣Pr[WSE,SD = 1]− Pr[W C,⊥ = 1]∣∣∣

≤∣∣∣Pr[WSE,SD = 1]− Pr[WSE,⊥ = 1]

∣∣∣+∣∣∣Pr[WSE,⊥ = 1]− Pr[W C,⊥ = 1]

∣∣∣≤∣∣∣Pr[WSE,SD = 1]− Pr[WSE,⊥ = 1]

∣∣∣+ AdvcpaE (Ad) + `(l + q`σ)ε

≤ Advcma(GS ,S,V )(Af ) + Advcpa

E (Ad) + `(l + q`σ)ε

Where the last line follows because (let D denote the event WSE,SD = 1, and notice that D|F ≡WSE,⊥ = 1):

∣∣∣Pr[D]− Pr[WSE,⊥ = 1]∣∣∣ =

∣∣∣Pr[D|F ] Pr[F ] + Pr[D|F ] Pr[F ]− (Pr[WSE,⊥ = 1])∣∣∣

=∣∣∣Pr[D|F ] Pr[F ] + Pr[WSE,⊥ = 1](1− Pr[F ])− (Pr[WSE,⊥ = 1])

∣∣∣=∣∣Pr[F ](Pr[D|F ]− Pr[D|F ])

∣∣≤ Pr[F ]= Advcma

(GS ,S,V )(Af )

The theorem follows by the definition of insecurity, since both Ad and Af run in time at mostt+O(kl).

B Proof of Chosen-Stegotext Security

We define the following sequence of hybrid oracle distributions:

1. P0(b,m, h) = CTcsa, the covertext oracle.2. P1(b,m, h) responds to dec queries as in P0, and responds to enc queries using CSA EncodeF,G,H

but with calls to UEncodeG replaced by calls to Basic Encode.3. P2(b,m, h) responds to dec queires as in P1, and responds to enc queries using CSA EncodeF,G,H .4. P3(b,m, h) = STcsa, the stegotext oracle.

We are given a CSA attacker W ∈ W(t, qe, qd, qF , qH , qH1 , qH2 , l) and wish to bound his ad-vantage. Notice that Advcsa

CSA,C(W,k) ≤ |Pr[WP0(1k) = 1] − Pr[WP1(1k)]| + |Pr[WP1(1k) =1] − Pr[WP2(1k) = 1]| + |Pr[WP2(1k) = 1] − Pr[WP3(1k) = 1]|. Hence, we can bound the ad-vantage of W by the sum of its advantages in distinguishing the successive hybrids. For hybridsP,Q we will denote this advantage by AdvP,Q(W,k) = |Pr[WP(1k) = 1]− Pr[WQ(1k) = 1]|.

Lemma 3. AdvP0,P1(W,k) ≤ qeInSecowΠ (t′, k) + 2−k(q2

e/2− qe/2) + (l + 3qek)ε

Proof. Assume WLOG that Pr[WP1(1k) = 1] > Pr[WP0(1k) = 1]. Let Er denote the event that,when W queries P1, the random value r never repeats, and let Eq denote the event that W nevermakes random oracle queries of the form H1(r) or H2(r, ∗, ∗) for an r used by CSA EncodeF,G,H ,and let E ≡ Er ∧ Eq. Then:

Pr[WP1(1k) = 1]− Pr[WP0(1k) = 1] = Pr[WP1(1k) = 1|E](1− Pr[E]) + Pr[WP1(1k) = 1|E] Pr[E]

− Pr[WP0(1k) = 1]

= Pr[E](

Pr[WP1(1k) = 1|E]− Pr[WP1(1k) = 1|E])

+(

Pr[WP1(1k) = 1|E]− Pr[WP0(1k) = 1])

≤ Pr[E] + (l + 3qek)ε

≤ Pr[Er] + Pr[Eq] + (l + 3qek)ε

≤ 2−kqe(qe − 1)

2+ Pr[Eq] + (l + 3qek)ε ,

because if r never repeats andW never queriesH1(r) orH2(r, ∗, ∗) for some r used by CSA EncodeF,G,H ,then W cannot distinguish between the ciphertexts passed to Basic Encode and random bit strings.

It remains to bound Pr[Eq]. Given W ∈ W(t, qe, qd, qF , qG, qH1 , qH2 , l) we construct a one-waypermutation adversary A against πB which is given a value πB(x) and uses W in an attempt tofind x, so that A succeeds with probability at least (1/qe) Pr[Eq]. A picks (πA, π−1

A ) from Πk andi uniformly from {1, . . . , qe}, and then runs W answering all its oracle queries as follows:

– enc queries are answered as follows: on query j 6= i, respond using CSA EncodeF,G,H but withcalls to UEncodeG replaced by calls to Basic Encode. On the i-th query respond with s =Basic Encode(πB(x)||e1||τ1, h) where e1 = h1 ⊕ (m,σ1) and h1, σ1, τ1 are chosen uniformly atrandom from the set of all strings of the appropriate length (|e1| = |m|+ k and |τ1| = k), andset φ = φ ∪ {(s, h)}.

– dec queries are answered using CTcsa.– Queries to G,F,H1 and H2 are answered in the standard manner: if the query has been made

before, answer with the same answer, and if the query has not been made before, answer witha uniformly chosen string of the appropriate length. If a query contains a value r for whichπB(r) = πB(x), halt the simulation and output r.

It should be clear that Pr[A(πB(x)) = x] ≥ 1qe

(Pr[Eq]).

Lemma 4. AdvP1,P2(W,k) ≤ qeInSecowΠ (t′, k) + 2−k(q2

e/2− qe/2)

Proof. Assume WLOG that Pr[WP2(1k) = 1] > Pr[WP1(1k) = 1]. Denote by Er the event that,when answering queries for W , the random value r of CSA EncodeF,G,H never repeats, and by Eqthe event that W never queries G(∗, r, πB(r)||∗, ∗) for some r used by CSA EncodeF,G,H , and letE ≡ Er ∧ Eq. Then:

Pr[WP2(1k) = 1]− Pr[WP1(1k) = 1] =(

Pr[WP2(1k) = 1|E] Pr[E] + Pr[WP2(1k) = 1|E] Pr[E])

−(

Pr[WP1(1k) = 1|E] Pr[E] + Pr[WP1(1k) = 1|E] Pr[E])

= Pr[E](

Pr[WP2(1k) = 1|E]− Pr[WP1(1k) = 1|E])

≤ Pr[E]

≤2−kqe(qe − 1)

2+ Pr[Eq]

Given W ∈ W(t, qe, qd, qF , qG, qH1 , qH2 , l) we construct a one-way permutation adversary A againstπB which is given a value πB(x) and uses W in an attempt to find x. A picks (πA, π−1

A ) from Πk

and i uniformly from {1, . . . , qE}, and then runs W answering all its oracle queries as follows:

– enc queries are answered as follows: on query j 6= i, respond using CSA EncodeF,G,H . On the i-thquery respond with s = UEncodeG(πB(x)||e1||τ1, r1, h) where e1 = h1⊕ (m,σ1) and h1, σ1, τ1, r1

are chosen uniformly at random from the set of all strings of the appropriate length (|e1| = |m|+kand |τ1| = k), and set φ = φ ∪ {(s, h)}.

– dec queries are answered using CTcsa.– Queries to G,F,H1 and H2 are answered in the standard manner: if the query has been made

before, answer with the same answer, and if the query has not been made before, answer witha uniformly chosen string of the appropriate length. If a query contains a value r for whichπB(r) = πB(x), halt the simulation and output r.

It should be clear that Pr[A(πB(x)) = x] ≥ 1qe

(Pr[Eq]).

Lemma 5. AdvP2,P3(W,k) ≤ qF InSecowΠ (t′, k) + qd/2k−1 + qe/2k

Proof. Given W ∈ W(t, qe, qd, qF , qG, qH1 , qH2 , l) we construct a one-way permutation adversary Aagainst πA which is given a value πA(x) and uses W in an attempt to find x. A chooses (πB, π−1

B )from Πk and i uniformly from {1, . . . , qF }, and then runs W answering all its oracle queries asfollows:

– enc queries are answered using CSA EncodeF,G,H except that σ is chosen at random and F (r,m, h)is set to be πA(σ). If F (r,m, h) was already set, fail the simulation.

– dec queries are answered using CSA DecodeF,G,H , with the additional constraint that we rejectany stegotext for which there hasn’t been an oracle query of the form H2(r,m, h) or F (r,m, h).

– Queries to G,F,H1 and H2 are answered in the standard manner (if the query has been madebefore, answer with the same answer, and if the query has not been made before, answer with auniformly chosen string of the appropriate length) except that the i-th query to F is answeredusing πA(x).

A then searches all the queries that W made to the decryption oracle for a value σ such thatπA(σ) = πA(x). This completes the description of A.

Notice that the simulation has a small chance of failure: at most qe/2k. For the rest of the proof, weassume that the simulation doesn’t fail. Let E be the event that W makes a decryption query thatis rejected in the simulation, but would not have been rejected by the standard CSA DecodeF,G,H .It is easy to see that Pr[E] ≤ qd/2k−1. Since the only way to differentiate P3 from P2 is by makinga decryption query that P3 accepts but P2 rejects, and, conditioned on E, this can only happen byinverting πA on a some F (r,m, h), we have that:

AdvP2,P3(W,k) ≤ qF InSecowΠ (t′, k) + qd/2k−1 + qe/2k

C Negligibly biased functions for any channel

Our constructions require the existence of a function which is unbiased for Ch for every h which thewarden W chooses. It is easy to see that for infinitely many channels, no such f exists. This is nota difficulty for our protocols, however, because we can compile any channel C into a new channelC(k) which admits an efficient function which has bias negligible in k.

Let l(k) = ω(log k). Then the channel C(k) is simply a distribution on sequences of documentswhich are elements of Dl(k) and the marginal distributions C(k)

h are simply Cl(k)h . The minimum

entropy requirement from Section 3 then gives us that for any h which has non-zero probability,H∞(C(k)

h ) = ω(log k).Let h1, h2, ..., hm be any sequence of histories which all have non-zero probability under C(k)

and let f : {0, 1}m(k) ×D × {0, 1} be a universal hash function. Let Y, Z ← Um(k), and Di ← C(k)hi

.Let L(k) = miniH∞(Di), and note that L(k) = ω(log k). Then the “Leftover Hash Lemma” (see,e.g., [12]) implies that

| PrY,Di

[(Y, fY (D1), ..., fY (Dm)) = (y, b1, ..., bn)]− PrZ,B←{0,1}m

[(Z,B) = (y, b1, ..., bn)]| ≤ m2−L(k)/2+1 .

from which it is immediate that if we choose Y ← Um(k) once and publicly, then for all 1 ≤ i ≤ m,fY will have negligible bias for Chi except with negligible probability.

The same approach can be applied in the case that f is a pseudorandom function, since arandom function will have neglible bias for C(k)

hiexcept with negligible probability, and testing for

any specific non-negligible bias can be accomplished by a polynomial time oracle machine. Notethat in this scenario, we only need the pseudorandomness of f to prove that it is unbiased, and soit is permissible to publish a single choice of key once and for all.

D IND$-CPA Public-Key Encryption

We show how to construct IND$-CPA public-key encryption schemes from a variety of well-establishedcryptographic assumptions.

Definition. A trapdoor one-way predicate family P is a sequence {Pk}k, where each Pk is a setof efficiently computable predicates p : Dp → {0, 1}, along with an algorithm G(1k) that samplespairs (p, Sp) uniformly from Pk; Sp is an algorithm that, on input b (a bit) samples x uniformlyfrom Dp subject to p(x) = b. For a PPT A running in time t(k), denote the advantage of A againstP by

AdvtpP (A, k) = Pr

(p,Sp)←G(1k),x←Dp[A(x, Sp) = p(x)] .

Define the insecurity of P by InSectpP (t, k) = maxA∈A(t)

{Advtp

P (A, k)}

, where A(t) denotes theset of all adversaries running in time t(k). We say that P is a trapdoor one-way predicate family iffor every probabilistic polynomial-time (PPT) A, Advtp

P (A, k) is negligible in k.

IND$-CPA public-key encryption schemes can be constructed from any primitive which impliestrapdoor one-way predicates p with domains Dp satisfying one of the following conditions:

– Dp is computationally or statistically indistinguishable from {0, 1}poly(k): in this case it followsdirectly that encrypting the bit b by sampling from p−1(b) yields an IND$-CPA scheme. Theresults of Goldreich and Levin imply that such predicates exist if there exist trapdoor one-waypermutations on {0, 1}k, for example.

– Dp has an efficiently recognizable, polynomially dense encoding in {0, 1}poly(k); in this case,we let q(·) denote the polynomial such that every Dp has density at least 1/q(k). Then toencrypt a bit b, we draw ` = kq(k) samples d1, . . . , d` ← Upoly(k); let i be the least i suchthat di ∈ Dp; then transmit d1, . . . , di−1, p

−1(b), di+1, . . . , d`. (This assumption is similar tothe requirement for common-domain trapdoor systems used by [6], and all (publicly-known)public-key encryption systems seem to support construction of trapdoor predicates satisfyingthis condition.)

Stronger assumptions allow construction of more efficient schemes. Here we will constructschemes satisfying IND$-CPA under the following assumptions: trapdoor one-way permutationson {0, 1}k (Section D.1), the RSA assumption (D.2), and the Decisional Diffie-Hellman assumption(D.3). Notice that although both of the latter two assumptions imply the former through standardconstructions, the standard constructions exhibit considerable security loss which can be avoidedby our direct constructions.

D.1 Efficient Probabilistic Encryption

The following “EPE” encryption scheme is described in [11], and is a generalization of the protocolgiven by [3]. When used in conjunction with a family of trapdoor one-way permutations on domain{0, 1}k, it is easy to see that the scheme satisfies IND$-CPA:

Construction 6. (EPE Encryption Scheme)

Procedure Encrypt:Input: plaintext m, trapdoor OWP πSample x0, r ← Uklet l = |m|for i = 1 . . . l do

set bi = xi−1 � rset xi = f(xi−1)

Output: xl, r, b⊕m

Procedure Decrypt:Input: Ciphertext x, r, c, trapdoor π−1

let l = |c|, xl = xfor i = l . . . 1 do

set xi−1 = π−1(xi)set bi = xi−1 � r

Output: c⊕ b

IND$-CPA-ness follows by the pseudorandomness of the bit sequence b1, . . . , bl generated by thescheme and the fact that xl is uniformly distributed in {0, 1}k.

D.2 RSA-based construction

The RSA function EN,e(x) = xe mod N is a trapdoor one-way permutation family with densedomains, and can be transformed through standard constructions to a trapdoor OWP family ondomain {0, 1}k, but such transformation incurs a heavy security loss. Here we give a direct appli-cation of the previous scheme which uses Young and Yung’s Probabilistic Bias Removal Method(PBRM) to ensure that xl from the previous scheme is uniformly distributed on {0, 1}k rather thanZN :

Construction 7. (Bias-corrected RSA-based EPE Encryption Scheme)

Procedure Encrypt:Input: plaintext m; public key N, elet k = |N |, l = |m|repeat:

Sample x0 ← Z∗N

for i = 1 . . . l doset bi = xi−1 mod 2set xi = xei−1 mod N

sample c← U1

until (xl ≤ 2k −N) OR c = 1if (x1 ≤ 2k −N) and c = 0 set x′ = xif (x1 ≤ 2k −N) and c = 1 set x′ = 2k − xOutput: x′, b⊕m

Procedure Decrypt:Input: Ciphertext x′, c; private key N, dlet l = |c|, k = |N |if (x′ > N) set xl = x′

else set xl = 2k − x′for i = l . . . 1 do

set xi−1 = xdi mod Nset bi = xi−1 mod 2

Output: c⊕ b

The IND$-CPA security of the scheme follows from the correctness of PBRM and the fact thatthe least-significant bit is a hardcore bit for RSA. Notice that the expected number of repeats inthe encryption routine is at most 2.

D.3 DDH-based construction

Let E(·)(·), D(·)(·) denote the encryption and decryption functions of a private-key encryptionscheme satisfying IND$-CPA, keyed by κ-bit keys, and let κ ≤ k/3 (private-key IND$-CPA encryptionschemes have appeared in the literature; see, for instance, [13]). Let Hk be a family of pairwise-independent hash functions h : {0, 1}k → {0, 1}κ. We let P be a k-bit prime (so 2k−1 < P < 2k),and let P = rQ+ 1 where (r,Q) = 1 and Q is also a prime. Let g generate Z∗P and g = gr mod Pgenerate the unique subgroup of order Q. The security of the following scheme follows from theDecisional Diffie-Hellman assumption, the leftover-hash lemma, and the security of (E,D):

Construction 8. (ElGamal-based random-bits encryption)

Procedure Encrypt:Input: plaintext m; public key g, ga, PSample h← Hk

repeat:Sample b← ZP−1

until (gb mod P ) ≤ 2k−1

set K = h((ga)b mod P )Output: h, (gb mod P ) mod 2k−1, EK(m)

Procedure Decrypt:Input: Ciphertext h, s, c; private key a, P,Qlet r = (P − 1)/Qset K = h(sra mod P )Output: DK(c)

The security proof considers two hybrid encryption schemes: H1 replaces the value (ga)b by arandom element of the subgroup of order Q, gc, and H2 replaces K by a random draw from {0, 1}κ.Clearly distinguishing H2 from random bits requires distinguishing some EK(m) from random bits.The Leftover Hash Lemma gives that the statistical distance between H2 and H1 is at most 2−κ.Finally, any q-query distinguisher for H1 from the output of Encrypt with advantage ε can be usedto solve the DDH problem with advantage at least ε/2q, using the same technique from Lemma 2and a standard hybrid argument.