Non-Malleable Codes for Partial Functions with Manipulation - - PowerPoint PPT Presentation

non malleable codes for partial functions with
SMART_READER_LITE
LIVE PREVIEW

Non-Malleable Codes for Partial Functions with Manipulation - - PowerPoint PPT Presentation

Non-Malleable Codes for Partial Functions with Manipulation Detection Aggelos Kiayias Feng-Hao Liu Yiannis Tselekounis Edin. & FAU CRYPTO 2018 Outline Introduction to non-malleable codes Adversarial model, motivation Results,


slide-1
SLIDE 1

Non-Malleable Codes for Partial Functions with Manipulation Detection

Aggelos Kiayias Feng-Hao Liu Yiannis Tselekounis

  • Edin. & FAU

CRYPTO 2018

slide-2
SLIDE 2

Outline

Introduction to non-malleable codes Adversarial model, motivation Results, constructions Intuition

slide-3
SLIDE 3

Encoding schemes

An encoding scheme is a pair of algorithms (Enc, Dec), satisfying correctness: for any message s, Dec(Enc(s)) = s

slide-4
SLIDE 4

Encoding schemes

An encoding scheme is a pair of algorithms (Enc, Dec), satisfying correctness: for any message s, Dec(Enc(s)) = s Error-correction codes: guarantee correctness in the presence of faults

slide-5
SLIDE 5

Non-malleable codes [DPW10,18]

slide-6
SLIDE 6

Non-malleable codes [DPW10,18]

Non-malleability: any modified codeword does not decode to a message related to/different from, the original

slide-7
SLIDE 7

Non-malleable codes [DPW10,18]

Non-malleability: any modified codeword does not decode to a message related to/different from, the original

s c Dec Enc f c′ s s′ (unrelated to s) ⊥ f

slide-8
SLIDE 8

Non-malleability [DPW10,18]

s c Dec Enc f c′ s′ s′ f Real

slide-9
SLIDE 9

Non-malleability [DPW10,18]

s c Dec Enc f c′ s′ s′ f

Simulator

Real

slide-10
SLIDE 10

Non-malleability [DPW10,18]

s c Dec Enc f c′ s′ s′ f

Simulator

Real f s′ Ideal

slide-11
SLIDE 11

Non-malleability [DPW10,18]

s c Dec Enc f c′ s′ s′ f

Simulator

Real f s′ Ideal

Real ≈ Ideal

slide-12
SLIDE 12

Application of NMC

Black-box adversary Smart-card computing Gs(·) x Gs(x)

slide-13
SLIDE 13

Application of NMC

Black-box adversary Smart-card computing Gs(·) x Gs(x) Tampering adversary Smart-card computing Gs(·) f, x Gf(s)(x)

slide-14
SLIDE 14

Application of NMC

Assuming (Enc, Dec) is a non-malleable code w.r.t. F.

Gs x y ˆ s := Enc(s) Dec(ˆ s) Gs(x) y x Original circuit: Gs Compiled circuit: ˆ Gˆ

s

s ˆ s

Non-malleability: for any f ∈ F, f(ˆ s) is simulatable and independent of s

slide-15
SLIDE 15

Admissible function classes

Non-malleability is impossible against arbitrary tampering function classes

slide-16
SLIDE 16

Admissible function classes

Non-malleability is impossible against arbitrary tampering function classes For instance, consider a class containing the function f(c) := Enc(Dec(c) + 1)

slide-17
SLIDE 17

Admissible function classes

Proposed function classes: Split-state functions [ADL14, DKO13, ADKO15, LL12, AAG+16, DPW10, KLT16], bit-wise tampering and permutations [DPW10, AGM+15a, AGM+15b], bounded-size function classes [FMVW14], bounded depth/fan-in circuits [BDKM16], space-bounded tampering [FHMV17,BDKM18], block-wise tampering [CKM11,CGM+15], AC0 circuits, bounded-depth decision trees and streaming adversaries [BDKM18], small-depth circuits [BDGMT18], and others.

slide-18
SLIDE 18

Admissible function classes

