103
1 Symmetric-Key Encryption CSE 5351: Introduction to Cryptography Reading assignment: Chapter 3 Read sections 3.1-3.2 first (skipping 3.2.2)

Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Embed Size (px)

Citation preview

Page 1: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

1

Symmetric-Key Encryption

CSE 5351: Introduction to Cryptography

Reading assignment:

• Chapter 3

• Read sections 3.1-3.2 first (skipping 3.2.2)

Page 2: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

2

0

0

A nonegative function : is said to be

if for every positive polynomial ( ), there is an integer

such that

1

negligible

( ) for all (i

.( )

Negligible functions

f

P n

n

f n n nP n

log

e., for sufficiently large ).

Examples: 2 , 2 , are negligible functions.

Negligible functions approach zero faster than the reciprocal of

polynomial.

We wri

every

negl( )te to d

n n n

n

n

n

enote an unspecified negligible function.

Page 3: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

3

1

1 2

2

negl (

If negl ( ) and negl ( ) are negligible functio

) ne

ns, then

is negligible.

If negl( ) is a negligible function and ( ) a polynomial, then

gl ( )

Properties of negligible functions

n n

n n

n p n

100 log

is negligible.

Examples

( ) n

: 2 2 and are negligible

egl

.

( )

n n nn

p n n

n

Page 4: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

4

In perfect indistinguishability (perfect secrecy),

the adversary has

unlimited computing power,

success rate

also, message

1 2;

Relaxing the security requirement

length .

Now we relax the notion of perfect indistinguishability by

limiting adversaries to having computing power,

allowing the success rate to be

is hidden

poly( )

1 2 negl( ),

n

n

n

messageot hidin leng gth.

Page 5: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

5

The in the previous slide is called a

which indicates the

We will associate an encryption scheme with a

secureity parameter , an

security

parameter, key len

d w

g .

u

th

o

Security Parameter

n

n

ld like to be secure

in the sense that any adversary with computing

power can break with at most probability

(

( .

)

)

poly n

negl n

Page 6: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

6

Probabilistic polynomial-time algorithms

Polynomial-time : the running time is polynomial in .

is the number of bit

input le

s of the

ngth

Input le input.

What is the len

ngth

gth of

PPT Algorithms

in binary, and what is the length of 1 ?

What is the difference between these two statements:

( ) is a PPT algorithm.

(1 ) is a PPT algorithm.

n

n

n

A n

A

Page 7: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

7

A tuple of polynomial-time algorithms: ( , , )

Key generation algorithm : On input 1 , outputs a

key {0,1} . We

write

(

Private-key encryption scheme w. security parameter

n

n

Gen Enc Dec

Gen

k k Gen

n

*

1 ). ( : security parameter.)

Encryption algorithm : On input a key and a message

{0,1} , outputs a ciphertext . We write ( ).

Decryption algorithm : On input a key an

d

n

k

n

Enc k

m c c Enc m

Dec k

*

a ciphertext ,

outputs a message or an error symbol .

We write : ( ).

Correctness requirement: for every (1 ) and {0,1} ,

( ) .

, are prob

k

n

k k

c

Dec m

m Dec c

k Gen m

Dec Enc m m

Gen Enc

abilistic. , deterministic. Dec

Page 8: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

8

( ) If message space {0,1} , then ( , , ) is

said to be a private-key encryption scheme for

messages of length ( ).

If (1 ) simply outputs {0,1} , we omit

fixed-l t

h

eng

n

n n

u

M Gen Enc Dec

n

Gen k Ge

and simply

denote the scheme by ( , ). This is almost always the case.

n

Enc Dec

Page 9: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

9

eav

,

PPT singl Adversary: eavesdropper with a ciphertext.

( , , ) : an encryption scheme with security parameter .

Imagine a

game pla

(

)

e

Ciphertext Indistinguishability Experiment PrivKA

Gen Enc Dec n

n

0 1

0 1

yed by Bob and an adversary (Eve):

Eve, given input 1 , outputs a pair of messages ,

with (i.e., .

Bob chooses a

having the sa

key (1 ) and a bit

me le

{0,1};

ngth)

n

n

u

A

m m

m m

k Gen b

0 1

eav

,

computes ( ); and gives to Eve.

Eve outputs a bit , trying to tell whether is an

encryption of or .

The Poutput, of the experirivK ( ),

ment

is 1 i ff

k

A

bc E m c

b c

m m

bn

(i.e., Eve succeeds.)

b

Page 10: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

10

A private-key encryption schem

indistinguishab

e has

(or is

) if for

le encryptions against an eavesdropper

E

Defini

AV-secure

tion:

all p

o

r

Ciphertext Indistinguishability against an eavesdropper

eav

,

babilistic polynomial-time adversaries ,

there is a negligible function ( ) such that (for all )

1 Pr PrivK ( ) 1 negl( )

2

where the probability is taken over the random

A

A

negl n n

n n

0 1eav

,

0 1

ness used by ,

the randomness used by Bob to choose the key and the bit ,

as well as the randomness used by .

1 , , , ( ) : Pr PrivK ( ) 1 Pr

{0,1}, (1 ), ,

n

k b

An

u

A

b

Enc

A m m Enc m bn

b k Gen m m A

(1 )n

Page 11: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

11

eav

,

eav

,

For 0 or 1 (fixed), let PrivK ( , ) denote the previous

experiment with the fixed used.

Let output PrivK ( , ) denote the adversary's output.

Pr o

utpu

An equivalent formulation

A

A

b b

n

b

b

n

0 1eav

,

0 1

1 , , , ( ) 1: t PrivK ( , ) 1 Pr

(1 ), , (1 )

A private-key encryption scheme i EAV-secures

if and

The

only if for all PPT adversaries , there is a ne

orem:

gli

n

k

A

b

n n

mA m m Encn

k Gen m m A

A

b

eav eav

, ,

gible

function ( ) such that

Pr output PrivK ( , ) 1 Pr output PrivK ( , ) 1

ne

0

