Transcript
Page 1: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

New Techniques for Obfuscating Conjunctions

0

James Bartusek (Princeton)Tancrède Lepoint (SRI & )Fermi Ma (Princeton)Mark Zhandry (Princeton)

Page 2: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

1

Motivating Scenario: Password Check Program

P π‘₯ :if π‘₯ = β€œcorrecthorsebatterystaple”:

output 1 (accept)else:

output 0 (reject)

Page 3: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Light Blue

HEX 09B6C9

2

Slightly Better Solution

Pβ€² π‘₯ :if SHA256 π‘₯ == β€œcbe6beb26479b568e5f15b

50217c6c83c0ee051dc4e522b9840d8e291d6aaf46”:

output 1 (accept)else:

output 0 (reject)

Compute SHA256(β€œcorrecthorsebatterystaple”)= cbe6beb26479b568e5f15

b50217c6c83c0ee051dc4e522b9840d8e291d6aaf46

Page 4: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Light Blue

HEX 09B6C9

3

Obf(P) π‘₯ :if SHA256 π‘₯ == β€œcbe6beb26479b568e5f15b50217c6c83c0ee051dc4e522b9840d8e291d6aaf46”:

output 1 (accept)else:

output 0 (reject)

This is a simple example of program obfuscation [BGIRSVY]for point functions [Can97,CMR98,LPS04,Wee05,BP12,…]

Informally, want Obf to satisfy:β€’ (correctness) Obf(P)(π‘₯) = P(π‘₯) for

all π‘₯β€’ (virtual black box) Obf(P) reveals

nothing beyond what can be learned from black box access to P

P π‘₯ :if x = β€œcorrecthorsebatterystaple”

output 1 (accept)else:

output 0 (reject)

Apply Obf

Page 5: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

4

Obfuscation for General ProgramsMany candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GMMSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,LM18,Agr18,GJK18,…]

Obfuscation for Specific Functionalitiesβ€’ Point Functions

[Can97,CMR98,LPS04,Wee05,CD08,DKL09,GKPV10,BP12,…]

β€’ Compute-and-Compare Programs [GKW17,WZ17]

β€’ Hamming Balls [DS05]

β€’ Hyperplane Membership [CRV09]

β€’ Conjunctions [BVWW16,GKW17,WZ17,…]

We study conjunctions, but techniques apply to hamming balls, affine spaces, etc.

Focus of this work: simple techniques to obfuscate specific functionalities.

Page 6: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

5

π‘π‘Žπ‘‘ = 1*10*(match) 11100

(mismatch) 10001(match) 10101

(mismatch) 01111

𝑃9:; π‘₯ :if π‘₯ matches π‘π‘Žπ‘‘ output 1else output 0

bitstring π‘₯ matches π‘π‘Žπ‘‘ if it equals π‘π‘Žπ‘‘ except on *

Obfuscation for Conjunctions(β€œpattern-matching with wildcards”)

Page 7: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

6

π‘π‘Žπ‘‘ = 1*10*(match) 11100

(mismatch) 10001(match) 10101

(mismatch) 01111

𝑃9:; π‘₯ :if π‘₯ matches π‘π‘Žπ‘‘ output 1else output 0

bitstring π‘₯ matches π‘π‘Žπ‘‘ if it equals π‘π‘Žπ‘‘ except on *

Obfuscation for Conjunctions(β€œpattern-matching with wildcards”)

Our work: Allow evaluation of π‘ƒπ‘π‘Žπ‘‘

without leaking anything about π‘π‘Žπ‘‘

Page 8: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

7

π‘π‘Žπ‘‘ = 1*10*(match) 11100

(mismatch) 10001(match) 10101

(mismatch) 01111

𝑃9:; π‘₯ :if π‘₯ matches π‘π‘Žπ‘‘ output 1else output 0

bitstring π‘₯ matches π‘π‘Žπ‘‘ if it equals π‘π‘Žπ‘‘ except on *

Our work: Allow evaluation of π‘ƒπ‘π‘Žπ‘‘

without leaking anything about π‘π‘Žπ‘‘

When is this goal feasible? A: π‘π‘Žπ‘‘ must be drawn from a

distribution where accepting inputs to 𝑃9:; are hard to find [BBCKPS13]

Obfuscation for Conjunctions(β€œpattern-matching with wildcards”)

Page 9: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

8

Assumption or Model

[BR13] Multilinear Maps

[BVWW16] Entropic Ring LWE

