Symmetric-Key Encryption: constructions Lecture 4 OWF , PRG, - - PowerPoint PPT Presentation

symmetric key encryption constructions
SMART_READER_LITE
LIVE PREVIEW

Symmetric-Key Encryption: constructions Lecture 4 OWF , PRG, - - PowerPoint PPT Presentation

Symmetric-Key Encryption: constructions Lecture 4 OWF , PRG, Stream Cipher One-Way Function, RECALL Hardcore Predicate One-Way Function, RECALL Hardcore Predicate f k : {0,1} k {0,1} n(k) is a one-way function (OWF) if f is polynomial


slide-1
SLIDE 1

Symmetric-Key Encryption: constructions

Lecture 4 OWF , PRG, Stream Cipher

slide-2
SLIDE 2

One-Way Function, Hardcore Predicate

RECALL

slide-3
SLIDE 3

One-Way Function, Hardcore Predicate

fk: {0,1}k → {0,1}n(k) is a one-way function (OWF) if f is polynomial time computable For all (non-uniform) PPT adversary, probability

  • f success in the “OWF experiment” is negligible

But x may not be completely hidden by f(x)

x←{0,1}k f(x’)=f(x)? f(x) x’ Yes/No

RECALL

slide-4
SLIDE 4

One-Way Function, Hardcore Predicate

fk: {0,1}k → {0,1}n(k) is a one-way function (OWF) if f is polynomial time computable For all (non-uniform) PPT adversary, probability

  • f success in the “OWF experiment” is negligible

But x may not be completely hidden by f(x) B is a hardcore predicate of a OWF f if B is polynomial time computable For all (non-uniform) PPT adversary, advantage in the Hardcore-predicate experiment is negligible B(x) remains “completely” hidden, given f(x)

x←{0,1}k f(x’)=f(x)? f(x) x’ Yes/No x←{0,1}k b’ = B(x)? f(x) b’ Yes/No

RECALL

slide-5
SLIDE 5

One-Way Function Candidates

slide-6
SLIDE 6

One-Way Function Candidates

Integer factorization:

slide-7
SLIDE 7

One-Way Function Candidates

Integer factorization: fmult(x,y) = x⋅y

slide-8
SLIDE 8

One-Way Function Candidates

Integer factorization: fmult(x,y) = x⋅y Input distribution: (x,y) random k-bit primes

slide-9
SLIDE 9

One-Way Function Candidates

Integer factorization: fmult(x,y) = x⋅y Input distribution: (x,y) random k-bit primes Fact: input distribution (x,y) random k-bit integers will also work (if k-bit primes distribution works)

slide-10
SLIDE 10

One-Way Function Candidates

Integer factorization: fmult(x,y) = x⋅y Input distribution: (x,y) random k-bit primes Fact: input distribution (x,y) random k-bit integers will also work (if k-bit primes distribution works) Important that we require |x|=|y|=k, not |x⋅y|=k (otherwise, 2 is a factor of x.y with 3/ 4 probability)

slide-11
SLIDE 11

One-Way Function Candidates

slide-12
SLIDE 12

One-Way Function Candidates

Solving Subset Sum:

slide-13
SLIDE 13

One-Way Function Candidates

Solving Subset Sum: fsubsum(x1...xk, S) = (x1...xk, Σi∈S xi )

slide-14
SLIDE 14

One-Way Function Candidates

Solving Subset Sum: fsubsum(x1...xk, S) = (x1...xk, Σi∈S xi ) Input distribution: xi k-bit integers, S⊆{1...k}. Uniform

slide-15
SLIDE 15

One-Way Function Candidates

Solving Subset Sum: fsubsum(x1...xk, S) = (x1...xk, Σi∈S xi ) Input distribution: xi k-bit integers, S⊆{1...k}. Uniform Inverting fsubsum known to be NP-complete, but assuming that it is a OWF is “stronger” than assuming P≠NP

slide-16
SLIDE 16

One-Way Function Candidates

slide-17
SLIDE 17

Rabin OWF: fRabin(x; n) = (x2 mod n, n), where n = pq, and p, q are random k-bit primes, and x is uniform from {0...n}

One-Way Function Candidates

slide-18
SLIDE 18

Rabin OWF: fRabin(x; n) = (x2 mod n, n), where n = pq, and p, q are random k-bit primes, and x is uniform from {0...n} Note that n is part of the output. This OWF can be used as a “OWF collection” indexed by n (many functions for the same k, using different n)