( )

1

gl .

A A

negl n

n n

n

Page 12: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

12

0 1 0 1

0 1

0 1

0 1

That is,

1 , , , ( ) 1: 1 , , , ( ) 1: Pr Pr

(1 ), , (

1 ) (1 ), , (1 )

( )

n n

k k

n n n n

A m m Enc A m m Enc

k Gen m m A k Gen m m A

negl n

m m

Page 13: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

13

Let denote the th bit of .

If an encryption scheme is EAV-secure, then from a ciphertext

( ), it is infeasible for the adversary t

o

Adversaries cannot learn any bit of the plaintext

i

k

m i m

c Enc m

( )

recover .

If a fixed-length private-key encryption scheme with

{0,1} is EAV-secure, then for all PPT adversaries and

any 1, , ( ) , it holds:

Pr

Theorem:

1 , ( ) : {0,1

}

i

n

n i n

k u

m

M A

i n

A Enc m m k

( ) 1, {0,1} negl( ).

2

n

um n

Page 14: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

14

Secure: EAV-secure, CPA-secure, or CCA-secure.

Secure private-key encryption schemes may be constructed from:

Pseudorandom generat

ors

Pseudorandom functions

Secure Encryption Schemes

Pseudorandom permutati ons.

Page 15: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Pseudorandom Generators and

Stream Ciphers

Encryption schemes using pseudorandom

generators

K&L: Section 3.3

15

Page 16: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

16

Vernam's one-time pad scheme is perfectly secure against

single-ciphertext eavesdropper.

Drawback: it requires a random key as long as the message.

Solution: use a short key as

Motivation

seed to generate a "pseudorandom"

key that is as long as needed.

This is the basic idea of stream ciphers.

Page 17: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

17

The term "stream cipher" may refer to the entire encryption scheme

or just the pseudorandom generator.

Stream ciphers

Page 18: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

18

Informally, a pseudorandom generator is an algorithm that given

a ( ) string , outputs a " "

(i.e.,pseudorandom) string l

short truly random ra

onge

nd

r

om-like

What is a pseudorandom generator?

G

s

than .

Informally, a string is " " if it is to tell

whether or not is generated by a generator.

Loosely speaking, two sets ,

r

{0,1} are said to be

andom-like hard

truly-ra

polynomia

ndom

n

n n

s

r

r

A B

if for every polynomial distinguisher ,

lly

indistinguishable

Pr ( ) 1:

Pr negl( ) 1 ( ):

|

|u n

nu

D r r

D r

D

A

nr B

Page 19: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

19

In the above, we were actually talking about the indistinguishability

between two ensembles (sequences) of sets: and .

Two ensembles of setDefinit sion:

pol

and are

n nn n

n nn n

A B

A B

if for every polynomial-time

distinguisher , it holds that

Pr ( ) 1:

Pr ( ) 1: negl( )

ynomially ind

istinguishable

|

|

u n

u n

D

D r r A

D r r B n

100

1

Which of the following are polynomially indistinguishable?

{0,1} , {0,1} 0

{0,1} , {0,1} : 2 as a binary integer

{0,1} ,

0 {0,1}

n n n

n n

n n

n n

n n

n n

A B

A B s s

A B

Page 20: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

20

Pr Pr ( ) 1

1

{0,1} and {0,1} 0

are polynomially indistinguishable

Pr ( ) 12

1

.

Pr

( )

Pr ( )2

1:

0

n

n

n

A

A

n n n

n

r

nr

u

n

n

n

r D r

D r

D

A

A B

D r r

11 Pr ( ) 1

2

Pr Pr ( ) 1

1 Pr ( ) 1

2 1

Pr ( ) 1:

