+ All Categories
Home > Documents > Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO....

Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO....

Date post: 07-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
66
Defining Security Proving Security Codes and Cryptography Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO
Transcript
Page 1: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Codes and Cryptography

Jorge L. Villar

MAMME, Fall 2015

PART XI

Jorge L. Villar CODES & CRYPTO

Page 2: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Outline

1 Defining Security

2 Proving Security

Jorge L. Villar CODES & CRYPTO

Page 3: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Defining a Security Notion

Defining security for a particular system requires:Defining the functionality of the systemDefining the capabilities of the adversaryDefining the goal of the adversary

The latter two can be captured bya random experiment (game) between a Challenger andthe Adversarya special outcome indicating success of the Adversarya statement about the probability of that outcome

Jorge L. Villar CODES & CRYPTO

Page 4: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Defining a Security Notion

Defining security for a particular system requires:Defining the functionality of the systemDefining the capabilities of the adversaryDefining the goal of the adversary

The latter two can be captured bya random experiment (game) between a Challenger andthe Adversarya special outcome indicating success of the Adversarya statement about the probability of that outcome

Jorge L. Villar CODES & CRYPTO

Page 5: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Example 1: One-Way Security

Assume that Π = (KeyGen,Enc,Dec) is a symmetric encryptionscheme for the spacesM, C, K and security parameter `.Experiment Exp-SE-OW(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← A(1`, c∗);if m′ = m∗ output 1; //A winselse output 0;

The security statement is

Definition (SE-OW)The symmetric encryption scheme Π is SE-OW secure if for allProbabilistic Polynomial-Time Turing Machine (PPTM), A,

Pr[Exp-SE-OW(Π,A, `) = 1] ∈ negl(`)

Jorge L. Villar CODES & CRYPTO

Page 6: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Example 1: One-Way Security

Assume that Π = (KeyGen,Enc,Dec) is a symmetric encryptionscheme for the spacesM, C, K and security parameter `.Experiment Exp-SE-OW(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← A(1`, c∗);if m′ = m∗ output 1; //A winselse output 0;

The security statement is

Definition (SE-OW)The symmetric encryption scheme Π is SE-OW secure if for allProbabilistic Polynomial-Time Turing Machine (PPTM), A,