[GKW17],[WZ17] LWE

[BKMPRS18] Generic Group Model

Prior Conjunction Obfuscators

Our starting point: the [BKMPRS18] construction

Page 10: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

9

Assumption or Model

Security holds whenpattern is sampled from:

[BKMPRS18] Generic Group Model π‘ˆ=[𝑐𝑛], where 𝑐 < 0.774

Construction 1 Generic Group Model* π‘ˆ=[𝑛 βˆ’ πœ” log 𝑛 ]

Construction 2 Learning Parity with Noise π‘ˆ=[𝑐𝑛] where 𝑐 < 1

Construction 3(see paper)

Information theoretic* π‘ˆ=[𝑛K] where 0 ≀ πœ– < 1

Our Results: Three Constructions

π‘ˆ=[𝑀] denotes uniform dist over length 𝑛 patterns with 𝑀 wildcards

*can be extended beyond uniform distributions (see also [BeuWee19])

Page 11: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

10

1. Encoding Conjunctions as Inner Products2. A Group-Based Construction3. Security from LPN/RLC

Talk Outline

Page 12: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

11

What Does β€œSimple” Mean?

Obfuscation: On input π‘π‘Žπ‘‘ ∈ {0,1,βˆ—} =Output vector 𝒗9:; over 𝔽9

Page 13: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

12

What Does β€œSimple” Mean?

Obfuscation: On input π‘π‘Žπ‘‘ ∈ {0,1,βˆ—} =Output vector 𝒗9:; over 𝔽9

Evaluation: On input π‘₯ ∈ {0,1} =Write down vector π’˜WAccept if π’˜W

X 𝒗9:; = 0

Page 14: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Encoding Conjunctions as Inner Products

β€œObfuscation”:𝑛 = 3

π‘π‘Žπ‘‘ = *01

Structure of 𝒆taken from [BKMPRS18]

Accept!

𝒆 =

00π‘Ÿ\00π‘Ÿ]

*

0

1

π‘π‘Žπ‘‘

13

π‘Ÿ is a uniformly random value in 𝔽9

Page 15: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Encoding Conjunctions as Inner Products

β€œObfuscation”:𝑛 = 3

π‘π‘Žπ‘‘ = *01

Structure of 𝒆taken from [BKMPRS18]

π’˜π‘» β‹… 𝒆 = 0 $ 0 $ $ 0

00π‘Ÿ\00π‘Ÿ]

= 0

π‘₯ = 0 0 1

Evaluation: π‘₯ = 001

Accept!

(Accepting input)

𝒆 =

00π‘Ÿ\00π‘Ÿ]

*

0

1

π‘π‘Žπ‘‘

14

π‘Ÿ is a uniformly random value in 𝔽9

$ denotes arbitrary non-zero value in 𝔽9

Page 16: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Encoding Conjunctions as Inner Products

β€œObfuscation”:𝑛 = 3

π‘π‘Žπ‘‘ = *01

Structure of 𝒆taken from [BKMPRS18]

π’˜π‘» β‹… 𝒆 = 0 $ 0 $ $ 0

00π‘Ÿ\00π‘Ÿ]

= 0

π‘₯ = 0 0 1*

0

1

π‘π‘Žπ‘‘Evaluation: π‘₯ = 001

Accept!

(Accepting input)

𝒆 =

00π‘Ÿ\00π‘Ÿ]

*

0

1

π‘π‘Žπ‘‘

15

$ denotes arbitrary non-zero value in 𝔽9

π‘Ÿ is a uniformly random value in 𝔽9

Page 17: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Encoding Conjunctions as Inner Products

𝒆 =

00π‘Ÿ\00π‘Ÿ]

*

0

1

π‘π‘Žπ‘‘

β€œObfuscation”:𝑛 = 3

π‘π‘Žπ‘‘ = *01

Structure of 𝒆taken from [BKMPRS18]

π’˜π‘» β‹… 𝒆 = 0 $ $ 0 $ 0

00π‘Ÿ\00π‘Ÿ]

= $π‘Ÿ\

π‘₯ = 0 1 1*

0

1

π‘π‘Žπ‘‘Evaluation: π‘₯ = 011

Reject!

(Rejecting input)

16

$ denotes arbitrary non-zero value in 𝔽9

π‘Ÿ is a uniformly random value in 𝔽9

Page 18: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

17

1. Encoding Conjunctions as Inner Products2. A Group-Based Construction3. Security from LPN/RLC