Pr ( )P negr ( ) 1: 1 l ) (:| |

n

n

n

nr

r

nr

B

n

B

uu

B

n

u

nD r r

D r

r DD r r

D r r

D

B

A B

r

r

n

Page 21: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

21

Let ( ) be a polynomial such that ( ) for all 0.

Let be a deterministic polynomial-time algorithm that, for any

input string {0,1} , outputs a st

Definition of pseudorandom generator

n

n n n

G

s

( )ring ( ) {0,1} .

is said to be a with ( )

if for every polynomial-time distinguisher ,

pseudorandom generator expansion

Pr ( ( )) 1: {0,1

}

facto

r

|

n

n

u

G s

G

D

D G s s

( )

( )

Pr ( ) 1: {0,1} negl( )

That is, the two ensembles and , are polynomially

indistinguishable, where ( ) : {0,1} and 0,1 .

|n

u

n nn N n N

nn

n n

D r r n

A B

A G s s B

Page 22: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

22

1 1

1 11

Let ( ) ( ) for {0,1} .

Expansion facto

not

r ( ) 1.

is a pseudorandom generator:

1 if For {0,1} , let ( )

0

Example: pseudorandom generainsecure tor

n

n n

n nn

G s s s s s s s

l n n

G

r r rr D r

1

otherwise

Pr ( ( )) 1: {0,1} 1

Pr ( ) 1: {0,1} 1 2

Difference between the two probabilities is not negligible.

n

u

n

u

D G s s

D r r

Page 23: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

23

A string is said to be a if it is generated

by a true random generator (i.e., {0,1} , where ).

A string is said to b

random string

pseudorandom stringe a if it is generated

Remarks

u

r

r r

r

( )

by a pseudorandom generator.

What if the distinguisher has unlimited (or exponential) time?

1 if ( ) for some {0,1} Given {0,1} , let ( )

0 otherwise

Pr ( ( )) 1: {0

n

n

u

D

r G s sr D r

D G s s

( ) ( ) ( )

,1} 1

Pr ( ) 1: {0,1} 2 2 1 2

Difference between the two probabilities is not negligibl .e

n

n n n n n

uD r r

Page 24: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

24

If one-way functions exist, then pseudorandom generators

exist.

That is, pseudorandom generators can be constructed from

one-way functions.

Chap

Existence of pseudorandom generators

ter 7 of the K&L book shows how to construct pseudorandom

generators from one-way permutations.

True pseudorandom generators are slow for applications.

In practice, algorithms such as RC4 are

used.

Page 25: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

25

Let :{0,1} {0,1} be a one-way function.

Let hard-:{0,1} {0,1} be a of .

A boolean function defined on the do

co

main of

re pred

e

.

icat

Existence of pseudorandom generators (basic idea)

n n

n

f

b f

f

0

0

0 1 2 ( ) 1

Easy to compute ( ) from .

But hard to compute ( ) from ( ).

Given seed , let .

Starting from , apply repeatedly:

Let ( ) (

f f f f

l n

b x x

b x f x

x x x

x f

x x x x

G x b

0 1 2 ( ) 1), , , , .

is a pseudorandom generator with expansion factor ( ).

l nx b x b x b x

G l n

Page 26: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

26

2

Let for two large primes , .

Let ( ) mod . //one-way function//

Let ( ) the least significant bit of

Blum-Blum-ShubExample: pseudorandom generator

n pq p q

f x x n

b x

0 1 2 ( ) 1

0 1 2 ( ) 1

//hard-core predicate//

Let ( ) ( ), , , , .

is a pseudorandom generator with expansion factor ( ).

f f f f

l n

l n

x

x x x x

G x b x b x b x b x

G l n

Page 27: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

27

0

Suppose 29 31 899.

Suppose 100.

Then we have the sequence

100, 111, 634, 103, 720, 576, 45, 227, 286, 886, 169,

692,

Blum-Blum-ShubExample: pseudorandom generator

n pq

x

596, 111, 634, 103, 720,

The generated bits are 01010011001001010

Page 28: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

28

From a pseudorandom generator with expansion factor ( ), we

can easily construct an EAV-secure ( )-bit encryption scheme.

: a pseudorandom

Encryption schemes based on pseudorandom generators

n

n

G

( )

generator with expansion factor ( ).

Key generation: on input 1 , outputs a key 0,1 .

Encryption: on input a key 0,1 and a message 0,1 ,

outputs the ciphertext

nn

u

n n

n

k

k m

( )

: ( ).

Decryption: on input a key 0,1 and a ciphertext 0,1 ,

outputs the : ( ).

Denote this scheme by .

n n

c m G k

k c

m c G k

Page 29: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

29

0 0

1

The scheme constructed above is EAV-secure

(i.e. has indistinguishable encryptions against eavesdroppers).

If encrypting with a truely random

I

s

The

tri

ntu

orem.

ng

ion

:

it :

Security

c rm

m

r

c

1

0 0

1 1

perfectly indistinguishable

If a pseudorandom string is us( )

( )

( )

ed instead:

polynomially indistinguishable

r

G s

G sc m

c m G s

Page 30: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

30

P

0 1

We will show:

Distinguishing between Breaking encryption scheme

random strings and (distinguishing between

pseudorand

By

om strings ( ) ciphertexts a

redu

nd )

Not

n.

ctio

Proof sketch

r

G s c c

Pation. A B: A reduces to B in polynomial time.

Roughly meaning that we can solve A using an algorithm for B as a

subroutine. Hardness of A hardness of B.

Example?

Page 31: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

31

( )

Let be an arbitrary PPT adversary against encryption scheme .

Construct a distinguisher :

, given as input a string 0,1 , wants to determine

whether is random or pseudor

l n

A

D

D w

w

( )eav

, 0 1

andom.

runs PrivK ( ) to obtain a pair of messages , 0,1 .

chooses {0,1}, sets : , gives to , and

obtains from .

outputs 1 if , and out

l n

A

u b

D n m m

D b c m w c A

b A

D b b

puts 0 otherwise.

Page 32: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

32

eav

,

0 1

1

,

adversary against encryption scheme

Run PrivK

{0,1}

:

: ( )

Distinguisher

A

u

b

n

m m

c

b

Aw

b

c m w

ans b bans

D

Page 33: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

33

*

( ) eav

,

*

( )

eav

,

Pr ( ) 1: {0,1} Pr PrivK 1

where is Vernan's one-time pad.

Pr ( ) 1: : ( ), {0,1}

Pr ( ) 1: {0,1}

1

Pr ( ) 1

2

Pr PrivK 1

|

l n

u A

n

u

l n

A

u

D w w

D w w G s s

D w w

D w

eav

,

eav

,

: : ( ), {0,1} ( )

So, 1 2 Pr PrivK 1 ( )

Pr PrivK 1 1 2 ( )

is EAV-secu

(Why?)

re

|

| |

n

u

A

A

w G s s negl n

negl n

negl n

Page 34: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

34

Stream ciphers require a new key for each message.

In practice, Alice and Bob wish to share a permanent key and

use it to encrypt multiple messa

Encrypting multiple messages with a single key

k

ges. One possible strategy:

For each message , generate a random string and use

as a seed to the pseudorandom generator .

Include in the ciph : ( ) :ertext, i.e .

, k

m r

s k r

c Enc

G

mr

not necessarily EAV-

Unfortunately, the resulting scheme is .

It requires to be more than a pseudorandom

It is

generat

probabilis

or for the

se

, ( )

sc

tic!

heme to be EA

cure

.

V-sec

r

G

m G k r

ure.

Page 35: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

35

1 2

1 2

At the beginning of a session, Alice and Bob agree on two keys

and (called session keys).

Alice and Bob each run ( ) and ( ) to get two (long enough)

Using stream ciphers in a session

k k

G k G k

1 2

1 2 3

1 2 3 11 2 3

2

pseudorandom strings, say and .

Alice encrypts her sequence of messeges , , , ... as

, , , ... : , , , ... .

Bob uses for encryption in a similar way.

PS PS

m m m

c c c m m m PS

PS

In practice, a stream cipher is designed to generate a random string

of desired length bit/byte by bit/byte byte on demand.

Page 36: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

36

Most popular stream cipher

Simple and fast

Used in many standards

Actually not a cipher, but a practical, approximate

pseudorandom generato

. N tr o

The RC4 Stream Cipher (K&L: Section 6.1.4)

Designed by Ron Rivest in 1987 for RSA Security,

and kept as a trade secret until

truely pseudorandom.

leaked out in 1

994.

Page 37: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

37

Two vectors of :

[0], [1], [2], , [255]

[0], [1], [2], , [255]

Input Key (seed) : variable length, 1 to 256 bytes

Initialization:

1. [ ] , for 0 255

byt

es

2.

RC4

S S S S

T T T T

K

S i i i

[0..255] , , ... (until filled up)

T K K

Page 38: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

38

Initial Permutation of :

0

for 0 to 255 do

( [ ] [ ] ) mod 256

Swap [ ], [ ]

Idea: swapping bytes dependentl

RC4: Initial Permutation

S

j

i

j j S i T i

S i S j

y of the input key.

After this step, the input key will not be used.

Page 39: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

39

Key stream generation:

, 0

while (true)

( 1 ) mod 256

( [ ] ) mod 256

Swap [ ], [ ]

RC4:Key StreamGeneration

i j

i i

j j S i

S i S j

( [ ] [ ] ) mod 256

output [ ]

Idea: systematically keep swapping and producing

output bytes

t S i S j

S t

Page 40: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Security of RC4

• RC4 is not a truly pseudorandom generator.

• The key stream generated by RC4 is biased.

– The second byte is biased toward zero with high probability.

– The first few bytes are strongly non-random and leak

information about the input key.

• Defense: discard the initial n bytes of the keystream.

– Called “RC4-drop[n-bytes]”.

– Recommended values for n = 256, 768, or 3072 bytes.

• Efforts are under way (e.g. the eSTREAM project) to

develop more secure stream ciphers.

40

Page 41: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

The Use of RC4 in WEP

• WEP is an RC4-based protocol for encrypting data transmitted

over an IEEE 802.11 wireless LAN.

• WEP requires each packet to be encrypted with a separate RC4

key.

• The RC4 key for each packet is a concatenation of a 40-bit or

104-bit long-term key and a random 24-bit R.

41

lRC4 key: Long-term key (40 or 104 bits) R (24)

lHeader R Message CRC

encrypted

802.11

Frame:

Page 42: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

WEP is not secure

• Mainly because of its way of constructing the key

• Can be cracked in a minute

• http://eprint.iacr.org/2007/120.pdf

42

Page 43: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Stronger Security Notions

K&L: Section 3.4

43

Page 44: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

44

EAV-security (against eavedroppers, ciphertext-only-attacks)

one encryption

multiple encryptions

CPA-security (against chosen-plaintext attacks)

one

Different levels of security

encryption

multiple encryptions

CCA-security (against chosen-ciphertext attacks)

one encryption

multiple encryptions

Page 45: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

45

mult

,

Adversary: eavesdropper with multiple ciphertexts

A game between Bob and an adversary :

The adversary, given

lisinput 1 , sele c

( )

ts two

Multiple-ciphertext indist. experiment PrivK

n

A

A

n

1 2 1 2

0 0 0 0 1 1 1 1

0 1

( , , ..., ) and ( , , ..., )

such that for all .

Bob chooses a key (1 ) and a bit {0,1};

computes ( ) for all

ts of messages

t t

i i

n

u

i i

k b

M m m m M m m m

m m i

k Gen b

c Enc m

1 2

, and gives the challenge

ciphertext list ( , , ..., ) to the adversary.

The adversary outputs a bit .

The output of the experiment is 1 iff .

t

i

C c c c

b

b b

Page 46: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

46

A private-key encryption scheme

indistinguishabl mu

D

l

ef

ti

init

plee en

has

if for a

io

cryptions against an eavesdropper

ll PPT adversaries

n:

Multiple-ciphertext indist. against an eavesdropper

mult

,

, there is a negligible function ( )

such that (for all )

1 Pr PrivK ( ) 1 negl( )

2

where the probability is taken over the randomness used by ,

by Bob, by , an

A

A negl n

n

n n

A

Gen

0 1mult

,

0 1

d by .

(1 , , , ( )) : Pr PrivK ( ) 1 Pr

{0,1}, (1 ), , (1 )

n

k b

A n n

u

Enc

A M M Enc M bn

b k Gen M M A

Page 47: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

47

If the of an en

cryption scheme (Gen,Enc,Dec)

is deterministic, then the scheme have indisting

Theorem:

cannot u

Deterministic encryption schemes

are not multiple-ciphertext indistinguishable

Enc

0 1

1 2

ishable

encryptions against an eavesdropper.

Proof. Suppose is deterministic.

Let (0 , 0 ) and (0 , 1 ). Let the challenge ciphertext

list be

mult

( , ).

What c

i

a

ple

n n n n

Enc

M M

C c c

1 2 1 2n say if (or if )?

For example, Vernam's one-time pad (for a fixed ) is

single-ciphertext indistinguishable, but not multiple-ciphertext

indistinguis

hable.

A c c c c

n

Page 48: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

48

1 1

The adversary is capable of adaptively obtaining samples

( , ), , ( , ), where is chosen by the adversary

and ( ) for all .

We model such a

Chosen-Plaintext Attacks (CPA)

t t i

i k i

m c m c m

c Enc m i

n adversary by giving it access to an

, viewed as a "black box" that on query returns a

ciphertext c ( ).

Orac

encryption

oracle (

le ( )(

)

)k

k

k

k

m

Enc m

mEnc

Enc m

Enc

Page 49: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

49

cpa

,

1. A key (1 ) is generated.

2. The adversary is oracle a given input 1 and

(

to ( ). It may

request the oracle to encrypt messages of

cces

)

s

CPA indistinguishability experiment PrivKA

n

n

k

n

k Gen

Enc

0 1 0 1

its choice.

3. The adversary chooses two message , with ; and

is given a challenge ciphertext ( ), where {0,1}.

4. The adversary continues to have oracle access to ( ) and ma

k b u

k

m m m m

c Enc m b

Enc

0 1.

5. The adversary finally outputs a bit .

6. The output of the experiment

y

even

is 1 iff

request the encryptions

.

Note: The CPA here is an CPA.

of and

adaptive

b

b

m m

b

Page 50: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

50

indistinguishable encryptions under a chosen-plaintext attack,

A private-key encryption scheme has

or is if for all PPT adversaries , there is a

De

f

CPA-secure,

inition:

neglig

CPA-security

A

cpa

,

ible

function ( ) such that (for all )

1 Pr PrivK ( ) 1 negl( )

2

where the probability is taken over the randomness used by

as well as the randomness used in the exp

A

negl n n

n n

A

( )

0 1cpa

,

0 1

eriment.

(1 , , , ( )) : Pr PrivK ( ) 1 Pr

{0,1}, (1 ), , (1 )

kEnc n

k b

A n n

u

A m m Enc m bn

b k Gen m m A

Page 51: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

51

1 2 1

0 0 0 0 1 1

One approach is to model the adversary as having oracle access

to ( ) and having it produce two message lists

( , , ..., ) and ( ,

CPA-security for multiple encryptions

k

t

Enc

M m m m M m

2

1 1

,

, ,

0 1

, ..., )

Alternatively, we use an oracle LR-Enc ( ), where is a key

and {0,1}. (LR-Enc ( ) is denoted by LR ( ) in the book.)

, Oracle

( )

t

k b

k b k b

k b

m m

k

b

m m

Enc m

,

The adversary is to guess t

LR

he

-Enc ( )

value of .

k b

b

Page 52: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

52

LR

,

,

-cpa

1. A key (1 ) is generated.

2. A bit {0,1} is chosen.

3. The adversary is given input 1 a oracle accend to LR-Enc ( ).

4. The adversary ou

s

(

t

s

)The LR-oracle experiment PrivK

n

u

n

b

A

k

n

k Gen

b

A

A

puts a bit .

5. The output of the experiment is 1 iff .

b

b b

Page 53: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

53

indistinguishable encryptions under a chosen-plaintext attack,

CPA-

multipl

A private-key encryption scheme Def has

or

secure

inition

for

e

mult iis p

e

:

le

CPA-security for multiple encryptions

LR-cpa

,

if for all PPT adversaries ,

there is a negligible function ( ) such that (for all )

1 Pr PrivK ( ) 1 negl( )

2

where the pro

n

bability is taken over the ra

cryptions,

A

A

negl n n

n n

ndomness used by

as well as the randomness used in the experiment.

For any private-key encryption scheme,

CPA-security CPA-security for multiple e

Theore

ncry

m:

p .

tions

A

Page 54: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Constructing CPA-Secure

Encryption Schemes

K&L: Section 3.5

54

Page 55: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

55

Pseudorandomgenerator

Page 56: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

56

Let be the set of all functions :{0,1} {0,1} .

Construct an encryption scheme as follows.

Key generation: uniformly choose a function

Func

A CPA-secure encryption scheme (inefficient)

n n

n f

f

.

To encrypt a message {0,1} , uniformly choose a

string {0,1} , and encrypt as .

To decrypt a ciphertext , , co

Fun

mpute : ( )

c

( )

.

: ,

u

n

n

n

u

m

r m

c r s m s

r

r

c r m f

f

Page 57: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

57

cpa

,

The encryption scheme is CPA-secure.

Consider any arbitrary adversar

Th

y .

In the experiment PrivK ( ), let : , ( ) be the

challenge cipher

eo

text

re

.

m:

Proof (sketc

)

S

h .

bA

A

n c m fr r

ince ( ) is uniformly random,

indistinguishable , on 's query , the oracle happens

to return : , ( ) , in which case will learn ( ).

This

u

may occur wi

nle

th probability

ss

m

f r c is

A m

c mr f r A f r

cpa

,

at most poly( ) 2 , where

poly( ) is an upper bound on the number of queries may

make to the oracle. Thus,

1 1 Pr PrivK ( ) 1 poly( ) 2 negl( ).

2 2

n

n

A

n

n A

n n n

Page 58: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

58

key

key

The secret key here is . Q: What's its length?

Suppose we label the elements/functions in Func with strings

{0,1} . What's the key length ?

How many elements/functions are t

n

f

k

2

here in Func ?

View each function as a table of 2 strings of length .

There are 2 choices (0 or 1) for each of the 2 bits.

So, there are different functions. I.e., Fun2n

n

n

n

n

n

n

key 2

2

2 which is infeas

c .

Thus, log 2 ible.,

2

2

n

n

n

n

n

n n

Page 59: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

59

Solution:

Choose a "small" subset of , say , such that

and are .

Then, randomly picking a func

indistinguish

tion from (as the key)

a

wi

ble

n n

n n

n

Func Func

Func Func

Func

ll be almost as good as randomly picking a function from

.

If we choose to contain no more than elements,

the key length will be at most

2

.

We will describe

n

n

n

Func

n

Func

(which is a set of functions)

as a single function with two parameters, called a keyed

function.

nFunc

Page 60: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

60

( ) ( ) ( )

( )

A : {0,1} {0,1} {0,1} for all 1,

has two inputs.

keyed function

keyThe first one is called the and denoted .

Each key {0,1} induces a single-input functi

Keyed functions

a n b n c n

a n

F n

k

k

( ) ( )

key in out

on:

:{0,1} {0,1}

( ) ( , )

is associated with three functions, ( ), ( ), ( ) (often written as

( ), ( ), ( )) which indicate the leng

b n c n

k

k

F

F x F k x

F a n b n c n

l n l n l n

key in out

ths of , , and ( ).

is if ( ) ( ) ( ) .

If is length-preserving, induces a set of functions for each :

:{0,1}

Q: In general, wh

{0,1} | {0,1}

length-pres ng

a

ervi

k

n n n

k

k x F x

F l n l n l n n

F F n

F k

t set of functions does induce?F

Page 61: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

61

A : {0,1} {0,1} {0,1}

has two inputs. The first one

keyed length-preser

is called the

ving function

key and denoted .

Each key {0,1} induces a single-

Keyed Length-Preserving functions

n n n

n

F

k

k

input function:

:{0,1} {0,1}

( ) ( , )

That is, induces a set of functions for each :

:{0,1} {0,1} | {0,1}

n n

k

k

n n n

k

F

F x F k x

F n

F k

Page 62: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

62

Let be a keyed function.

Recall Func the set of all functions :{0,1} {0,1} .

length-preserving

pseudorandom functi is a if the two ensembles of on sets

Pseudorandom functions

n n

n

F

f

F

( )

| {0,1} and Func

are polynomially indistinguishable, i.e., if for every PPT

distinguisher , it holds:

Pr (1 ) 1: {0,1}

| k

n

k nn

n n

u

F

nF k

D

D k

( ) Pr (1 ) 1: Func negl( )|f n

u nD f n

Page 63: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

63

key outin

outin

( ) ( )( )

( )( )

Let : {0,1} {0,1} {0,1} be a keyed function.

Define Func the set of all functions :{0,1} {0,1} .

pseudorandom functis a ion

General pseudorandom functions

l n l nl n

l nl nn

F

f

F

key

( )

( )

if the two ensembles of sets

| {0,1} and Func

are polynomially indistinguishable, i.e., if for every PPT

distinguisher , it holds:

Pr (1 ) 1: | k

l nnk

nn

F n

F k

D

D k

key

( )

( ){0,1}

Pr (1 ) 1: Func negl( )|

l n

nnu

f

u

D f n

Page 64: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

64

Suppose ( , ) .

Then, ( ) .

Is a pseudorandom function?

For any and , ( ) ( ) 1 .

Based on this, we design

Example keyed length-preserving function

k

n

k k

F k x k x

F x k x

F

k x F x F x k x k x

a distinguisher as follows.

Given a function (as an oracle), asks the oracle to

compute ( ) and ( ) for some {0,1} , say 0 .

If ( ) ( ) 1 , returns 1, else returns 0. We

n n

n

D

h D

h x h x x x

h x h x D

( )

( )

have

Pr (1 ) 1: {0,1} 1

Pr (1 ) 1: Func 2

kF n n

u

f n n

u n

D k

D f

Page 65: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

65

( )

( )

2

2

2

Pr (1 ) 1: Func

Pr is picked Pr (1 ) 1

1Pr ( ) ( ) 1

2

1 2

22

1

2

n

n

n

f n

u n

f n

f

n

nf

n

nn

n

D f

f D

f x f x

Page 66: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

66

( ) ( )

A function : is called a permutation if it is

bijective (one-to-one and onto).

We are interested in permutations :{0,1} {0,1} ,

especially with ( ) .

Permutations

l n l n

f X X

f

l n n

Page 67: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

67

A keyed permutation is a keyed function for which

each is a permutation.

Perm , the set of all permutations :{0,1} {0,1} .

A length-preserving keyed permutat

pPseudorando ermutatio nsm

k

n n

n

F

F

f

( )

( )

ion is a

if for every PPT distinguisher , it holds:

Pr (1 ) 1: {0,1}

Pr (1 ) 1: Perm n

pseudorandom

pe

egl( )

rmutation

|

|

kF n n

u

f n

u n

F

D

D k

D f n

A pseudorandom permutation is also a pseudorandom

function (assuming

Theore

)

m:

( ) .l n n

Page 68: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

68

Let be a pseudorandom function. Construct an encryption

scheme for messages of length as follows.

: on input 1 , output a key {0

CPA-secure encryption using pseudorandom functions

n

u

F

n

Gen k

,1} .

: on input a key {0,1} and a message {0,1} ,

choose uniformly a string {0,1} and output the ciphertext

: , ( ) .

: on input a key {0,1} and a ciphertext ,

n

n n

n

u

k

n

Enc k m

r

c r F r m

Dec k c r

, output

the plaintext message : ( ) .k

s

m F r s

Page 69: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

69

kF

Page 70: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

70

The encryption scheme is CPA-secure.

In scheme , a funct

Theorem:

Proof (basic idea).

ion is used as a key.

In scheme , a function : {0,1} is used as a key.

n

n

k k

f Func

F F k

cpa cpa

, ,

Since and : {0,1} are indistinguishable, it can be

shown that

Pr PrivK ( ) 1 P

by reduction

r PrivK ( ) 1 negl( )

We alread

y know

n

n k

A A

Func F k

n n n

cpa

,

cpa

,

1Pr PrivK ( ) 1 negl( ).

2

1 Thus, Pr PrivK ( ) 1 neg l . ( )

2

A

A

n n

n n

Page 71: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

71

1

Since is also a pseudorandom function, we may encrypt

a message {0,1} as before:

: , , where {0,1} . //CPA-secure//

If

( )

))