One-Way Function Candidates

slide-19
SLIDE 19

Rabin OWF: fRabin(x; n) = (x2 mod n, n), where n = pq, and p, q are random k-bit primes, and x is uniform from {0...n} Note that n is part of the output. This OWF can be used as a “OWF collection” indexed by n (many functions for the same k, using different n) More e.g.: RSA function (uses as index: n=pq, and an exponent e), Discrete Logarithm (uses as index: a group and a generator)

One-Way Function Candidates

slide-20
SLIDE 20

Rabin OWF: fRabin(x; n) = (x2 mod n, n), where n = pq, and p, q are random k-bit primes, and x is uniform from {0...n} Note that n is part of the output. This OWF can be used as a “OWF collection” indexed by n (many functions for the same k, using different n) More e.g.: RSA function (uses as index: n=pq, and an exponent e), Discrete Logarithm (uses as index: a group and a generator) Later

One-Way Function Candidates

slide-21
SLIDE 21

Hardcore Predicates

slide-22
SLIDE 22

Hardcore Predicates

For candidate OWFs, often hardcore predicates known

slide-23
SLIDE 23

Hardcore Predicates

For candidate OWFs, often hardcore predicates known e.g. if fRabin(x;n) (with certain restrictions on sampling x and n) is a OWF , then LSB(x) is a hardcore predicate for it

slide-24
SLIDE 24

Hardcore Predicates

For candidate OWFs, often hardcore predicates known e.g. if fRabin(x;n) (with certain restrictions on sampling x and n) is a OWF , then LSB(x) is a hardcore predicate for it Reduction: Given an algorithm for finding LSB(x) from fRabin(x;n) for random x, show how to invert fRabin

slide-25
SLIDE 25

Goldreich-Levin Predicate

slide-26
SLIDE 26

Goldreich-Levin Predicate

Given any OWF f, can slightly modify it to get a OWF gf such that

slide-27
SLIDE 27

Goldreich-Levin Predicate

Given any OWF f, can slightly modify it to get a OWF gf such that gf has a simple hardcore predicate

slide-28
SLIDE 28

Goldreich-Levin Predicate

Given any OWF f, can slightly modify it to get a OWF gf such that gf has a simple hardcore predicate gf is almost as efficient as f; is a permutation if f is one

slide-29
SLIDE 29

Goldreich-Levin Predicate

Given any OWF f, can slightly modify it to get a OWF gf such that gf has a simple hardcore predicate gf is almost as efficient as f; is a permutation if f is one gf(x,r) = (f(x), r), where |r|=|x|

slide-30
SLIDE 30

Goldreich-Levin Predicate

Given any OWF f, can slightly modify it to get a OWF gf such that gf has a simple hardcore predicate gf is almost as efficient as f; is a permutation if f is one gf(x,r) = (f(x), r), where |r|=|x| Input distribution: x as for f, and r independently random

slide-31
SLIDE 31

Goldreich-Levin Predicate

Given any OWF f, can slightly modify it to get a OWF gf such that gf has a simple hardcore predicate gf is almost as efficient as f; is a permutation if f is one gf(x,r) = (f(x), r), where |r|=|x| Input distribution: x as for f, and r independently random GL-predicate: B(x,r) = <x,r> (dot product of bit vectors)

slide-32
SLIDE 32

Goldreich-Levin Predicate

Given any OWF f, can slightly modify it to get a OWF gf such that gf has a simple hardcore predicate gf is almost as efficient as f; is a permutation if f is one gf(x,r) = (f(x), r), where |r|=|x| Input distribution: x as for f, and r independently random GL-predicate: B(x,r) = <x,r> (dot product of bit vectors) Can show that a predictor of B(x,r) with non-negligible advantage can be turned into an inversion algorithm for f

slide-33
SLIDE 33

Goldreich-Levin Predicate

Given any OWF f, can slightly modify it to get a OWF gf such that gf has a simple hardcore predicate gf is almost as efficient as f; is a permutation if f is one gf(x,r) = (f(x), r), where |r|=|x| Input distribution: x as for f, and r independently random GL-predicate: B(x,r) = <x,r> (dot product of bit vectors) Can show that a predictor of B(x,r) with non-negligible advantage can be turned into an inversion algorithm for f

Predictor for B(x,r) is a “noisy channel” through which x, encoded as (<x,0>,<x,1>...<x,2|x|-1>) (Walsh-Hadamard code), is transmitted. Can recover x by error-correction (local list decoding)