Talk Outline

Page 19: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

18

How can we make this construction secure?

Idea: Avoid giving out 𝒆 in the clear, but still allow user to

compute π’˜π‘» β‹… 𝒆 for any π’˜ that encodes an input π‘₯ π’˜π‘» β‹… 𝒆 = 0 $ 0 $ $ 0

00π‘Ÿ\00π‘Ÿ]

= 0

𝒆 =

00π‘Ÿ\00π‘Ÿ]

*

0

1

π‘π‘Žπ‘‘

β€œObfuscation”:𝑛 = 3

π‘π‘Žπ‘‘ = *01

π‘₯ = 0 0 1*

0

1

π‘π‘Žπ‘‘Evaluation: π‘₯ = 001

2𝑛

Page 20: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

π’Œπ‘»π‘© = 0 $ 0 $ $ 0

19

Slightly Better Construction

1 2 3 4 5 61] 2] 3] 4] 5] 6]1g 2g 3g 4g 5g 6g1h 2h 3h 4h 5h 6h

00π‘Ÿ\00π‘Ÿ]

𝑩

2𝑛*

0

1

π‘π‘Žπ‘‘

𝒆

Obfuscation:1) Encode π‘π‘Žπ‘‘ in 𝒆2) Give out 𝑩 i 𝒆 ∈ 𝔽9=j\ where

𝑩 is a public 𝑛 + 1 Γ—(2𝑛)matrix satisfying Property 1.

Property 1: Any 𝑛 + 1 Γ— 𝑛 + 1submatrix of 𝑩 is full rank over 𝔽9

(ex: Vandermonde)

𝑛 + 1

Evaluation:On input π‘₯ = 001 pick π’Œ ∈ 𝔽9=j\ so that

encodes π‘₯

(i.e. solve for π’Œ to make these 𝑛 entries of π’Œπ‘»π‘© equal 0)

Accept if π’Œπ‘»π‘©π’† = 𝟎

π‘₯ = 0 0 1

Why does 𝑩 help security?

Page 21: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

20

Property 1: Any 𝑛 + 1 Γ— 𝑛 + 1submatrix of 𝑩 is full rank over 𝔽9

(ex: Vandermonde)

Why does 𝑩 help security?

Informal Lemma 1 (No Linear Attacks): If π‘π‘Žπ‘‘ is drawn with enough entropy, then for any π’Œ ∈ 𝔽9=j\, π’Œπ‘»π‘©π’† is a uniformly random scalar.

1 2 3 4 5 61] 2] 3] 4] 5] 6]1g 2g 3g 4g 5g 6g1h 2h 3h 4h 5h 6h

00π‘Ÿ\00π‘Ÿ]

𝑩

2𝑛*

0

1

π‘π‘Žπ‘‘

π’†π’Œπ‘»

(π‘˜\ π‘˜] π‘˜g π‘˜h)𝑛 + 1

Page 22: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

21

Informal Lemma 1 (No Linear Attacks): If π‘π‘Žπ‘‘ is drawn with enough entropy, then for any π’Œ ∈ 𝔽9=j\, π’Œπ‘»π‘©π’† is a uniformly random scalar.

π’Œπ‘»π‘©πŸ π’Œπ‘»π‘©πŸ π’Œπ‘»π‘©πŸ‘ π’Œπ‘»π‘©πŸ’ π’Œπ‘»π‘©πŸ“ π’Œπ‘»π‘©πŸ”

00π‘Ÿ\00π‘Ÿ]

2𝑛

π’†π’Œπ‘»π‘©

(π‘©π’Š denotes 𝑖th column of 𝑩)*

0

1

π‘π‘Žπ‘‘

1) At most 𝑛 out of 2𝑛 entries of π’Œπ‘»π‘©can be 0 (Property 1).

2) If π‘π‘Žπ‘‘ has enough entropy, then with overwhelming probability one of the 𝑛 non-zero entries of π’Œπ‘»π‘© will coincide with a non-zero entries in 𝒆.

3) If so, (π’Œπ‘»π‘©)𝒆 will be a random scalar.

Property 1: Any 𝑛 + 1 Γ— 𝑛 + 1submatrix of 𝑩 is full rank over 𝔽9

(ex: Vandermonde)

Why does 𝑩 help security?

Page 23: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

22

Group-Based* ConstructionObfuscation: Encode π‘π‘Žπ‘‘ as 𝒆, compute

𝑩𝒆 and output:

𝑔𝑩𝒆 = 𝑔 𝑩𝒆 x, 𝑔 𝑩𝒆 y, … . , 𝑔 𝑩𝒆 {|x

(same evaluation procedure works in exponent)

*Idea due to [BKMPRS18]: this construction can be viewed as β€œdual” to their construction.**Can be extended to more general distributions (see our paper and [BeuWee19])

Theorem: Generic Group adversary [Nac94,Sho97] cannot distinguish 𝑔𝑩𝒆 from 𝑛 + 1random group elements if π‘π‘Žπ‘‘ is uniformly random** with 𝑛 βˆ’ πœ”(log 𝑛) wildcards.

Proof: generic adversaries limited to linear attacks

Informal Lemma 1 (No Linear Attacks): If π‘π‘Žπ‘‘ is drawn with enough entropy, then for any π’Œ ∈ 𝔽9=j\, π’Œπ‘»π‘©π’† is a uniformly random scalar.

Page 24: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

23

1. Encoding Conjunctions as Inner Products2. A Group-Based Construction3. Security from LPN/RLC

Talk Outline

Page 25: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Step 1: Sample a length 2𝑛 vector 𝒆:

If π‘π‘Žπ‘‘^ = βˆ—, 𝑒]^~\𝑒]^ = 0

0

If π‘π‘Žπ‘‘^ = 0, 𝑒]^~\𝑒]^ = π‘Ÿ

0 for π‘Ÿ ← 𝔽9

If π‘π‘Žπ‘‘^ = 1, 𝑒]^~\𝑒]^ = 0

π‘Ÿ for π‘Ÿ ← 𝔽9

24

Step 2: Define 𝑩 ∈ 𝔽9=j\ Γ—]= whose

𝑖, 𝑗 th entry is:𝑩^,οΏ½ = 𝑗^

Compute the vector 𝑩𝒆 ∈ 𝔽9=j\

Obfuscation: 𝑔𝑩𝒆

𝑣\𝑣]𝑣g𝑣h

=

1 2 3 4 5 61] 2] 3] 4] 5] 6]1g 2g 3g 4g 5g 6g1h 2h 3h 4h 5h 6h

00π‘Ÿ\00π‘Ÿ]

𝑩𝒆

𝒗*

0

1

Group-Based Construction

(𝑩 is a fixed public matrix)

Page 26: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Step 1: Sample a length 2𝑛 vector 𝒆:

If π‘π‘Žπ‘‘^ = βˆ—, 𝑒]^~\𝑒]^ = 0

0

If π‘π‘Žπ‘‘^ = 0, 𝑒]^~\𝑒]^ = π‘Ÿ

0 for π‘Ÿ ← 𝔽9

If π‘π‘Žπ‘‘^ = 1, 𝑒]^~\𝑒]^ = 0

π‘Ÿ for π‘Ÿ ← 𝔽9

25

Step 2: Define 𝑩 ∈ 𝔽9=j\ Γ—]= whose

𝑖, 𝑗 th entry is:𝑩^,οΏ½ = 𝑗^

Compute the vector 𝑩𝒆 ∈ 𝔽9=j\

Obfuscation: 𝑩𝒆?

𝑣\𝑣]𝑣g𝑣h

=

1 2 3 4 5 61] 2] 3] 4] 5] 6]1g 2g 3g 4g 5g 6g1h 2h 3h 4h 5h 6h

00π‘Ÿ\00π‘Ÿ]

𝑩𝒆

𝒗*

0

1

Group-Based Construction

(𝑩 is a fixed public matrix)

Page 27: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Step 1: Sample a length 2𝑛 vector 𝒆:

If π‘π‘Žπ‘‘^ = βˆ—, 𝑒]^~\𝑒]^ = 0

0

If π‘π‘Žπ‘‘^ = 0, 𝑒]^~\𝑒]^ = π‘Ÿ

0 for π‘Ÿ ← 𝔽9

If π‘π‘Žπ‘‘^ = 1, 𝑒]^~\𝑒]^ = 0

π‘Ÿ for π‘Ÿ ← 𝔽9

26

Obfuscation: 𝑩,𝑩𝒆

𝑣\𝑣]𝑣g𝑣h

=

1 2 3 4 5 61] 2] 3] 4] 5] 6]1g 2g 3g 4g 5g 6g1h 2h 3h 4h 5h 6h

00π‘Ÿ\00π‘Ÿ]

𝑩𝒆