1 (

peIf is a pseudorando rmu nm tatio

n

n

u

k

kF r

F

m

c r r

F

m

m

F

is efficiently computable, we may also encrypt as

: ( ) //deterministic,

( )

so not CPA-secure//

: , , where {0,1} . //CPA-secure//

2)

3

Q:

)

How

k

n

k u

m

F r

c F

r m

m

c r

to decrypt a ciphertext , ?

(Assume that is efficiently computable.)k

c r s

F

Page 72: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Modes of Operations

K&L: Section 3.6.2

72

Page 73: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

73

*

Now let's see how to encrypt a message of arbitrary length

using a pseudorandom function or permutation.

Encryption algorithm: On input {0,1} and key ,

Pa

Encrypting long messages

m k

1 2 3

d the message so that its length is a multiple of (block size).

Divide the padded message i nto blocks, say

, , , ,

Individually enc

rypt each block :

t

i

n

m

m m m m m

m

1 1 2 2

{0,1} and : ( )

The final ciphertext is

: ( , ), ( , ), , ( , )

The ciphertext is twice as lo

ng as the message.

n

i u i k i i

t t

r c F r m

c r c r c r c

Ineffi cient!

Page 74: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

74

1 2

More efficient ways to do it are traditionaly called modes of

operation (of block ciphers).

