PUMaC 2016 · 加试 · 第 9 题
PUMaC 2016 — Power Round — Problem 9
题目详情
Problem 9.2. (7 points) Prove that if an encryption scheme is CPA-secure, then it satisfies com-
putational indistinguishability of encryptions.
9.2 Constructing a CPA-Secure Encryption Scheme
This section consists of three problems that will, together, show you how to construct a CPA-secure
encryption scheme from a PRG. All three problems are hard, so don’t be discouraged if you can’t
21
solve them. But first, a definition.
Definition 9.2.1. For n ≥ 0, let I be a set of keys (called the key index space ). Let ( n ) : N → N n ⋃ be a function (usually ` ( n ) = n though we’ll see one case where ` ( n ) = 2 n ). Let F = F , n n ≥ 0 where ` ( n ) ` ( n ) F = { f : { 0 , 1 } → { 0 , 1 } } . n k k ∈ I n F is a family of pseudorandom functions (for short we say that F is a PRF) if: n • There is a PPT algorithm G such that G (1 ) generates a key k ∈ I (not necessarily uniformly n at random from I ). n • Given k ∈ I , f is computable in polynomial time. n k ⋃ 21 In the definition and throughout this section, denotes the union of the stated set for all n ≥ 0. n ≥ 0 PUMaC 2016 Power Round Page 20 • There exists a negligible function neg( n ) such that for all n , for every PPT algorithm D , ∣ [ ] [ ]∣ ∣ ∣ f ( · ) f ( · ) n k Pr D = 1 − Pr D (1 ) = 1 ≤ neg( n ) , ∣ ∣ n where the first probability is for k randomly generated by G (1 ) and the second probability ( n )
is for a function chosen uniformly at random from the set of all functions f : { 0 , 1 } →
` ( n ) f ( · )
{ 0 , 1 } . Here D means that D has oracle access to f .
Okay, let’s talk about this. A PRF F is an infinite collection of easily-computable length-
preserving functions. But F is pseudorandom; think of it this way. You’re given a mysterious
input-output machine inside a black box you can’t open. All you can do is put an input into the
machine and get out an output (as many times as you want). The function was randomly chosen
in one of two ways: either it’s literally a randomly chosen function from the set of functions from
` ( n ) ` ( n )
{ 0 , 1 } to { 0 , 1 } , or it’s a function chosen from F by G . Your goal is to try to distinguish
n
between these two possibilities by outputting 1 with a (non-negligibly) higher probability in one case
than in the other. The last (pseudorandom) property of a PRF says you can’t succeed in doing this
using a polynomial-time distinguisher.
解析
Problem 9.2. Suppose that an encryption scheme ( G, E, D ) does not satisfy computational indistinguishability of encryptions. Using the guessing definition, we have that there exists a non-negligible function ( n ) and a PPT adversary A such that for every n , A can pick m , m ∈ P , receive E ( m ) for b uniformly random, and output b with probability at least 0 1 n k b 1 ′
- ( n ). Construct an adversary A that simply runs A , ignoring the oracle access. Then 2 1 ′ A (by proxy of A ) picks m and m and outputs b with probability at least + ( n ). Thus, 0 1 2 ( G, E, D ) is not CPA-secure. By contrapositive, if an encryption scheme is CPA-secure, then it satisfies computational indistinguishability of encryptions, as desired. 9.2. Constructing a CPA-Secure Encryption Scheme