𝒗*

0

1

New Construction

Step 2: Sample a uniformly random matrix 𝑩 ← 𝔽9

=j\ Γ—]=.

Compute the vector 𝑩𝒆 ∈ 𝔽9=j\

random 𝑩

Idea: Randomize 𝑩!

Why would this be secure?

Page 28: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

27

Learning Parity with Noise Assumption over 𝔽9(Random Linear Codes Assumption)

𝑒′ β‰ˆοΏ½π΄ +,

Standard LPNset each entryβ€’ 0 w/ prob 1 βˆ’ 𝛼‒ 𝑒^οΏ½ ← 𝔽9 w/ prob 𝛼

uniform

𝑠𝐴𝑛

𝑛K

uniform

𝑒,𝐴uniform

uniformuniform

Page 29: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

28

β‰ˆοΏ½π΄ +,uniform

𝑠𝐴𝑛

𝑛K

uniform

𝑒,𝐴uniform

uniformuniform

Exact LPN [JKPT12]set exactly 𝛼𝑛 entries non-zero(polynomially equivalent)

𝑒′

Learning Parity with Noise Assumption over 𝔽9(Random Linear Codes Assumption)

Standard LPNset each entryβ€’ 0 w/ prob 1 βˆ’ 𝛼‒ 𝑒^οΏ½ ← 𝔽9 w/ prob 𝛼

Page 30: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

29

β‰ˆοΏ½π΄ +,uniform

𝑠𝐴𝑛

𝑛K

uniform

𝑒,𝐴uniform

uniformuniform

Exact LPN [JKPT12]set exactly 𝛼𝑛 entries non-zero(polynomially equivalent)

Last modification: switch to β€œdual”

𝑒′

Learning Parity with Noise Assumption over 𝔽9(Random Linear Codes Assumption)

Standard LPNset each entryβ€’ 0 w/ prob 1 βˆ’ 𝛼‒ 𝑒^οΏ½ ← 𝔽9 w/ prob 𝛼

Page 31: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

30

𝐴

𝑛K

𝐻𝑛

Compute 𝑯 with full row-rank such that:

𝑛 βˆ’ 𝑛K = 𝟎

Last modification: switch to β€œdual”

Page 32: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

31

𝐴 +uniform

𝑠

𝑛K

𝐻𝑛

𝑛 βˆ’ 𝑛K

𝐴

𝑛K

𝐻𝑛

Compute 𝑯 with full row-rank such that:

𝑛 βˆ’ 𝑛K = 𝟎Observe

= 𝐻

Last modification: switch to β€œdual”

𝑒′ 𝑒′

Page 33: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

32

(Dual) Exact LPN Assumption(polynomially equivalent to LPN)

β‰ˆοΏ½π»,uniform

π»π‘›βˆ’ 𝑛K𝑛

uniform𝑒,𝐻

uniform

uniformexactly 𝛼𝑛 non-zero values

Notice 𝑯,𝑯𝒆′ looks like the obfuscation 𝑩,𝑩𝒆

𝑒′

Page 34: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

33

𝑣\𝑣]𝑣g𝑣h

=

1 2 3 4 5 61] 2] 3] 4] 5] 6]1g 2g 3g 4g 5g 6g1h 2h 3h 4h 5h 6h

00π‘Ÿ\00π‘Ÿ]

𝑩𝒆

𝒗*

0

1

random 𝑩𝑣\𝑣]…

𝑣=~=οΏ½=

1 2 3 41] 2] 3] 4]1g 2g 3g 4g1h 2h 3h 4h

π‘Ÿ\0π‘Ÿ]π‘Ÿg0

𝒆′𝒗

random𝑯

𝑯

Dual Exact LPN Assumption: (𝑯,𝑯𝒆′) looks random

Obfuscation

𝑩 is 𝑛 + 1 Γ— 2𝑛‒ Sample random 𝑩 over 𝔽9β€’ Sample 𝒆 as uniformly random 2𝑛

dimensional vector with exactly 𝛼𝑛non-zero entries, conditioned on each pair of positions 2i βˆ’ 1, 2i having at least one 0 entry.

𝑯 is (𝑛 βˆ’ 𝑛K) Γ— 𝑛‒ Sample random𝑯 over 𝔽9β€’ Sample 𝒆′ as uniformly random 𝑛

dimensional vector with exactly 𝛼𝑛non-zero entries.

random length 𝑛 pattern, 1 βˆ’ 𝛼 𝑛 wildcards