generate a single random string Mai {0,1} and

derive ,

n i

, ,

dea:

Modes of operation

n

u

t

IV

r r r

1 2

from . ( : Initialization Vector)

The ciphertext will be of the form

Important modes of operation:

Counter mode (CTR):

, , , ,

i

tc I

IV IV

r IV

V c

i

c c

1 1

0 1

0 1

Output feedback mode OFB : , ( )

Cipher feedback mode CFB : , :

Cipher block chaining mode CBC :

, :

i k i

i i

i i

r IV r F r

c IV r c

c IV r c

Page 75: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

75

1 2

1 2 3

Idea: The strings , , , are for 1 .

Thus, to encrypt a message , , , , with key

Choose a random string {0,1} .

Encrypt as

Counter mode (CTR)

t i

t

n

u

r r r r IV i i t

m m m m m k

IV

m

1 2 : , , , , , where : ( )

:

St Blocks can be encrypted or decrypted re in parng ath: llel

t i k i i

i

c IV c c c c F r m

r IV i

or in a “random access” fashion.

Page 76: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Counter Mode (CTR)

76

1 2 3 r r r

Page 77: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

77

1 2 1 1

1 2 3

Idea: The strings , , , are and ( )

Thus, to encrypt a message , , , , with key

Choose a random string {0,1} .