Pr[Exp-SE-OW(Π,A, `) = 1] ∈ negl(`)

Jorge L. Villar CODES & CRYPTO

Page 7: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Example 2: Stronger Attacks

In some practical scenarios, an adversary has access to somepairs plaintext/ciphertext for the target key.Experiment Exp-SE-OW(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← A(1`, c∗);if m′ = m∗ output 1; //A winselse output 0;

Oracle OEnc(m) :output Enc(k ,m);

Oracle ODec(c) :if c = c∗ output ⊥; //Illegal oracle queryelse output Dec(k , c);

The number of queries qEnc and qDec can be considered asadditional security parameters

Jorge L. Villar CODES & CRYPTO

Page 8: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Example 2: Stronger Attacks

In some practical scenarios, an adversary has access to somepairs plaintext/ciphertext for the target key.Experiment Exp-SE-OW-CPA(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← AOEnc (1`, c∗);if m′ = m∗ output 1; //A winselse output 0;

Oracle OEnc(m) :output Enc(k ,m);

Oracle ODec(c) :if c = c∗ output ⊥; //Illegal oracle queryelse output Dec(k , c);

The number of queries qEnc and qDec can be considered asadditional security parameters

Jorge L. Villar CODES & CRYPTO

Page 9: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Example 2: Stronger Attacks

In some practical scenarios, an adversary has access to somepairs plaintext/ciphertext for the target key.Experiment Exp-SE-OW-CCA(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← AOEnc,ODec (1`, c∗);if m′ = m∗ output 1; //A winselse output 0;

Oracle OEnc(m) :output Enc(k ,m);

Oracle ODec(c) :if c = c∗ output ⊥; //Illegal oracle queryelse output Dec(k , c);

The number of queries qEnc and qDec can be considered asadditional security parameters

Jorge L. Villar CODES & CRYPTO

Page 10: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Example 2: Stronger Attacks

In some practical scenarios, an adversary has access to somepairs plaintext/ciphertext for the target key.Experiment Exp-SE-OW-CCA(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← AOEnc,ODec (1`, c∗);if m′ = m∗ output 1; //A winselse output 0;

Oracle OEnc(m) :output Enc(k ,m);

Oracle ODec(c) :if c = c∗ output ⊥; //Illegal oracle queryelse output Dec(k , c);

The number of queries qEnc and qDec can be considered asadditional security parameters

Jorge L. Villar CODES & CRYPTO

Page 11: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Oracle Turing Machine

OTM

s

f

normal_tape

⇐= =⇒

oracle_tape

⇐= =⇒

Special state: ‘oracle_query’

The OTM enters in a waiting state untilsome external entity (not necessarily aTuring Machine) replaces the informa-tion in the oracle tape, in unit time.

NOTATION: OTMO

The oracle tape is used as a commu-nication tape. Interactive Turing Ma-chines can be defined following thesame idea.

Jorge L. Villar CODES & CRYPTO

Page 12: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Example 3: Even Stronger Attacks

The adversary could have some a priori information about thetarget plaintext.

Experiment Exp-SE-LR(Π,A, `) :k ← KeyGen(`);b∗ ← {0, 1};b′ ← AOLR (1`);if b′ = b∗ output 1; //A winselse output 0;

Oracle OLR(m0,m1) :if length(m0) 6= length(m1) output ⊥; //Illegal oracle queryoutput Enc(k ,mb∗);

Jorge L. Villar CODES & CRYPTO

Page 13: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Example 3: Even Stronger Attacks

The adversary could have some a priori information about thetarget plaintext.

Experiment Exp-SE-LR(Π,A, `) :k ← KeyGen(`);b∗ ← {0, 1};b′ ← AOLR (1`);if b′ = b∗ output 1; //A winselse output 0;

Oracle OLR(m0,m1) :if length(m0) 6= length(m1) output ⊥; //Illegal oracle queryoutput Enc(k ,mb∗);

Jorge L. Villar CODES & CRYPTO

Page 14: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Example 3: Even Stronger Attacks

Definition (SE-LR)The symmetric encryption scheme Π is SE-LR secure if for allProbabilistic Polynomial-Time Oracle Turing Machine (PPOTM),A,

|Pr[Exp-SE-LR(Π,A, `) = 1]− 1/2| ∈ negl(`)

The number of queries qLR can be considered as an additionalsecurity parameter

The other notions SE-LR-CPA and SE-LR-CCA are definedaccordingly

Jorge L. Villar CODES & CRYPTO

Page 15: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Example 3: Even Stronger Attacks

Definition (SE-LR)The symmetric encryption scheme Π is SE-LR secure if for allProbabilistic Polynomial-Time Oracle Turing Machine (PPOTM),A,

|Pr[Exp-SE-LR(Π,A, `) = 1]− 1/2| ∈ negl(`)

The number of queries qLR can be considered as an additionalsecurity parameter

The other notions SE-LR-CPA and SE-LR-CCA are definedaccordingly

Jorge L. Villar CODES & CRYPTO

Page 16: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Example 3: Even Stronger Attacks

Definition (SE-LR)The symmetric encryption scheme Π is SE-LR secure if for allProbabilistic Polynomial-Time Oracle Turing Machine (PPOTM),A,

|Pr[Exp-SE-LR(Π,A, `) = 1]− 1/2| ∈ negl(`)

The number of queries qLR can be considered as an additionalsecurity parameter

The other notions SE-LR-CPA and SE-LR-CCA are definedaccordingly

Jorge L. Villar CODES & CRYPTO

Page 17: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Outline

1 Defining Security

2 Proving Security

Jorge L. Villar CODES & CRYPTO

Page 18: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Translating Languages

Reduction: An efficient transformation T : {0,1}∗ → {0,1}∗that maps a language L into another language L′, and alsomaps {0,1}∗ \ L into {0,1}∗ \ L′.

NOTATION: L⇒PP L′ or “L reduces to L′”

Definition (PP-Reduction of Languages)

A language L is PP-reducible to another language L′ if thereexists a PPTM T and a integer-valued function q ∈ poly suchthat T ({0,1}`) ⊆ {0,1}q(`), T (L) ⊆ L′ andT ({0,1}∗ \ L) ⊆ {0,1}∗ \ L′

TheoremL 6∈ BPP and L⇒PP L′ implies L′ 6∈ BPP

Jorge L. Villar CODES & CRYPTO

Page 19: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Translating Languages

Reduction: An efficient transformation T : {0,1}∗ → {0,1}∗that maps a language L into another language L′, and alsomaps {0,1}∗ \ L into {0,1}∗ \ L′.

NOTATION: L⇒PP L′ or “L reduces to L′”

Definition (PP-Reduction of Languages)

A language L is PP-reducible to another language L′ if thereexists a PPTM T and a integer-valued function q ∈ poly suchthat T ({0,1}`) ⊆ {0,1}q(`), T (L) ⊆ L′ andT ({0,1}∗ \ L) ⊆ {0,1}∗ \ L′

TheoremL 6∈ BPP and L⇒PP L′ implies L′ 6∈ BPP

Jorge L. Villar CODES & CRYPTO

Page 20: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Translating Languages

Reduction: An efficient transformation T : {0,1}∗ → {0,1}∗that maps a language L into another language L′, and alsomaps {0,1}∗ \ L into {0,1}∗ \ L′.

NOTATION: L⇒PP L′ or “L reduces to L′”

Definition (PP-Reduction of Languages)

A language L is PP-reducible to another language L′ if thereexists a PPTM T and a integer-valued function q ∈ poly suchthat T ({0,1}`) ⊆ {0,1}q(`), T (L) ⊆ L′ andT ({0,1}∗ \ L) ⊆ {0,1}∗ \ L′

TheoremL 6∈ BPP and L⇒PP L′ implies L′ 6∈ BPP

Jorge L. Villar CODES & CRYPTO

Page 21: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Reducing Computational Problems

Let P, P ′ be two (search/decision) problem families.

What’s the meaning of “P is hard on average implies P ′ ishard on average”? Or equivalently, “P ′ is not hard onaverage implies neither is P”

“P is not hard on average” means there exists a PPTM with anon-negligible success probability/advantage in solving arandom instance of P

Showing only the existence is a non-constructive proof. Notmeaningful in practice.

Constructive proof: Explicitly (and efficiently) build a PPTMsolving P from another PPTM solving P ′

Jorge L. Villar CODES & CRYPTO

Page 22: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Reducing Computational Problems

Let P, P ′ be two (search/decision) problem families.

What’s the meaning of “P is hard on average implies P ′ ishard on average”?

Or equivalently, “P ′ is not hard onaverage implies neither is P”

“P is not hard on average” means there exists a PPTM with anon-negligible success probability/advantage in solving arandom instance of P

Showing only the existence is a non-constructive proof. Notmeaningful in practice.

Constructive proof: Explicitly (and efficiently) build a PPTMsolving P from another PPTM solving P ′

Jorge L. Villar CODES & CRYPTO

Page 23: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Reducing Computational Problems

Let P, P ′ be two (search/decision) problem families.

What’s the meaning of “P is hard on average implies P ′ ishard on average”? Or equivalently, “P ′ is not hard onaverage implies neither is P”

“P is not hard on average” means there exists a PPTM with anon-negligible success probability/advantage in solving arandom instance of P

Showing only the existence is a non-constructive proof. Notmeaningful in practice.

Constructive proof: Explicitly (and efficiently) build a PPTMsolving P from another PPTM solving P ′

Jorge L. Villar CODES & CRYPTO

Page 24: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Reducing Computational Problems

Let P, P ′ be two (search/decision) problem families.

What’s the meaning of “P is hard on average implies P ′ ishard on average”? Or equivalently, “P ′ is not hard onaverage implies neither is P”

“P is not hard on average” means there exists a PPTM with anon-negligible success probability/advantage in solving arandom instance of P

Showing only the existence is a non-constructive proof. Notmeaningful in practice.

Constructive proof: Explicitly (and efficiently) build a PPTMsolving P from another PPTM solving P ′

Jorge L. Villar CODES & CRYPTO

Page 25: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Reducing Computational Problems

Let P, P ′ be two (search/decision) problem families.

What’s the meaning of “P is hard on average implies P ′ ishard on average”? Or equivalently, “P ′ is not hard onaverage implies neither is P”

“P is not hard on average” means there exists a PPTM with anon-negligible success probability/advantage in solving arandom instance of P

Showing only the existence is a non-constructive proof. Notmeaningful in practice.

Constructive proof: Explicitly (and efficiently) build a PPTMsolving P from another PPTM solving P ′

Jorge L. Villar CODES & CRYPTO

Page 26: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Reducing Computational Problems

Let P, P ′ be two (search/decision) problem families.

What’s the meaning of “P is hard on average implies P ′ ishard on average”? Or equivalently, “P ′ is not hard onaverage implies neither is P”

“P is not hard on average” means there exists a PPTM with anon-negligible success probability/advantage in solving arandom instance of P

Showing only the existence is a non-constructive proof. Notmeaningful in practice.

Constructive proof: Explicitly (and efficiently) build a PPTMsolving P from another PPTM solving P ′

Jorge L. Villar CODES & CRYPTO

Page 27: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Reducing Computational Problems

Constructive proofs for the statement P ⇒PP P ′:Give a PPTM R that transforms (the description of) any PPTMA′ solving a random instance of P ′ into (the description of)another PPTM A = R[A′] solving P such that

SuccP′,A′(`) > negl(`) ⇒ SuccP,R[A′](`) > negl(`)

where SuccP,A(`) is Pr[A(x) ∈ sol(x) : x ← P`] for searchproblems, and∣∣∣Pr[A(x) = 1 : x ← LP ∩ {0, 1}`]− Pr[A(x) = 1 : x ← {0, 1}` \ LP ]

∣∣∣for decision problems

Jorge L. Villar CODES & CRYPTO

Page 28: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Black-Box Reductions

R is just a Oracle PPTM and now A = R[A′] = RA′

R has no access to the internals of A′, but only to itsinput-output behavior (functionality)Recall that A′ is non-perfect, i.e., it solves P ′ with a (verysmall) non-negligible probability/advantageR can run several instances of A′ on different inputs, butthen it is hard to relate SuccP′,A′(`) and SuccP,R[A′](`)

A typical reduction: Black-Box with a single call to A′:R[A′] transforms its input x ∈ P into x ′ ∈ P ′

R[A′] runs A′ with input x ′

R[A′] computes its output from the output of A′

Jorge L. Villar CODES & CRYPTO

Page 29: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Black-Box Reductions

R is just a Oracle PPTM and now A = R[A′] = RA′

R has no access to the internals of A′, but only to itsinput-output behavior (functionality)

Recall that A′ is non-perfect, i.e., it solves P ′ with a (verysmall) non-negligible probability/advantageR can run several instances of A′ on different inputs, butthen it is hard to relate SuccP′,A′(`) and SuccP,R[A′](`)

A typical reduction: Black-Box with a single call to A′:R[A′] transforms its input x ∈ P into x ′ ∈ P ′

R[A′] runs A′ with input x ′

R[A′] computes its output from the output of A′

Jorge L. Villar CODES & CRYPTO

Page 30: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Black-Box Reductions

R is just a Oracle PPTM and now A = R[A′] = RA′

R has no access to the internals of A′, but only to itsinput-output behavior (functionality)Recall that A′ is non-perfect, i.e., it solves P ′ with a (verysmall) non-negligible probability/advantage

R can run several instances of A′ on different inputs, butthen it is hard to relate SuccP′,A′(`) and SuccP,R[A′](`)

A typical reduction: Black-Box with a single call to A′:R[A′] transforms its input x ∈ P into x ′ ∈ P ′

R[A′] runs A′ with input x ′

R[A′] computes its output from the output of A′

Jorge L. Villar CODES & CRYPTO

Page 31: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Black-Box Reductions

R is just a Oracle PPTM and now A = R[A′] = RA′

R has no access to the internals of A′, but only to itsinput-output behavior (functionality)Recall that A′ is non-perfect, i.e., it solves P ′ with a (verysmall) non-negligible probability/advantageR can run several instances of A′ on different inputs, butthen it is hard to relate SuccP′,A′(`) and SuccP,R[A′](`)

A typical reduction: Black-Box with a single call to A′:R[A′] transforms its input x ∈ P into x ′ ∈ P ′

R[A′] runs A′ with input x ′

R[A′] computes its output from the output of A′

Jorge L. Villar CODES & CRYPTO

Page 32: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Black-Box Reductions

R is just a Oracle PPTM and now A = R[A′] = RA′

R has no access to the internals of A′, but only to itsinput-output behavior (functionality)Recall that A′ is non-perfect, i.e., it solves P ′ with a (verysmall) non-negligible probability/advantageR can run several instances of A′ on different inputs, butthen it is hard to relate SuccP′,A′(`) and SuccP,R[A′](`)

A typical reduction: Black-Box with a single call to A′:R[A′] transforms its input x ∈ P into x ′ ∈ P ′

R[A′] runs A′ with input x ′

R[A′] computes its output from the output of A′

Jorge L. Villar CODES & CRYPTO

Page 33: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Self-Reductions: An Example

Probability Amplification by Repetition is an example ofBlack-Box Self-Reduction of a decision problem

R[A′] runs n times A′ on the same input and decides its outputby majority voting among the n outputs

For small SuccP,A′(`)

SuccP,R[A′](`) ≈√

2nπ

SuccP,A′(`)

while time(R[A′], x) ≈ n · time(A′, x)

For (‘checkable’) search problems and small SuccP,A′(`)

SuccP,R[A′](`) ≈ n SuccP,A′(`)

and the meaningful quantity for comparisons is probability/time

Jorge L. Villar CODES & CRYPTO

Page 34: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Self-Reductions: An Example

Probability Amplification by Repetition is an example ofBlack-Box Self-Reduction of a decision problem

R[A′] runs n times A′ on the same input and decides its outputby majority voting among the n outputs

For small SuccP,A′(`)

SuccP,R[A′](`) ≈√

2nπ

SuccP,A′(`)

while time(R[A′], x) ≈ n · time(A′, x)

For (‘checkable’) search problems and small SuccP,A′(`)

SuccP,R[A′](`) ≈ n SuccP,A′(`)

and the meaningful quantity for comparisons is probability/time

Jorge L. Villar CODES & CRYPTO

Page 35: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Self-Reductions: An Example

Probability Amplification by Repetition is an example ofBlack-Box Self-Reduction of a decision problem

R[A′] runs n times A′ on the same input and decides its outputby majority voting among the n outputs

For small SuccP,A′(`)

SuccP,R[A′](`) ≈√

2nπ

SuccP,A′(`)

while time(R[A′], x) ≈ n · time(A′, x)

For (‘checkable’) search problems and small SuccP,A′(`)

SuccP,R[A′](`) ≈ n SuccP,A′(`)

and the meaningful quantity for comparisons is probability/time

Jorge L. Villar CODES & CRYPTO

Page 36: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Self-Reductions: An Example

Probability Amplification by Repetition is an example ofBlack-Box Self-Reduction of a decision problem

R[A′] runs n times A′ on the same input and decides its outputby majority voting among the n outputs

For small SuccP,A′(`)

SuccP,R[A′](`) ≈√

2nπ

SuccP,A′(`)

while time(R[A′], x) ≈ n · time(A′, x)

For (‘checkable’) search problems and small SuccP,A′(`)

SuccP,R[A′](`) ≈ n SuccP,A′(`)

and the meaningful quantity for comparisons is probability/timeJorge L. Villar CODES & CRYPTO

Page 37: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Random Self-Reducibility

DefinitionThe decision problem family P is random self-reducible ifthere exists a PPTM T that transforms any particular instancex ∈ P` into a random (uniform) instance in P`.

T transforms any probability distribution in P` into the uniform

Using T as a self-reduction RT ,

A(x) = RT [A′](x) = A′(T (x))

proves that solving a random instance of P is not easier than(thus, equivalent to) solving all instances in P.

For a random self-reducible problem average hardness isequivalent to worst-case hardness

Jorge L. Villar CODES & CRYPTO

Page 38: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Random Self-Reducibility

DefinitionThe decision problem family P is random self-reducible ifthere exists a PPTM T that transforms any particular instancex ∈ P` into a random (uniform) instance in P`.

T transforms any probability distribution in P` into the uniform

Using T as a self-reduction RT ,

A(x) = RT [A′](x) = A′(T (x))

proves that solving a random instance of P is not easier than(thus, equivalent to) solving all instances in P.

For a random self-reducible problem average hardness isequivalent to worst-case hardness

Jorge L. Villar CODES & CRYPTO

Page 39: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Random Self-Reducibility

DefinitionThe decision problem family P is random self-reducible ifthere exists a PPTM T that transforms any particular instancex ∈ P` into a random (uniform) instance in P`.

T transforms any probability distribution in P` into the uniform

Using T as a self-reduction RT ,

A(x) = RT [A′](x) = A′(T (x))

proves that solving a random instance of P is not easier than(thus, equivalent to) solving all instances in P.

For a random self-reducible problem average hardness isequivalent to worst-case hardness

Jorge L. Villar CODES & CRYPTO

Page 40: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Random Self-Reducibility

DefinitionThe decision problem family P is random self-reducible ifthere exists a PPTM T that transforms any particular instancex ∈ P` into a random (uniform) instance in P`.

T transforms any probability distribution in P` into the uniform

Using T as a self-reduction RT ,

A(x) = RT [A′](x) = A′(T (x))

proves that solving a random instance of P is not easier than(thus, equivalent to) solving all instances in P.

For a random self-reducible problem average hardness isequivalent to worst-case hardness

Jorge L. Villar CODES & CRYPTO

Page 41: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Applications of Reductions (I)

Recall that security definitions are stated as (interactive)problem families.

Reductions between security notions show implications, orrelative hardness, e.g., details. . .

SE-LR-CCA⇒ SE-LR-CPA⇒ SE-OW-CPA⇒ SE-OW

(strongest) (weakest)

A reduction R from a security notion SEC1 into another notionSEC2 transforms an adversary A2 breaking SEC2 into anotherA1 = R[A2] breaking SEC1.

Thus, R simulates any oracle given in SEC2 for A2, but it canuse the oracles given in SEC1.

Jorge L. Villar CODES & CRYPTO

Page 42: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Applications of Reductions (I)

Recall that security definitions are stated as (interactive)problem families.

Reductions between security notions show implications, orrelative hardness, e.g., details. . .

SE-LR-CCA⇒ SE-LR-CPA⇒ SE-OW-CPA⇒ SE-OW

(strongest) (weakest)

A reduction R from a security notion SEC1 into another notionSEC2 transforms an adversary A2 breaking SEC2 into anotherA1 = R[A2] breaking SEC1.

Thus, R simulates any oracle given in SEC2 for A2, but it canuse the oracles given in SEC1.

Jorge L. Villar CODES & CRYPTO

Page 43: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Applications of Reductions (I)

Recall that security definitions are stated as (interactive)problem families.

Reductions between security notions show implications, orrelative hardness, e.g., details. . .

SE-LR-CCA⇒ SE-LR-CPA⇒ SE-OW-CPA⇒ SE-OW

(strongest) (weakest)

A reduction R from a security notion SEC1 into another notionSEC2 transforms an adversary A2 breaking SEC2 into anotherA1 = R[A2] breaking SEC1.

Thus, R simulates any oracle given in SEC2 for A2, but it canuse the oracles given in SEC1.

Jorge L. Villar CODES & CRYPTO

Page 44: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Applications of Reductions (I)

Recall that security definitions are stated as (interactive)problem families.

Reductions between security notions show implications, orrelative hardness, e.g., details. . .

SE-LR-CCA⇒ SE-LR-CPA⇒ SE-OW-CPA⇒ SE-OW

(strongest) (weakest)

A reduction R from a security notion SEC1 into another notionSEC2 transforms an adversary A2 breaking SEC2 into anotherA1 = R[A2] breaking SEC1.

Thus, R simulates any oracle given in SEC2 for A2, but it canuse the oracles given in SEC1.

Jorge L. Villar CODES & CRYPTO

Page 45: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Applications of Reductions (II)

Reductions between computational problems show relativestrongness of the different security assumptions,

e.g., for acyclic group G,

DDH〈G〉 ⇒ CDH〈G〉 ⇒ DLOG〈G〉

(strongest) (weakest)

Security proofs by reduction: A reduction of a computationalproblem family P to the problem of breaking a security notionSEC for a cryptosystem Π, proves security of Π under theassumption that P is hard

P ⇒ SEC〈Π〉

It reads “if someone breaks Π, he also solves P”

Jorge L. Villar CODES & CRYPTO

Page 46: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Applications of Reductions (II)

Reductions between computational problems show relativestrongness of the different security assumptions, e.g., for acyclic group G,

DDH〈G〉 ⇒ CDH〈G〉 ⇒ DLOG〈G〉

(strongest) (weakest)

Security proofs by reduction: A reduction of a computationalproblem family P to the problem of breaking a security notionSEC for a cryptosystem Π, proves security of Π under theassumption that P is hard

P ⇒ SEC〈Π〉

It reads “if someone breaks Π, he also solves P”

Jorge L. Villar CODES & CRYPTO

Page 47: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Applications of Reductions (II)

Reductions between computational problems show relativestrongness of the different security assumptions, e.g., for acyclic group G,

DDH〈G〉 ⇒ CDH〈G〉 ⇒ DLOG〈G〉

(strongest) (weakest)

Security proofs by reduction: A reduction of a computationalproblem family P to the problem of breaking a security notionSEC for a cryptosystem Π, proves security of Π under theassumption that P is hard

P ⇒ SEC〈Π〉

It reads “if someone breaks Π, he also solves P”Jorge L. Villar CODES & CRYPTO

Page 48: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Provable Security

Main goal in provable security: Give a proof by reductionunder a well-known and well-studied assumption

The same assumption can be used for severalcryptosystems. . . even if they are of different type (e.g., encryption andsignatures)It makes easier comparing themCryptoanalysis focus on computational problems and noton specific schemes

. . . but some reductions are not meaningful in practice. . .

Jorge L. Villar CODES & CRYPTO

Page 49: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Provable Security

Main goal in provable security: Give a proof by reductionunder a well-known and well-studied assumption

The same assumption can be used for severalcryptosystems. . . even if they are of different type (e.g., encryption andsignatures)It makes easier comparing themCryptoanalysis focus on computational problems and noton specific schemes

. . . but some reductions are not meaningful in practice. . .

Jorge L. Villar CODES & CRYPTO

Page 50: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Provable Security

Main goal in provable security: Give a proof by reductionunder a well-known and well-studied assumption

The same assumption can be used for severalcryptosystems. . . even if they are of different type (e.g., encryption andsignatures)It makes easier comparing themCryptoanalysis focus on computational problems and noton specific schemes

. . . but some reductions are not meaningful in practice. . .

Jorge L. Villar CODES & CRYPTO

Page 51: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Provable Security

Main goal in provable security: Give a proof by reductionunder a well-known and well-studied assumption

The same assumption can be used for severalcryptosystems. . . even if they are of different type (e.g., encryption andsignatures)It makes easier comparing themCryptoanalysis focus on computational problems and noton specific schemes

. . . but some reductions are not meaningful in practice. . .

Jorge L. Villar CODES & CRYPTO

Page 52: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Provable Security

Main goal in provable security: Give a proof by reductionunder a well-known and well-studied assumption

The same assumption can be used for severalcryptosystems. . . even if they are of different type (e.g., encryption andsignatures)It makes easier comparing themCryptoanalysis focus on computational problems and noton specific schemes

. . . but some reductions are not meaningful in practice. . .

Jorge L. Villar CODES & CRYPTO

Page 53: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

Provable Security

Main goal in provable security: Give a proof by reductionunder a well-known and well-studied assumption

The same assumption can be used for severalcryptosystems. . . even if they are of different type (e.g., encryption andsignatures)It makes easier comparing themCryptoanalysis focus on computational problems and noton specific schemes

. . . but some reductions are not meaningful in practice. . .

Jorge L. Villar CODES & CRYPTO

Page 54: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

A Remark About Tightness

P ⇒ SEC〈Π〉 reads “if someone breaks Π, he also solves P”

More precisely, “there exists R such that if A breaks Π in time t1with probability/advantage ε1 > negl(`), then R[A] solves P intime t2 with probability/advantage ε2 > negl(`)”

If t2 ≈ t1 and ε2 ≈ ε1, R is tight

Meaningful reduction!

If t2 ≈ t1 but ε2 ≈ Cε1 for some constant C � 1, R isalmost tight

Quite meaningful reduction!

If t2 ≈ t1 but ε2/ε1 → 0 as `→∞, R is almost not tight

Itdepends. . .If t2 � t1, compare the ratios ε1/t1 and ε2/t2

Jorge L. Villar CODES & CRYPTO

Page 55: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

A Remark About Tightness

P ⇒ SEC〈Π〉 reads “if someone breaks Π, he also solves P”

More precisely, “there exists R such that if A breaks Π in time t1with probability/advantage ε1 > negl(`), then R[A] solves P intime t2 with probability/advantage ε2 > negl(`)”

If t2 ≈ t1 and ε2 ≈ ε1, R is tight

Meaningful reduction!

If t2 ≈ t1 but ε2 ≈ Cε1 for some constant C � 1, R isalmost tight

Quite meaningful reduction!

If t2 ≈ t1 but ε2/ε1 → 0 as `→∞, R is almost not tight

Itdepends. . .If t2 � t1, compare the ratios ε1/t1 and ε2/t2

Jorge L. Villar CODES & CRYPTO

Page 56: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

A Remark About Tightness

P ⇒ SEC〈Π〉 reads “if someone breaks Π, he also solves P”

More precisely, “there exists R such that if A breaks Π in time t1with probability/advantage ε1 > negl(`), then R[A] solves P intime t2 with probability/advantage ε2 > negl(`)”

If t2 ≈ t1 and ε2 ≈ ε1, R is tight

Meaningful reduction!

If t2 ≈ t1 but ε2 ≈ Cε1 for some constant C � 1, R isalmost tight

Quite meaningful reduction!

If t2 ≈ t1 but ε2/ε1 → 0 as `→∞, R is almost not tight

Itdepends. . .If t2 � t1, compare the ratios ε1/t1 and ε2/t2

Jorge L. Villar CODES & CRYPTO

Page 57: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

A Remark About Tightness

P ⇒ SEC〈Π〉 reads “if someone breaks Π, he also solves P”

More precisely, “there exists R such that if A breaks Π in time t1with probability/advantage ε1 > negl(`), then R[A] solves P intime t2 with probability/advantage ε2 > negl(`)”

If t2 ≈ t1 and ε2 ≈ ε1, R is tight Meaningful reduction!If t2 ≈ t1 but ε2 ≈ Cε1 for some constant C � 1, R isalmost tight Quite meaningful reduction!If t2 ≈ t1 but ε2/ε1 → 0 as `→∞, R is almost not tight Itdepends. . .

If t2 � t1, compare the ratios ε1/t1 and ε2/t2

Jorge L. Villar CODES & CRYPTO

Page 58: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Defining Security Proving Security

A Remark About Tightness

P ⇒ SEC〈Π〉 reads “if someone breaks Π, he also solves P”

More precisely, “there exists R such that if A breaks Π in time t1with probability/advantage ε1 > negl(`), then R[A] solves P intime t2 with probability/advantage ε2 > negl(`)”

If t2 ≈ t1 and ε2 ≈ ε1, R is tight Meaningful reduction!If t2 ≈ t1 but ε2 ≈ Cε1 for some constant C � 1, R isalmost tight Quite meaningful reduction!If t2 ≈ t1 but ε2/ε1 → 0 as `→∞, R is almost not tight Itdepends. . .If t2 � t1, compare the ratios ε1/t1 and ε2/t2

Jorge L. Villar CODES & CRYPTO

Page 59: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Codes and Cryptography

Jorge L. Villar

MAMME, Fall 2015

END OF PART XI

Jorge L. Villar CODES & CRYPTO

Page 60: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Extra Slides

A Sample Reduction: SE-LR-CPA⇒ SE-OW-CPAExperimentExp-SE-LR-CPA(Π,A, `) :k ← KeyGen(`);b∗ ← {0, 1};b′ ← AOLR,OEnc (1`);if b′ = b∗ output 1;else output 0;

Oracle OLR(m0,m1) :if |m0| 6= |m1|

output ⊥;else

output Enc(k ,mb∗);

Oracle OEnc(m) :output Enc(k ,m);

Reduction:m0,m1 ←M`;c∗ ← OLR(m0,m1);m′ ← AOEnc (1`, c∗);if m′ = m1

output 1;else if m′ = m0

output 0;else

output b′ ← {0, 1};

ExperimentExp-SE-OW-CPA(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← AOEnc (1`, c∗);if m′ = m∗

output 1;else output 0;

Oracle OEnc(m) :output Enc(k ,m);

go back. . .

Jorge L. Villar CODES & CRYPTO

Page 61: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Extra Slides

A Sample Reduction: SE-LR-CPA⇒ SE-OW-CPAExperimentExp-SE-LR-CPA(Π,A, `) :k ← KeyGen(`);b∗ ← {0, 1};b′ ← AOLR,OEnc (1`);if b′ = b∗ output 1;else output 0;

Oracle OLR(m0,m1) :if |m0| 6= |m1|

output ⊥;else

output Enc(k ,mb∗);

Oracle OEnc(m) :output Enc(k ,m);

Reduction:

m0,m1 ←M`;c∗ ← OLR(m0,m1);m′ ← AOEnc (1`, c∗);if m′ = m1

output 1;else if m′ = m0

output 0;else

output b′ ← {0, 1};

ExperimentExp-SE-OW-CPA(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← AOEnc (1`, c∗);if m′ = m∗

output 1;else output 0;

Oracle OEnc(m) :output Enc(k ,m);

go back. . .

Jorge L. Villar CODES & CRYPTO

Page 62: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Extra Slides

A Sample Reduction: SE-LR-CPA⇒ SE-OW-CPAExperimentExp-SE-LR-CPA(Π,A, `) :k ← KeyGen(`);b∗ ← {0, 1};b′ ← AOLR,OEnc (1`);if b′ = b∗ output 1;else output 0;

Oracle OLR(m0,m1) :if |m0| 6= |m1|

output ⊥;else

output Enc(k ,mb∗);

Oracle OEnc(m) :output Enc(k ,m);

Reduction:m0,m1 ←M`;c∗ ← OLR(m0,m1);

m′ ← AOEnc (1`, c∗);if m′ = m1

output 1;else if m′ = m0

output 0;else

output b′ ← {0, 1};

ExperimentExp-SE-OW-CPA(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← AOEnc (1`, c∗);if m′ = m∗

output 1;else output 0;

Oracle OEnc(m) :output Enc(k ,m);

go back. . .

Jorge L. Villar CODES & CRYPTO

Page 63: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Extra Slides

A Sample Reduction: SE-LR-CPA⇒ SE-OW-CPAExperimentExp-SE-LR-CPA(Π,A, `) :k ← KeyGen(`);b∗ ← {0, 1};b′ ← AOLR,OEnc (1`);if b′ = b∗ output 1;else output 0;

Oracle OLR(m0,m1) :if |m0| 6= |m1|

output ⊥;else

output Enc(k ,mb∗);

Oracle OEnc(m) :output Enc(k ,m);

Reduction:m0,m1 ←M`;c∗ ← OLR(m0,m1);m′ ← AOEnc (1`, c∗);

if m′ = m1

output 1;else if m′ = m0

output 0;else

output b′ ← {0, 1};

ExperimentExp-SE-OW-CPA(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← AOEnc (1`, c∗);if m′ = m∗

output 1;else output 0;

Oracle OEnc(m) :output Enc(k ,m);

go back. . .

Jorge L. Villar CODES & CRYPTO

Page 64: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Extra Slides

A Sample Reduction: SE-LR-CPA⇒ SE-OW-CPAExperimentExp-SE-LR-CPA(Π,A, `) :k ← KeyGen(`);b∗ ← {0, 1};b′ ← AOLR,OEnc (1`);if b′ = b∗ output 1;else output 0;

Oracle OLR(m0,m1) :if |m0| 6= |m1|

output ⊥;else

output Enc(k ,mb∗);

Oracle OEnc(m) :output Enc(k ,m);

Reduction:m0,m1 ←M`;c∗ ← OLR(m0,m1);m′ ← AOEnc (1`, c∗);

if m′ = m1

output 1;else if m′ = m0

output 0;else

output b′ ← {0, 1};

ExperimentExp-SE-OW-CPA(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← AOEnc (1`, c∗);if m′ = m∗

output 1;else output 0;

Oracle OEnc(m) :output Enc(k ,m);

go back. . .

Jorge L. Villar CODES & CRYPTO

Page 65: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Extra Slides

A Sample Reduction: SE-LR-CPA⇒ SE-OW-CPAExperimentExp-SE-LR-CPA(Π,A, `) :k ← KeyGen(`);b∗ ← {0, 1};b′ ← AOLR,OEnc (1`);if b′ = b∗ output 1;else output 0;

Oracle OLR(m0,m1) :if |m0| 6= |m1|

output ⊥;else

output Enc(k ,mb∗);

Oracle OEnc(m) :output Enc(k ,m);

Reduction:m0,m1 ←M`;c∗ ← OLR(m0,m1);m′ ← AOEnc (1`, c∗);if m′ = m1

output 1;else if m′ = m0

output 0;else

output b′ ← {0, 1};

ExperimentExp-SE-OW-CPA(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← AOEnc (1`, c∗);if m′ = m∗

output 1;else output 0;

Oracle OEnc(m) :output Enc(k ,m);

go back. . .

Jorge L. Villar CODES & CRYPTO

Page 66: Codes and Cryptography · Jorge L. Villar MAMME, Fall 2015 PART XI Jorge L. Villar CODES & CRYPTO. Defining Security Proving Security Outline 1 Defining Security 2 Proving Security

Extra Slides

A Sample Reduction: SE-LR-CPA⇒ SE-OW-CPAExperimentExp-SE-LR-CPA(Π,A, `) :k ← KeyGen(`);b∗ ← {0, 1};b′ ← AOLR,OEnc (1`);if b′ = b∗ output 1;else output 0;

Oracle OLR(m0,m1) :if |m0| 6= |m1|

output ⊥;else

output Enc(k ,mb∗);

Oracle OEnc(m) :output Enc(k ,m);

Reduction:m0,m1 ←M`;c∗ ← OLR(m0,m1);m′ ← AOEnc (1`, c∗);if m′ = m1

output 1;else if m′ = m0

output 0;else

output b′ ← {0, 1};

ExperimentExp-SE-OW-CPA(Π,A, `) :k ← KeyGen(`);m∗ ←M`;c∗ ← Enc(k ,m∗);m′ ← AOEnc (1`, c∗);if m′ = m∗

output 1;else output 0;

Oracle OEnc(m) :output Enc(k ,m);

go back. . .

Jorge L. Villar CODES & CRYPTO


Recommended