LPN for poly samples, field 𝔽9constant noise 𝛼, [JKPT12] β€œexact” error

(Dual) Exact LPN

Page 35: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

34

uniformly random 2𝑛-dimensional vector with exactly 𝛼𝑛 non-zero entries conditioned on each pair of positions 2i βˆ’ 1, 2i having at least one 0 entry.

uniformly random 𝑛-dimensional vector with exactly 𝛼𝑛 non-zero entries.

β€œunstructured errorβ€β€œstructured error”

00

0

0

𝑒\

0

𝑒]𝑒g0

0

𝑒\οΏ½0𝑒]�𝑒gοΏ½0𝒆′

𝒆

(Dual) Exact LPN Obfuscation

This distribution arises if π‘π‘Žπ‘‘ is uniformly random with 1 βˆ’ 𝛼 𝑛 wildcards.

Page 36: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Theorem: Assuming LPN over 𝔽9 (noise rate 𝛼), obfuscation 𝑩,𝑩𝒆 looks uniformly random if π‘π‘Žπ‘‘ is uniformly at random with 1 βˆ’ 𝛼 𝑛 wildcards, for 0 < 𝛼 < 1.

Page 37: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

36

𝑒 β‰ˆοΏ½π»π‘›

𝑛 βˆ’ 𝑛K 𝐻 𝐻𝑒′,,

𝐡Want to show:

2𝑛

𝐡 𝑒𝑛 + 1 π΅π‘’β‰ˆοΏ½

(Dual) Exact LPN:

, ,

𝒆′ unstructured error

𝒆 structured error

uniform

uniform

uniform

uniform uniform

uniform

Theorem: Assuming LPN over 𝔽9 (noise rate 𝛼), obfuscation 𝑩,𝑩𝒆 looks uniformly random if π‘π‘Žπ‘‘ is uniformly at random with 1 βˆ’ 𝛼 𝑛 wildcards, for 0 < 𝛼 < 1.

Page 38: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

37

𝐻\ 𝐻] 𝐻g 𝐻h 𝐻�

𝑛

𝑛 βˆ’ 𝑛K

Easy Step: Sample 𝑛 random columns π‘ˆ\,β€¦π‘ˆ=. Replace 𝑯 with 𝑲 where each pair of indices (2𝑖 βˆ’ 1,2𝑖) is either 𝐻^, π‘ˆ^ or π‘ˆ^, 𝐻^ (pick randomly).

𝐻\ π‘ˆ\ π‘ˆ] 𝐻] π‘ˆg 𝐻g 𝐻h π‘ˆh π‘ˆοΏ½ 𝐻�

2𝑛

𝑛 βˆ’ 𝑛K

𝐾𝐻

Claim: 𝑯𝒆′ = 𝑲𝒆 where 𝒆′ is unstructured error and 𝒆 is structured error.

𝑒or𝐻𝑒′, 𝑒

or𝐻𝑒′, 𝑒

or𝐾𝑒

=

Page 39: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

38

𝐻\ 𝐻] 𝐻g 𝐻h 𝐻� 𝐻\ π‘ˆ\ π‘ˆ] 𝐻] π‘ˆg 𝐻g 𝐻h π‘ˆh π‘ˆοΏ½ 𝐻�

00

0

0

𝑒\οΏ½

0

𝑒]οΏ½

𝑒gοΏ½

0

0

𝒆 unstructured errornon-zero entries in 𝛼𝑛 randomly chosen positions

𝒆 structured errornon-zero entries in 𝛼𝑛 randomly chosen positions, each pairhas at least one 0

𝑛

𝑛 βˆ’ 𝑛K

2𝑛𝑒\οΏ½0𝑒]�𝑒gοΏ½0

=𝐾𝐻

2𝑛𝑛

Claim: 𝑯𝒆′ = 𝑲𝒆 where 𝒆′ is unstructured error and 𝒆 is structured error.

𝒆′𝒆

Page 40: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

𝐻\ π‘ˆ\ π‘ˆ] 𝐻] π‘ˆg 𝐻g 𝐻h π‘ˆh π‘ˆοΏ½ 𝐻�

39

𝑒 β‰ˆοΏ½π»π‘›

𝑛 βˆ’ 𝑛K 𝐻 𝐻𝑒′,,(Dual) Exact LPN: 𝑒′ unstructured erroruniform

uniform uniformLPN gives us 𝑛 βˆ’ 𝑛Krows β€œfor free”