Enc

Output feedback mode (OFB)

t i k i

t

n

u

r r r r IV r F r

m m m m m k

IV

1 2

1 1

rypt as : , , , ,

where : ( )

: , and : ( ) for 2

t

i k i i

i k i

m c IV c c c

c F r m

r IV r F r i t

Page 78: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Output feedback

78

1 2 3 r r r

Page 79: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

79

1 2

0 1

1 3

1

2

Idea: The strings , , , are chosen to be

where and is the previous cipher block.

Thus, the ciphertext of , , , , is

: ,

Cipher feedback mode (CFB)

t i i

i

t

r r r

c IV c

m m m m

c

m

r

0 1 2

0

1

: , , , ,

where :

for 1 .: ( )i k i i

tc c c c c

c IV

F m i tc c

Page 80: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

How is Cipher Feedback (CFB)

different from OFB?

80

1 2 3 r r r

Page 81: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

81

1

1 2

Assume is a pseudorandom permutation and

is efficiently computable.

Each block is encrypted as .

The strings , , , are chosen to be

Cipher block chaining mode (CBC)

k

i i k i

t i

i

F F

m c F r m

r r rr

0 1

1

1

1

2 3

0 2

0

for 1 ,

with , and being the previous cipher block.

Thus, the ciphertext of , , , , is