Proposed function classes: Split-state functions [ADL14, DKO13, ADKO15, LL12, AAG+16, DPW10, KLT16], bit-wise tampering and permutations [DPW10, AGM+15a, AGM+15b], bounded-size function classes [FMVW14], bounded depth/fan-in circuits [BDKM16], space-bounded tampering [FHMV17,BDKM18], block-wise tampering [CKM11,CGM+15], AC0 circuits, bounded-depth decision trees and streaming adversaries [BDKM18], small-depth circuits [BDGMT18], and others. This work: Partial functions

slide-19
SLIDE 19

NMC for Partial Functions

We allow read/write access to arbitrary subsets of codeword locations, with bounded cardinality.

slide-20
SLIDE 20

Basic definitions

slide-21
SLIDE 21

Basic definitions

Information rate: the ratio of message to codeword, length, as the message length goes to infinity.

slide-22
SLIDE 22

Basic definitions

Information rate: the ratio of message to codeword, length, as the message length goes to infinity. Access rate: the fraction of the number of bits (symbols) the attacker is allowed to access over, the total codeword length.

slide-23
SLIDE 23

Main Goal

Is it possible to construct efficient (high information rate) non-malleable codes for partial functions, while allowing the attacker to access almost the entire codeword (high access rate)?

slide-24
SLIDE 24

Motivation

Attackers with high access rate could still create correlated codewords

slide-25
SLIDE 25

Motivation

Attackers with high access rate could still create correlated codewords Partial functions comply with existing attacks, e.g., [BDL97, BDL01, BS97]

slide-26
SLIDE 26

Motivation

Attackers with high access rate could still create correlated codewords Partial functions comply with existing attacks, e.g., [BDL97, BDL01, BS97] The passive analog of the primitive implies All-Or-Nothing-Transforms [Riv97], having numerous applications

slide-27
SLIDE 27

Motivation

Attackers with high access rate could still create correlated codewords Partial functions comply with existing attacks, e.g., [BDL97, BDL01, BS97] The passive analog of the primitive implies All-Or-Nothing-Transforms [Riv97], having numerous applications

slide-28
SLIDE 28

Motivation

Attackers with high access rate could still create correlated codewords Partial functions comply with existing attacks, e.g., [BDL97, BDL01, BS97] The passive analog of the primitive implies All-Or-Nothing-Transforms [Riv97], having numerous applications Constant functions are excluded from the model, thus it potentially allows stronger primitives

slide-29
SLIDE 29

Results

slide-30
SLIDE 30

Results

Stronger notion: Non-malleability with manipulation detection (MD-NMC), Dec(f(c)) ∈ {s, ⊥}

slide-31
SLIDE 31

Results

Stronger notion: Non-malleability with manipulation detection (MD-NMC), Dec(f(c)) ∈ {s, ⊥} (MD

  • =

⇒ MD-NMC)

slide-32
SLIDE 32

Results

Stronger notion: Non-malleability with manipulation detection (MD-NMC), Dec(f(c)) ∈ {s, ⊥} (MD

  • =

⇒ MD-NMC) Assuming OWF, we construct MD-NMC in the CRS model, with information rate 1 and access rate 1 − 1/Ω(log k)

slide-33
SLIDE 33

Results

Stronger notion: Non-malleability with manipulation detection (MD-NMC), Dec(f(c)) ∈ {s, ⊥} (MD

  • =

⇒ MD-NMC) Assuming OWF, we construct MD-NMC in the CRS model, with information rate 1 and access rate 1 − 1/Ω(log k) Assuming OWF, we construct MD-NMC in the standard model, with information rate 1 − 1/Ω(log k) and access rate 1 − 1/Ω(log k) (alphabet size: O(log k))

slide-34
SLIDE 34

Results

Stronger notion: Non-malleability with manipulation detection (MD-NMC), Dec(f(c)) ∈ {s, ⊥} (MD

  • =

⇒ MD-NMC) Assuming OWF, we construct MD-NMC in the CRS model, with information rate 1 and access rate 1 − 1/Ω(log k) Assuming OWF, we construct MD-NMC in the standard model, with information rate 1 − 1/Ω(log k) and access rate 1 − 1/Ω(log k) (alphabet size: O(log k)) Our results imply efficient All-Or-Nothing-Transforms under standard assumptions

slide-35
SLIDE 35

Challenges

slide-36
SLIDE 36

Challenges

Non-malleability for partial functions with concrete access rate 1 is impossible