𝑒 β‰ˆοΏ½ 𝐾𝑒,,𝑒 structured erroruniform

𝐻\ π‘ˆ\ π‘ˆ] 𝐻] π‘ˆg 𝐻g 𝐻h π‘ˆh π‘ˆοΏ½ 𝐻�𝑛 βˆ’ 𝑛K

2𝑛

𝐾𝐾

Page 41: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

40

𝑒 β‰ˆοΏ½π»π‘›

𝑛 βˆ’ 𝑛K 𝐻 ,,uniform

uniform uniform

𝑒 β‰ˆοΏ½ ,,uniform

𝑛 βˆ’ 𝑛K

We need 𝑛 + 1 rows for the obfuscation construction.

Need 𝑛K + 1 additional rows Need 𝑛K + 1 additional rows𝑛K + 1

𝐻𝑒′

𝑒′ unstructured error

𝐾𝑒

𝑒 structured error2𝑛

uniform uniform𝐾 𝐾

(Dual) Exact LPN:

LPN gives us 𝑛 βˆ’ 𝑛Krows β€œfor free”

Page 42: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

41

𝑒 β‰ˆοΏ½ 𝐾𝑒,,uniform

𝑛 βˆ’ 𝑛K

2𝑛

𝑛K + 1

uniform uniform𝐾 πΎπ‘ˆ π‘ˆπ‘’β€™ ?

Issue: If we sample additional rows π‘ˆ uniformly at random, we can’t fill in π‘ˆπ‘’ without 𝑒.

𝑒 structured error

Page 43: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

42

Observation: We know 𝐾^𝑒 for any row 𝐾^ of 𝐾.

So we can use random linear combinations of rows of 𝐾.

𝑒 β‰ˆοΏ½ 𝐾𝑒,,𝑒 structured erroruniform

𝑛 βˆ’ 𝑛K

2𝑛

uniform uniform𝐾 𝐾

Page 44: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

43

𝑒 β‰ˆοΏ½ ,,uniform

𝑛 βˆ’ 𝑛K

2𝑛

𝑛K + 1

uniform uniform

𝑅𝑛K + 1𝑛 βˆ’ 𝑛K

Sample randommatrix 𝑅:

𝑅𝐾 𝑅𝐾𝑅𝑒

So are we done?

Observation: We know 𝐾^𝑒 for any row 𝐾^ of 𝐾.

So we can use random linear combinations of rows of 𝐾.

𝐾𝑒

𝑒 structured error

𝐾 𝐾𝑅𝐾𝑒

Page 45: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

44

𝑒 β‰ˆοΏ½ ,,uniform

𝑛 βˆ’ 𝑛K

2𝑛

𝑛K + 1

uniform uniform𝐾 𝐾

𝑅𝑛K + 1𝑛 βˆ’ 𝑛K

Sample randommatrix 𝑅:

𝑅𝐾 𝑅𝐾𝑅𝑒 𝑅𝐾𝑒

Observation: We know 𝐾^𝑒 for any row 𝐾^ of 𝐾.

So we can use random linear combinations of rows of 𝐾.

𝐾𝑒

𝑒 structured error

The matrix isn’t random!(rank is at most 𝑛 βˆ’ 𝑛K)

Page 46: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

45

One last idea: we know half the

entries of 𝑒 since we implicitly

β€œinserted” 𝑛 zeros.

𝑒 β‰ˆοΏ½ ,,uniform

𝑛 βˆ’ 𝑛K

2𝑛

𝑛K + 1

uniform uniform

𝑅𝐾 𝑅𝐾𝑅𝑒

𝐾𝑒

𝑒 structured error

𝐾 𝐾𝑅𝐾𝑒

Page 47: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

46

One last idea: we know half the

entries of 𝑒 since we implicitly

β€œinserted” 𝑛 zeros.

𝑒 β‰ˆοΏ½ ,,uniform

𝑛 βˆ’ 𝑛K

2𝑛

𝑛K + 1

uniform uniform𝑅𝑒

𝐾𝑒

𝑒 structured error

Sample matrix 𝑉 with 𝑛 uniformly random non-zero columns coinciding with 𝑛 known zero entries of 𝑒. (i.e. 𝑉𝑒 = 0)

2𝑛𝑛K + 1 = 𝑉

all 0’s column uniformly random columns

𝑅𝐾 + 𝑉 𝑅𝐾 + 𝑉𝐾 𝐾