slide-34
SLIDE 34

Expand a short random seed to a “random-looking” string So that we can build “stream ciphers” (to encrypt a stream

  • f data, using just one short shared key)

First, PRG with fixed stretch: Gk: {0,1}k → {0,1}n(k), n(k) > k Random-looking: Next-Bit Unpredictability: PPT adversary can’ t predict ith bit

  • f a sample from its first (i-1) bits (for every i ∈ {0,1,...,n-1})

A “more correct” definition: PPT adversary can’ t distinguish between a sample from {Gk(x)}x←{0,1}k and one from {0,1}n(k) Turns out they are equivalent!

Pseudorandomness Generator (PRG)

| Pry←PRG[A(y)=0] - Pry←rand[A(y)=0] | is negligible for all PPT A

RECALL

slide-35
SLIDE 35

Computational Indistinguishability

slide-36
SLIDE 36

Computational Indistinguishability

Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {Xk}k

slide-37
SLIDE 37

Computational Indistinguishability

Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {Xk}k E.g., ciphertext distributions, indexed by security parameter

slide-38
SLIDE 38

Computational Indistinguishability

Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {Xk}k E.g., ciphertext distributions, indexed by security parameter Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if

slide-39
SLIDE 39

Computational Indistinguishability

Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {Xk}k E.g., ciphertext distributions, indexed by security parameter Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if ∃ negligible ν(k) such that ∀ (non-uniform) PPT distinguisher D

slide-40
SLIDE 40

Computational Indistinguishability

Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {Xk}k E.g., ciphertext distributions, indexed by security parameter Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if ∃ negligible ν(k) such that ∀ (non-uniform) PPT distinguisher D | Prx←Xk[D(x)=1] - Prx←X’k[D(x)=1] | ≤ ν(k)

slide-41
SLIDE 41

Computational Indistinguishability

Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {Xk}k E.g., ciphertext distributions, indexed by security parameter Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if ∃ negligible ν(k) such that ∀ (non-uniform) PPT distinguisher D | Prx←Xk[D(x)=1] - Prx←X’k[D(x)=1] | ≤ ν(k) ΔPPT(Xk,X’k) := max PPT D | Prx←Xk[D(x)=1] - Prx←X’k[D(x)=1] |

slide-42
SLIDE 42

Computational Indistinguishability

Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {Xk}k E.g., ciphertext distributions, indexed by security parameter Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if ∃ negligible ν(k) such that ∀ (non-uniform) PPT distinguisher D | Prx←Xk[D(x)=1] - Prx←X’k[D(x)=1] | ≤ ν(k) ΔPPT(Xk,X’k) := max PPT D | Prx←Xk[D(x)=1] - Prx←X’k[D(x)=1] |

ΔPPT(Xk,X’k) ≤ ν(k)

slide-43
SLIDE 43

Computational Indistinguishability

slide-44
SLIDE 44

Computational Indistinguishability

Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if

slide-45
SLIDE 45

Computational Indistinguishability

Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if ∃ negligible ν(k) such that ΔPPT(Xk,X’k) ≤ ν(k)

slide-46
SLIDE 46

Computational Indistinguishability

Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if ∃ negligible ν(k) such that ΔPPT(Xk,X’k) ≤ ν(k) ΔPPT(Xk,X’k) := max PPT D | Prx←Xk[D(x)=1] - Prx←X’k[D(x)=1] |

slide-47
SLIDE 47

Computational Indistinguishability

Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if ∃ negligible ν(k) such that ΔPPT(Xk,X’k) ≤ ν(k) ΔPPT(Xk,X’k) := max PPT D | Prx←Xk[D(x)=1] - Prx←X’k[D(x)=1] | Xk ≈X’k

slide-48
SLIDE 48

Computational Indistinguishability

Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if ∃ negligible ν(k) such that ΔPPT(Xk,X’k) ≤ ν(k) ΔPPT(Xk,X’k) := max PPT D | Prx←Xk[D(x)=1] - Prx←X’k[D(x)=1] | cf.: Two distribution ensembles {Xk}k and {X’k}k are called statistically indistinguishable if Δ(Xk,X’k) ≤ ν(k) Xk ≈X’k

slide-49
SLIDE 49