: , , , ,

where :

: (

i

t

t

i

i

k

i t

c IV c

m m m m m

c c c c c

c IV

c

c

F

1 ) for 1 .i ic m i t

Page 82: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Cipher block chaining (CBC)

82

Page 83: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Chained CBC

83

1 2 3 4 5

Used in SSL 3.0 and TLS 1.0, but is .

Message 1: ( , , ) M

not

essa

CPA

ge

-se

2:

cure

( , )m m m m m

IV’

CBC

Page 84: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Chained CBC

84

1 2 3 4 5

Used in SSL 3.0 and TLS 1.0, but is .

Message 1: ( , , ) M

not

essa

CPA

ge

-se

2:

cure

( , )m m m m m

Page 85: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

85

1 2 3

1 2 3 1 1

1 2 3

Let adversary chooses two messages , , ,

, , such that .

Let , , , be the challenge ciphertext.

knows the oracle is going to

Insecurity of Chained CBC

A M m m m

M m m m m m

C IV c c c

A

3

4 1 3 4

4

1 4

use in the next encryption.

So, prepares such that , and asks

the oracle to encrypt it. Suppose receives from the oracle.

Depending on whether , knows whether

c

A m IV m c m

A c

c c A

is the

encryption of or .

C

M M

Page 86: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

86

1 2 3 1 2 3

1 2 3

41 3

Is ( , , , ) the encryption of ( , , )

or ( ,

, )?

C IV c

IV

c c M m m m

c

M m m m

m m

1 4

?c c

1 1 or ?m m

Page 87: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

87

1 2 3

Use a pseudorandom permutation .

, , , ,

Each block is encrypted as .

The resulting scheme is deterministic and CPA secure.

Used o

n t

n

o

l

Electronic codebook mode (ECB)

t

i i k i

F

m m m m m

m c F m

y for sending a short message (in a single block).

Page 88: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Electronic Code Book (ECB)

88

Page 89: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

89

If is a pseudorandom function or permutation, then

OFB, CFB, CTR are CPA-secure.

If is a pseudor pandom , then

ermutati

is CPA-secu

on

CBC re.

Security of CBC, OFB, CFB, CTR

F

F

Page 90: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Chosen-Ciphertext Attacks

K&L Section 3.7

90

Page 91: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

91

cca

,

1. A key (1 ) is generated.

2. The adversary is given input 1 and oracle access to (

.

3. The adversary ch

( )

ooses two message

) and

( )

CCA indistinguishability experiment PrivK A

n

k

k

n

n

En

k

c

G

Dec

en

m

0 1 0 1, with ; and

is given a challenge ciphertext ( ), where {0,1}.

4. The adversary ( ) ancontinues to have oracle access t

not allowed to request t

o ,

but is he de

( )

cr

d

yp

k k

k b u

m m m

c Enc m b

Enc Dec

5. The adversary finally outputs a bit .

6. The output of the experiment is 1 iff .

Note: The CCA defined here has the capabilities of both

tio

CPA and

"pure CCA

n of itself.

".

b

b b

c

Page 92: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

92

indistinguishable encryptions under a chosen-ciphertext attack,

A private-key encryption scheme has