𝑅𝐾𝑒

Page 48: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

47

𝑛 βˆ’ 𝑛K

2𝑛

𝑛K + 1

uniform 𝐾𝑅𝐾 + 𝑉

π΅β‰ˆοΏ½

𝑛+ 1

2𝑛

uniform

???

Does(𝐾, 𝑅𝐾 + 𝑉)

look uniformly random?

Page 49: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

48

𝑛 βˆ’ 𝑛K

2𝑛

𝑛K + 1

uniform 𝐾𝑅𝐾 + 𝑉

π΅β‰ˆοΏ½

𝑛+ 1

2𝑛

uniform

???

Heuristic Argument: Entropy Counting𝑯� 𝐾 +𝑯� 𝑅 +𝑯�(𝑉)= 𝑛� # entries in 𝐾 + 𝑛� # entries in 𝑅

+ 𝑛� # nonzero entries in 𝑉 + 𝑛= 𝑯� 𝐡 βˆ’ 𝑛]KjοΏ½ + 𝑛If 2πœ– + 𝛿 < 1, LHL yields (𝐾, 𝑅𝐾 + 𝑉)statistically close to uniform.

𝑅𝑛K + 1

𝑛 βˆ’ 𝑛K

2𝑛

𝑛K + 1 𝑉

Does(𝐾, 𝑅𝐾 + 𝑉)

look uniformly random?

𝑛 βˆ’ 𝑛K

2𝑛

𝐾

all 0’s

uniform

uniform

uniform

matrices over 𝔽�, log π‘ž = 𝑛�

Page 50: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

49

𝐡𝐡 𝑒 π΅π‘’β‰ˆοΏ½, ,

uniform

uniform uniform

β‰ˆοΏ½

𝑛+ 1

2𝑛

𝑒 β‰ˆοΏ½ ,,uniform

𝑛 βˆ’ 𝑛K

2𝑛

𝑛K + 1

uniform uniform𝑅𝑒

𝐾𝑒

𝑒 structured error

𝑒 structured error

𝑅𝐾 + 𝑉 𝑅𝐾 + 𝑉𝐾 𝐾

𝑅𝐾𝑒

Page 51: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Another Perspective: Structured Error LPN

For what β„Ž is (𝐡, 𝐡𝑒) pseudorandom?

β€’ Pseudorandom if β„Ž = 𝑛 βˆ’ 𝑛K, πœ– < 1 (perfectly equivalent to Exact LPN)

β€’ [This work] Pseudorandom if β„Ž = 𝑛 + 𝑛‘, 𝛾 < 1/2 (statistically equivalent to Exact LPN)

β€’ [AroraGe12] Can solve for 𝑒 if β„Ž = 2𝑛 βˆ’ 𝑛�, 𝛿 < 1/250

𝐡 𝐡𝑒,uniform

2𝑛 𝑒 structured error

β„Ž

Page 52: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

Another Perspective: Structured Error LPN

For what β„Ž is (𝐡, 𝐡𝑒) pseudorandom?

β€’ Pseudorandom if β„Ž = 𝑛 βˆ’ 𝑛K, πœ– < 1 (perfectly equivalent to Exact LPN)

β€’ [This work] Pseudorandom if β„Ž = 𝑛 + 𝑛‘, 𝛾 < 1/2 (statistically equivalent to Exact LPN)

β€’ [AroraGe12] Can solve for 𝑒 if β„Ž = 2𝑛 βˆ’ 𝑛�, 𝛿 < 1/251

𝐡 𝐡𝑒,uniform

2𝑛 𝑒 structured error

β„Ž

Page 53: New Techniques for Obfuscating Conjunctionsfermim/talks/crypto-day.pdf4 Obfuscation for General Programs Many candidates: [GGHRSW13,AGIS14,AB15,Zim15,LV16,Lin16,GM MSSZ16,AS16,LT17,FRS17,BGMZ18,CVW18,AJS18,

52

Conclusionβ€’ In the GGM: obfuscate conjunctions by encoding in a vector

and multiplying by a structured matrix.β€’ If we multiply by a random matrix, we can avoid groups and

rely on LPN.

In the paper:

β€’ An information theoretic conjunction obfuscator consisting of a sequence of matrices; evaluation is done by taking asubset-sum of matrices and computing the determinant.

Thank You!ePrint: ia.cr/2018/936slides: cs.princeton.edu/~fermim/talks/crypto-day.pdf


Top Related