Computational Indistinguishability

Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if ∃ negligible ν(k) such that ΔPPT(Xk,X’k) ≤ ν(k) ΔPPT(Xk,X’k) := max PPT D | Prx←Xk[D(x)=1] - Prx←X’k[D(x)=1] | cf.: Two distribution ensembles {Xk}k and {X’k}k are called statistically indistinguishable if Δ(Xk,X’k) ≤ ν(k) Δ(Xk,X’k) := max T | Prx←Xk[T(x)=1] - Prx←X’k[T(x)=1] | Xk ≈X’k

slide-50
SLIDE 50

Computational Indistinguishability

Two distribution ensembles {Xk}k and {X’k}k are called computationally indistinguishable if ∃ negligible ν(k) such that ΔPPT(Xk,X’k) ≤ ν(k) ΔPPT(Xk,X’k) := max PPT D | Prx←Xk[D(x)=1] - Prx←X’k[D(x)=1] | cf.: Two distribution ensembles {Xk}k and {X’k}k are called statistically indistinguishable if Δ(Xk,X’k) ≤ ν(k) Δ(Xk,X’k) := max T | Prx←Xk[T(x)=1] - Prx←X’k[T(x)=1] | If X, X’ are short (say a single bit), X ≈ X’ iff X, X’ are statistically indistinguishable (Exercise) Xk ≈X’k

slide-51
SLIDE 51

Pseudorandomness Generator (PRG)

slide-52
SLIDE 52

Pseudorandomness Generator (PRG)

Takes a short seed and (deterministically) outputs a long string

slide-53
SLIDE 53

Pseudorandomness Generator (PRG)

Takes a short seed and (deterministically) outputs a long string Gk: {0,1}k→{0,1}n(k) where n(k) > k

slide-54
SLIDE 54

Pseudorandomness Generator (PRG)

Takes a short seed and (deterministically) outputs a long string Gk: {0,1}k→{0,1}n(k) where n(k) > k Security definition: Output distribution induced by random input seed is “pseudorandom”

slide-55
SLIDE 55

Pseudorandomness Generator (PRG)

Takes a short seed and (deterministically) outputs a long string Gk: {0,1}k→{0,1}n(k) where n(k) > k Security definition: Output distribution induced by random input seed is “pseudorandom” i.e., Computationally indistinguishable from uniformly random

slide-56
SLIDE 56

Pseudorandomness Generator (PRG)

Takes a short seed and (deterministically) outputs a long string Gk: {0,1}k→{0,1}n(k) where n(k) > k Security definition: Output distribution induced by random input seed is “pseudorandom” i.e., Computationally indistinguishable from uniformly random {Gk(x)}x←{0,1}k ≈ Un(k)

slide-57
SLIDE 57

Pseudorandomness Generator (PRG)

Takes a short seed and (deterministically) outputs a long string Gk: {0,1}k→{0,1}n(k) where n(k) > k Security definition: Output distribution induced by random input seed is “pseudorandom” i.e., Computationally indistinguishable from uniformly random {Gk(x)}x←{0,1}k ≈ Un(k) Note: {Gk(x)}x←{0,1}k cannot be statistically indistinguishable from Un(k) unless n(k) ≤ k (Exercise)

slide-58
SLIDE 58

PRG from One-Way Permutations

slide-59
SLIDE 59

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1

slide-60
SLIDE 60

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1

G

k k 1

Rk

slide-61
SLIDE 61

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1 G(x) = f(x)◦B(x)

G

k k 1

Rk

slide-62
SLIDE 62

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1 G(x) = f(x)◦B(x) Where f: {0,1}k → {0,1}k is a one-way permutation, and B a hardcore predicate for f

G

k k 1

Rk

slide-63
SLIDE 63

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1 G(x) = f(x)◦B(x) Where f: {0,1}k → {0,1}k is a one-way permutation, and B a hardcore predicate for f For a random x, f(x) is also random, and hence all of f(x) is next-bit unpredictable. B is a hardcore predicate, so B(x) remains unpredictable after seeing f(x)

G

k k 1

Rk

slide-64
SLIDE 64

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1 G(x) = f(x)◦B(x) Where f: {0,1}k → {0,1}k is a one-way permutation, and B a hardcore predicate for f For a random x, f(x) is also random, and hence all of f(x) is next-bit unpredictable. B is a hardcore predicate, so B(x) remains unpredictable after seeing f(x) Important: holds only when the seed x is kept hidden, and is random

G

k k 1

Rk

