Separating Semantic and Circular Security for Symmetric Key Bit Encryption from LWE
Rishab Goyal Venkata Koppula Brent Waters
Circular Security for Symmetric Key Bit Encryption from LWE Rishab - - PowerPoint PPT Presentation
Separating Semantic and Circular Security for Symmetric Key Bit Encryption from LWE Rishab Goyal Venkata Koppula Brent Waters n-Circular Security [C amenisch L ysyanskya 01] PK 1 PK 1 . . . . . . PK n PK n Enc PKn (0) Enc PKn (SK 1 ) Enc PK1
Rishab Goyal Venkata Koppula Brent Waters
n-Circular Security [CamenischLysyanskya01]
EncPK1(SK2) EncPKn(SK1)
1 2 n - 1 n 3PK1 PKn . . . EncPK2(SK3) PK1 PKn . . . EncPK1(0) EncPKn(0)
1 2 n - 1 n 3EncPK2(0)
n-Circular Security [CamenischLysyanskya01]
PK1 PKn EncPK1(SK2) EncPKn(SK1) . . . . . . PK1 PKn EncPK1(0) EncPKn(0) . . . . . . EncPK2(SK3) EncPK1(0)
Does IND-CPA imply n-Circular Security?
Separations: n-Circular Security
Separations: n-Circular Security
Can we bypass these negative results?
Can we bypass these negative results? They do seem to use the full key!
Can we bypass these negative results? They do seem to use the full key! What if we encrypt bit-by-bit?
Can we bypass these negative results? They do seem to use the full key! What if we encrypt bit-by-bit? Separations don’t hold!
Does IND-CPA imply Circular Security for bit encryption?
Prior Results iO
M-Maps
KoppulaRamchenWaters15 Rothblum12
Our Result
key bit encryption scheme E such that it is not 1-circular secure. LWE
LWE with Short Secrets
[Regev05, ApplebaumCashPeikertSahai09]
Short matrix s.t.
Short matrix s.t.
Cycle Testers [BishopHohenbergerWaters15]
Cycle Testers [BishopHohenbergerWaters15]
Cycle Testers [BishopHohenbergerWaters15]
distinguishes
Correctness
and
Cycle Testers [BishopHohenbergerWaters15]
distinguishes
Correctness
and
IND-CPA Security
Preview
Matrices and Trapdoors
Preview
Matrices and Trapdoors
Preview
Matrices and Trapdoors Position
Preview
encrypt . (Ignores )
position .
Preview
encrypt . (Ignores )
position . Problem setting LWE parameters!
Preview: Strand Structure (𝜇 = 3)
Preview: Strand Structure
…… …… …… …… ……… ………
Setup
Setup
…… …… …… ……… ………
Setup
…… …… …… ……… ………
Setup
…… …… …… ……… ………
Setup
…… …… …… ……… ………
Base Level 1 Level 2 Level 𝜇
Enc(bit b, pos i)
…… …… …… ……… ………
Enc(bit b, pos i)
…… …… …… ……… ………
Enc(bit b, pos i)
………
Enc(bit b, pos i)
………
Enc(bit b, pos i)
………
Enc(bit b, pos i)
………
Enc(bit b, pos i)
…… …… …… ……… ………
Enc(bit b, pos i)
………
Enc(bit b, pos i)
………
Enc(bit b, pos i)
………
Enc(bit b, pos i)
………
Computed as before
Enc(bit b, pos i)
………
Oblivious Sequence Transform
Oblivious Sequence Transform
Oblivious Sequence Transform
Oblivious Sequence Transform
Enc(bit b, pos i)
………
Enc(bit b, pos i)
…… …… …… ……… ………
Enc(bit b, pos i)
…… …… …… ……… ………
High Level Structure in encryption of bit 𝑐 for position 𝑗 chooses a sub-strand in 𝑗th strand.
Test
Encrypt s
………
Test
…… …… …… ……… ……… ……… ………
Test
…… …… …… ……… …… ……… ……… ………
Test
…… …… …… ……… …… ……… ……… ………
Test
…… …… …… ……… …… ……… ……… ………
Test
…… …… …… ……… …… ……… ……… ……… ……
Test
…… …… …… ……… …… ……… ……… ……… ……
Proof Sketch: IND-CPA
Game 0
…… …… …… ……… ………
Proof Sketch: IND-CPA
Game 0 Game 1
…… …… …… ……… ………
Proof Sketch: IND-CPA
Game 0 Game 1
LHL
…… …… …… ……… ………
s chosen
randomly and hidden!
Proof Sketch: IND-CPA
Position-1 Position-𝜇
………
Position-(𝜇-1)
…
Random Short Matrices
………
Position-1
………
Position-(𝜇-1)
………
Game 1 Game 2 Game 𝜇
Proof Sketch: IND-CPA
…
Proof Sketch: IND-CPA
…
Proof Sketch: IND-CPA
…
LWE
Proof Sketch: IND-CPA
…
LWE
Proof Sketch: IND-CPA
…
LWE Pre-Image
Proof Sketch: IND-CPA
…
LWE Pre-Image
Setting Parameters??
For Correctness For Security Error Accumulation Leftover Hash Lemma
Setting Parameters??
For Correctness For Security Error Accumulation Leftover Hash Lemma Problem. For LHL: #Strands > log 𝑟 . Error Accumulation: #Levels < log 𝑟 . Current Design: Strands = Levels.
Setting Parameters??
For Correctness For Security Error Accumulation Leftover Hash Lemma Problem. For LHL: #Strands > log 𝑟 . Error Accumulation: #Levels < log 𝑟 . Current Design: Strands = Levels. New Design: #Strands = PRG output length.
Review
…… …… …… …… ……… ………
Review
…… …… …… …… ……… ………
Looks like a Branching Program that computes Identity!
Relieving the Tension
Problem. For LHL: #Strands > log 𝑟 . Error Accumulation: #Levels < log 𝑟 . Current Design: Strands = Levels. New Design: #Strands = PRG output length.
Relieving the Tension
Problem. For LHL: #Strands > log 𝑟 . Error Accumulation: #Levels < log 𝑟 . Current Design: Strands = Levels. New Design: #Strands = PRG output length.
Relieving the Tension
Encode and Evaluate a PRG! Problem. For LHL: #Strands > log 𝑟 . Error Accumulation: #Levels < log 𝑟 . Current Design: Strands = Levels. New Design: #Strands = PRG output length.
High Level Structure: Encoding PRG
…… …… ……… ……… ……… ………
Conclusions and Open Problems
trapdoors
Conclusions and Open Problems
trapdoors
Conclusions and Open Problems
trapdoors
Can these techniques be used elsewhere? Public Key Setting?
Conclusions and Open Problems
trapdoors
Can these techniques be used elsewhere? Public Key Setting?
Lockable Obfuscation [GKoppulaWaters17]
Lockable Obfuscation [GKoppulaWaters17]
Our Result [GKoppulaWaters17]
Our Result [GKoppulaWaters17]
ePrint: 2017/274
Concurrent [WichsZirdelis17]
Thank you! Questions?
1-Cycle Tester
Compute = obfuscation of Output
iO Lockable