slide-37
SLIDE 37

Challenges

Non-malleability for partial functions with concrete access rate 1 is impossible Impossibility on the information-theoretic setting [CG14]: assuming constant access/information rate, security is achievable only with constant probability

slide-38
SLIDE 38

Challenges

Towards an encryption-based solution:

slide-39
SLIDE 39

Challenges

Towards an encryption-based solution:

(Bits) sk e ← Encryptsk(s) Secret key: sk Message: s

slide-40
SLIDE 40

Challenges

Towards an encryption-based solution:

(Bits) sk e ← Encryptsk(s) Secret key: sk Message: s

Security breaks by accessing O(|sk|/|s|) codewords bits

slide-41
SLIDE 41

Challenges

Towards an encryption-based solution:

(Bits) InnerEnc(sk) e ← Encryptsk(s) Secret key: sk Message: s

Security breaks by accessing O(|sk|/|s|) codewords bits

slide-42
SLIDE 42

Challenges

Towards an encryption-based solution:

(Bits) sk InnerEnc(e) ← Encryptsk(s) Secret key: sk Message: s

slide-43
SLIDE 43

Challenges

Question: Is it possible to achieve access rate greater than O(|sk|/|c|)?

slide-44
SLIDE 44

Challenges

Question: Is it possible to achieve access rate greater than O(|sk|/|c|)? More generally: Can we achieve access rate greater than what our weakest primitive sustains?

slide-45
SLIDE 45

Challenges

Main observation: the structure of the codeword is fixed and known to the attacker

slide-46
SLIDE 46

Challenges

Main observation: the structure of the codeword is fixed and known to the attacker Idea: hide the structure via randomization

slide-47
SLIDE 47

Construction in the CRS model

(Bits) z e ← AuthEncryptsk(s) ← SecretShare

  • sk||sk3

Secret key: sk Message: s

Locations defined by the CRS

slide-48
SLIDE 48

Construction in the CRS model

(Bits) z e ← AuthEncryptsk(s) ← SecretShare

  • sk||sk3

Secret key: sk Message: s

Locations defined by the CRS

Due to the shuffling, the attacker learns nothing about sk, sk3. Let (sk, sk3)

f

→ (sk′, sk′′)

slide-49
SLIDE 49

Construction in the CRS model

(Bits) z e ← AuthEncryptsk(s) ← SecretShare

  • sk||sk3

Secret key: sk Message: s

Locations defined by the CRS

Due to the shuffling, the attacker learns nothing about sk, sk3. Let (sk, sk3)

f

→ (sk′, sk′′) If (sk, sk3) = (sk′, sk′′), then Pr[sk′3 = sk′′] ≤ negl, otherwise we can recover sk

slide-50
SLIDE 50

Construction in the CRS model

(Bits) z e ← AuthEncryptsk(s) ← SecretShare

  • sk||sk3

Secret key: sk Message: s

Locations defined by the CRS

Due to the shuffling, the attacker learns nothing about sk, sk3. Let (sk, sk3)

f

→ (sk′, sk′′) If (sk, sk3) = (sk′, sk′′), then Pr[sk′3 = sk′′] ≤ negl, otherwise we can recover sk Thus, if sk = sk′ or sk3 = sk′′, the simulator outputs ⊥, otherwise, security follows by the authenticity property of the encryption scheme

slide-51
SLIDE 51

Removing the CRS

z e← AuthEncryptsk(s) ← SecretShare

  • sk||sk3

Secret key: sk Message: s Block size: log(k) 1||index||z[index]

Randomly chosen blocks

0||epart (Blocks) (Contents)

slide-52
SLIDE 52

Conclusions

Stronger notion: Non-malleable codes with manipulation detection (MD-NMC)

slide-53
SLIDE 53

Conclusions

Stronger notion: Non-malleable codes with manipulation detection (MD-NMC) Constructions: efficient MD-NMC for partial functions

slide-54
SLIDE 54

Conclusions

Stronger notion: Non-malleable codes with manipulation detection (MD-NMC) Constructions: efficient MD-NMC for partial functions Applications: tamper-resilient cryptography (boolen/aritmetic circuits), secure communication over adversarial channels (Wire-Tap channels), AONTs

slide-55
SLIDE 55

Thank you!