slide-65
SLIDE 65

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1 G(x) = f(x)◦B(x) Where f: {0,1}k → {0,1}k is a one-way permutation, and B a hardcore predicate for f For a random x, f(x) is also random, and hence all of f(x) is next-bit unpredictable. B is a hardcore predicate, so B(x) remains unpredictable after seeing f(x) Important: holds only when the seed x is kept hidden, and is random ... or pseudorandom

G

k k 1

Rk

slide-66
SLIDE 66

PRG from One-Way Permutations

G

k k 1

Rk

slide-67
SLIDE 67

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1

G

k k 1

Rk

slide-68
SLIDE 68

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1 Increasing the stretch

G

k k 1

Rk

slide-69
SLIDE 69

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1 Increasing the stretch Can use part of the PRG output as a new seed

G

k k 1

Rk

slide-70
SLIDE 70

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1 Increasing the stretch Can use part of the PRG output as a new seed

G

k k 1

Rk

G G G G ... G

Rk

slide-71
SLIDE 71

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1 Increasing the stretch Can use part of the PRG output as a new seed If the intermediate seeds are never output, can keep stretching on demand (for any “polynomial length”)

G

k k 1

Rk

G G G G ... G

Rk

slide-72
SLIDE 72

PRG from One-Way Permutations

One-bit stretch PRG, Gk: {0,1}k → {0,1}k+1 Increasing the stretch Can use part of the PRG output as a new seed If the intermediate seeds are never output, can keep stretching on demand (for any “polynomial length”) A stream cipher

G

k k 1

Rk

G G G G ... G

Rk

SC

K

slide-73
SLIDE 73

One-time CPA-secure SKE with a Stream-Cipher

slide-74
SLIDE 74

One-time CPA-secure SKE with a Stream-Cipher

One-time Encryption with a stream-cipher:

slide-75
SLIDE 75

One-time CPA-secure SKE with a Stream-Cipher

One-time Encryption with a stream-cipher: Generate a one-time pad from a short seed

slide-76
SLIDE 76

One-time CPA-secure SKE with a Stream-Cipher

One-time Encryption with a stream-cipher: Generate a one-time pad from a short seed Can share just the seed as the key

slide-77
SLIDE 77

One-time CPA-secure SKE with a Stream-Cipher

One-time Encryption with a stream-cipher: Generate a one-time pad from a short seed Can share just the seed as the key Mask message with the pseudorandom pad

slide-78
SLIDE 78

One-time CPA-secure SKE with a Stream-Cipher

One-time Encryption with a stream-cipher: Generate a one-time pad from a short seed Can share just the seed as the key Mask message with the pseudorandom pad

SC ⊕

K

m

Enc

slide-79
SLIDE 79

One-time CPA-secure SKE with a Stream-Cipher

One-time Encryption with a stream-cipher: Generate a one-time pad from a short seed Can share just the seed as the key Mask message with the pseudorandom pad Decryption is symmetric: plaintext & ciphertext interchanged

SC ⊕

K

m

Enc

slide-80
SLIDE 80

One-time CPA-secure SKE with a Stream-Cipher

One-time Encryption with a stream-cipher: Generate a one-time pad from a short seed Can share just the seed as the key Mask message with the pseudorandom pad Decryption is symmetric: plaintext & ciphertext interchanged SC can spit out bits on demand, so the message can arrive bit by bit, and the length of the message doesn’ t have to be a priori fixed

SC ⊕

K

m

Enc

slide-81
SLIDE 81

One-time CPA-secure SKE with a Stream-Cipher

One-time Encryption with a stream-cipher: Generate a one-time pad from a short seed Can share just the seed as the key Mask message with the pseudorandom pad Decryption is symmetric: plaintext & ciphertext interchanged SC can spit out bits on demand, so the message can arrive bit by bit, and the length of the message doesn’ t have to be a priori fixed Security: indistinguishability from using a truly random pad

SC ⊕

K

m

Enc

slide-82
SLIDE 82

One-time CPA-secure SKE with a Stream-Cipher

One-time Encryption with a stream-cipher: Generate a one-time pad from a short seed Can share just the seed as the key Mask message with the pseudorandom pad Decryption is symmetric: plaintext & ciphertext interchanged SC can spit out bits on demand, so the message can arrive bit by bit, and the length of the message doesn’ t have to be a priori fixed Security: indistinguishability from using a truly random pad

SC ⊕

K

m

Enc

(stream)

slide-83
SLIDE 83

One-time CPA-secure SKE with a Stream-Cipher

SC ⊕

K

m

Enc

(stream)

slide-84
SLIDE 84

