New Advances in Secure RAM Computation
Sanjam Garg University of California, Berkeley Based on joint works with Steve Lu, Payman Mohassel, Charalampos Papamanthou, Rafail Ostrovsky and Alessandra Scafuro
New Advances in Secure RAM Computation Sanjam Garg University of - - PowerPoint PPT Presentation
New Advances in Secure RAM Computation Sanjam Garg University of California, Berkeley Based on joint works with Steve Lu, Payman Mohassel, Charalampos Papamanthou, Rafail Ostrovsky and Alessandra Scafuro Yaos garbled circuits Server User
Sanjam Garg University of California, Berkeley Based on joint works with Steve Lu, Payman Mohassel, Charalampos Papamanthou, Rafail Ostrovsky and Alessandra Scafuro
User Server
π· π· π·(π¦) π¦ π¦
User Server
π, π¦ π, π¦ π(π¦)
If the running time of the program π is π then the corresponding circuit is of size π3.
Communication complexity and computational complexity of both parties grows with π3.
[LO13,GHLORW14]
User Server
ππ, π¦π ππ, π¦π ππ(π¦π)
Garbled circuits lead to a solution where the communication and computational cost per program grows with database size.
πΈ
π
π
[LO13,GHLORW14]
User Server
ππ, π¦π ππ, π¦π ππ(π¦π)
Garbled circuits lead to a solution where the communication and computational cost per program grows with database size.
access pattern.
ORAM [Goldreich-Ostrovsky]
[CHJV14, BGT14, LP14, KLW15, CH15, CCCLLZ15...]
construction
CPU step 1 CPU step 2 CPU step 3 read 1 next index read 2 next index read 3 next index
Writes require additional work but letβs ignore that!
CPU step 1 CPU step 2 CPU step 3 read 1 next index read 2 next index read 3 next index
Use garbled circuits!
CPU step 1 CPU step 2 CPU step 3 read 1 next index read 2 next index read 3 next index
How do reads work? Access pattern is revealed!
1) Somehow encrypt memory 2) translate table
CPU step 1 CPU step 2 CPU step 3 read 1 next index read 2 next index read 3 next index
STEP 1: garbling/encrypting of the memory
ππ π πππΊπΏ(π, ππ)
CPU step 1 CPU step 2 CPU step 3 read 1 next index read 2 next index read 3 next index
STEP 2: translate table
K K K
ππ π πππΊπΏ(π, ππ) π π‘0, π‘1
πΉππ(πππΊπΏ π, 0 , π‘0) πΉππ(πππΊπΏ π, 1 , π‘1)
doesnβt learn it!
values internally
inherent
garbled circuits with data values hardwired in them
π1 π2
π, π‘0, π‘1 β¦β¦β¦
π1 π2
π, π‘0, π‘1 β¦β¦β¦
Say π = 2 Outputs π‘π2
Memory no longer useful!
β¦β¦β¦ β¦β¦β¦ β¦β¦β¦ β¦β¦β¦
π1 π2
π, π‘0, π‘1 β¦β¦β¦
Say π = 2 Outputs π‘π2
β¦β¦β¦ How many backups? How do we connect them?
Assume uniform memory accesses.
Round Efficient And Black Box