CCA-secure, or is if for all PPT adve

Definiti

rsaries , there is a negli

on:

CCA-security

A

cca

,

gible

function ( ) such that (for all )

1 Pr PrivK ( ) 1 negl( )

2

where the probability is taken over the randomness used by

as well as the randomness used in the ex

A

negl n n

n n

A

( ), ( )

0 1cca

,

0 1

periment.

(1 , , , ( )) : Pr PrivK ( ) 1 Pr

{0,1}, (1 ), , )

(1

k kEnc Dec n

k b

A n n

u

A m m Enc m bn

b k Gen m m A

Page 93: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

93

LR-cpa

,

LR-cca

, : same as PrivK ( ) excExperiment PrivK ( )

Definition

ept ... (what?)

A private-key encrypt

ind

ion scheme ha

multipleistinguishable

s

:

CCA-security for multiple encryptions

A An n

or is if for all PPT adversa

encryptions under a chosen-

ries ,

there is a neg

ciphertext attack,

CCA-secure for

ligible function ( ) suc

multip

h that

encryption

(for all

s,

)

Pr P

l

ri

e A

negl n n

LR-cca

,

1vK ( ) 1 negl( )

2

where the probability is taken over the randomness used by

as well as the randomness used in the experiment.

For any privatTh e-eore key encrym ptio: c n s he

A n n

A

me,

CCA-security CCA-security for multiple encryptions.

Page 94: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

94

The encryption schemes we have seen so far are .

If a ciphertext manipulated in a controlled ( ) can be ,

then the encryption scheme is not CC

not CCA-secure

A-secure

w

ay

.

CCA insecurity

kc Enc m

0 1

Example: consider the scheme ( ) , ( ) .

The adversary chooses any two messages , of equal length.

Let the challenge ciphertext be , where

: ( ) , wit

h

k k

k b

Enc m r F r m

m m

r c

c F r m

{0,1}.

The adversary modifies , to , , ( ) , which

is a legitimate ciphertext of .

Requesting the oracle to decrypt , , the adversary will g

et

an

d hen

k b

b

b

b

r c r c r f r m

m

r c m

ce know the value of .b

Page 95: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

95

We will see that:

CPA-secure encryption secure MAC

CCA-secure encryption

Constructing a CCA-secure encryption scheme

Page 96: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Padding-Oracle Attack:

a concrete example of (partial)

chosen-ciphertext attacks

K&L Section 3.7.2

96

Page 97: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

97

We will attack the CBC-mode encryption scheme that uses

PKCS#5 padding.

: block length (in bytes).

: pad length (in byt 1 255es).

PKCS#5 padding

The val

o

:

ue

The Setting

L

b b L

f (as an 8-bit binary) is repeated times.

Examples: 0x01, 0x0202, 0x030303, 0x04040404.

refers to the (w/o

padding).

Message original message

Encod refers to the ed data padded message

b b

The encoded data is encrypted using CBC-mode encryp

.

. tion

Page 98: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

98

On receiving a ciphertext, the receiver decrypts it to recover the

encoded data and

checks if the padding is correct.

If , the receiver typically sends back anot cor "ba

rec pt d

A Padding Oracle

adding"

error message (e.g., in Java, javax.crypto.BadPaddingException).

Such receivers provide the adversary with a

which may

padding oracle

partial decryption

obe viewed racle as a .

ciphertext Padding Oracle

error (if padding incorrect)

Using such a padding oracle, the adversary can recover the

original m ge.

essa

Page 99: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

99

1 2

1 2

2 2 1

Suppose the encoded data is , , unknown to the adversary;

and the ciphertext is , , , known to the adversary.

Recall: ( )

a

Modify the encoded data in a controlled fashion

k

m m

IV c c

c F m c

1

2 2 1

1

2 2 1

1 2 1 2

1 2 1 2

nd so ( ) .

Thus, ( ) . That is,

, , ,

, , ,

By modifying the ciphertext, the adversary can modify the

en

coded da

k

k

Dec

Dec

m F c c

m F c c

IV c c m m

IV c c m m

ta in a controlled fashion and then ask the oracle

if the padding (of the modified encoded data) is correct.

Page 100: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

Cipher block chaining (CBC)

100

1

=m

Page 101: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

101

2

Example: modifying the 5th byte will result in a padding error.

0x03 0x03 = 0x33 0x22 0x11 0x44

In general, to find the pad length, the adversary runs:

0

x03

Find out the pad length

m

b

1

1

modify the th byte of

send the resulting ciphertext to the receiver/oracle

if receiving a padding error then return : ( 1)

i L

i c

b L i

for to do

Page 102: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

102

2

2

Having known 3, how to recover the byte ?

=

= 0x0 0x0 0x0

Try (how?) every s

0x03

0x03 0x

t

4

r

0

3

4 4

Recover the message byte by byte

b

m x y z

m x

w

w

w iy z

8

38 8 8

1 1

ing {0,1} until there is

for which , 0x04 0x04

How: modify to , with 0 0 0 0x03 0x04

padding e

and pr

rror

esent the resulting ciphe

o

rtex

,n

i i

i w i w

i

i

c ic

1 2

1 2

t , , to the

oracle, which after decryption will see , .

iIV c c

m m

Page 103: Linear and differential cryptanalysis - Computer Science and …web.cse.ohio-state.edu/~lai.1/5351/3.symmetric-key.pdf ·  · 2018-01-22egl. () n n nn p n n n x ... gl . AA negl

103

2

2

8

Having recovered , how to recover ?

= 0x03 0x03 0x0

= 0x0 0x0 0x0 0x0

Try

5

every string {0,1}

5

5

3

u

5

Recover the message byte by byte

z

z

w

m x y

m

w

x y z i

i

38 8

1 1

1 2

ntil no padding error, then

0x05 0x05

How: modify to , with 0 0 0x05 0x03 0x05

and present the resulting ciphertext , , to the

i i

i

z i z i

c c w

IV c c

i

1 2 oracle, which after decryption will see , .

m m