One-time CPA-secure SKE with a Stream-Cipher

In IDEAL experiment, consider simulator that uses a truly random string as the ciphertext

SC ⊕

K

m

Enc

(stream)

slide-85
SLIDE 85

One-time CPA-secure SKE with a Stream-Cipher

In IDEAL experiment, consider simulator that uses a truly random string as the ciphertext To show REAL ≈ IDEAL

SC ⊕

K

m

Enc

(stream)

slide-86
SLIDE 86

One-time CPA-secure SKE with a Stream-Cipher

In IDEAL experiment, consider simulator that uses a truly random string as the ciphertext To show REAL ≈ IDEAL Consider an intermediate world, HYBRID:

SC ⊕

K

m

Enc

(stream)

slide-87
SLIDE 87

One-time CPA-secure SKE with a Stream-Cipher

In IDEAL experiment, consider simulator that uses a truly random string as the ciphertext To show REAL ≈ IDEAL Consider an intermediate world, HYBRID: Like REAL, but using a (long) truly random pad, instead of the output from the stream-cipher

SC ⊕

K

m

Enc

(stream)

slide-88
SLIDE 88

One-time CPA-secure SKE with a Stream-Cipher

In IDEAL experiment, consider simulator that uses a truly random string as the ciphertext To show REAL ≈ IDEAL Consider an intermediate world, HYBRID: Like REAL, but using a (long) truly random pad, instead of the output from the stream-cipher HYBRID = IDEAL (recall perfect security of one-time pad)

SC ⊕

K

m

Enc

(stream)

slide-89
SLIDE 89

One-time CPA-secure SKE with a Stream-Cipher

In IDEAL experiment, consider simulator that uses a truly random string as the ciphertext To show REAL ≈ IDEAL Consider an intermediate world, HYBRID: Like REAL, but using a (long) truly random pad, instead of the output from the stream-cipher HYBRID = IDEAL (recall perfect security of one-time pad) Claim: REAL ≈ HYBRID.

SC ⊕

K

m

Enc

(stream)

slide-90
SLIDE 90

One-time CPA-secure SKE with a Stream-Cipher

In IDEAL experiment, consider simulator that uses a truly random string as the ciphertext To show REAL ≈ IDEAL Consider an intermediate world, HYBRID: Like REAL, but using a (long) truly random pad, instead of the output from the stream-cipher HYBRID = IDEAL (recall perfect security of one-time pad) Claim: REAL ≈ HYBRID. Consider the experiments as a system that accepts a pad from outside (R’ = SC(K) for a random K, or truly random R) and outputs the environment’ s output. This system is PPT, and so can’ t distinguish pseudorandom from random.

SC ⊕

K

m

Enc

(stream)

slide-91
SLIDE 91

Story So Far

slide-92
SLIDE 92

Story So Far

OWF , OWP, Hardcore predicates

slide-93
SLIDE 93

Story So Far

OWF , OWP, Hardcore predicates Output of a PRG on a random (hidden) seed is computationally indistinguishable from random

slide-94
SLIDE 94

Story So Far

OWF , OWP, Hardcore predicates Output of a PRG on a random (hidden) seed is computationally indistinguishable from random A PRG can be constructed from a OWP and a hardcore predicate.

slide-95
SLIDE 95

Story So Far

OWF , OWP, Hardcore predicates Output of a PRG on a random (hidden) seed is computationally indistinguishable from random A PRG can be constructed from a OWP and a hardcore predicate. Possible from OWF too, but more complicated. (Any way, many candidate OWFs are in fact permutations.)

slide-96
SLIDE 96

Story So Far

OWF , OWP, Hardcore predicates Output of a PRG on a random (hidden) seed is computationally indistinguishable from random A PRG can be constructed from a OWP and a hardcore predicate. Possible from OWF too, but more complicated. (Any way, many candidate OWFs are in fact permutations.) Useful in SKE: Can use PRG to stretch a short key to a long (one-time) pad. Or use as a Stream Cipher.

slide-97
SLIDE 97

Story So Far

OWF , OWP, Hardcore predicates Output of a PRG on a random (hidden) seed is computationally indistinguishable from random A PRG can be constructed from a OWP and a hardcore predicate. Possible from OWF too, but more complicated. (Any way, many candidate OWFs are in fact permutations.) Useful in SKE: Can use PRG to stretch a short key to a long (one-time) pad. Or use as a Stream Cipher. Next: Constructing a proper (multi-message) SKE scheme