Encrypted Search: Leakage Suppression Seny Kamara How Should we - - PowerPoint PPT Presentation

β–Ά
encrypted search leakage suppression
SMART_READER_LITE
LIVE PREVIEW

Encrypted Search: Leakage Suppression Seny Kamara How Should we - - PowerPoint PPT Presentation

SAC Summer School 2019 Encrypted Search: Leakage Suppression Seny Kamara How Should we Handle Leakage? Approach #1: ORAM simulation Store and simulate data structure with ORAM General-purpose Zero-leakage (if data is transformed


slide-1
SLIDE 1

Encrypted Search: Leakage Suppression

Seny Kamara

SAC Summer School 2019

slide-2
SLIDE 2

How Should we Handle Leakage?

  • Approach #1: ORAM simulation
  • Store and simulate data structure with ORAM
  • General-purpose
  • Zero-leakage (if data is transformed appropriately)
  • polylog overhead per read/write on top of simulation
  • Approach #2: Custom oblivious structures
2
slide-3
SLIDE 3

How Should we Handle Leakage?

  • Approach #3: Rebuild [K.14]
  • Rebuild encrypted structure after t queries
  • Set t using cryptanalysis
  • Open question: can you rebuild encrypted structures?
  • Approach #4: Leakage suppression
  • Suppression compilers
  • Suppression transforms
3
slide-4
SLIDE 4

Q: can we reduce leakage?

4
slide-5
SLIDE 5

Leakage Suppression via ORAM

  • Common answer is β€œuse ORAM!”
  • usually without any details
  • or experiments
  • How exactly do we use ORAM to search?
5
slide-6
SLIDE 6

ORAM

6

Setup time Query time

ORAM.Setup

Read(i)

ORAM.Read(i)

Write(i,v)

ORAM.Write(i,v)

slide-7
SLIDE 7

Leakage Suppression via ORAM

  • ORAM supports read & write operations to an array
  • with polylog(n) cost
  • and leakage profile 𝚳ORAM = (β„’S, β„’Q) = (dsize, ⟘)
  • ORAM is a β€œlow-level” primitive
  • designed for read/write operations to an array
  • what if we want to query a more complex structure?
  • Need to use ORAM simulation
7
slide-8
SLIDE 8

ORAM Simulation

  • Represent DS as an array and store in ORAM
  • Client simulates Query(DS,q) algorithm
  • replaces each Read(i) with ORAM.Read(i)
  • replaces each Write(i,v) with ORAM.Write(i,v)
8
slide-9
SLIDE 9

ORAM Simulation

9

Setup time Query time

ORAM.Setup

Read(3)

ORAM.Read(3)

Write(1,v)

ORAM.Write(1,v)

DS

Represent

Query(DS,q)

Read(10)

ORAM.Read(10)

slide-10
SLIDE 10

ORAM Simulation

  • Costs O(TΒ·polylog(|DS|))
  • where T is runtime of Query(DS,q)
  • Leakage profile
  • 𝚳 = (dsize, (runtime, vol))
  • vol: size of response (can be suppressed with padding)
  • Can we do better?
10
slide-11
SLIDE 11

Q: can we do better than ORAM simulation?

11
slide-12
SLIDE 12

Suppression Compiler

12

Compiler STE

𝚳 = (β„’S, β„’Q) = (β˜…, (patt1, patt2))

STE

𝚳 = (β„’S, β„’Q) = (β˜…, patt2)

slide-13
SLIDE 13

Suppression Compiler for Query Equality

13

Compiler STE STE

𝚳 = (β„’S, β„’Q) = (β˜…, qeq) 𝚳 = (β„’S, β„’Q) = (β˜…, ⟘)

slide-14
SLIDE 14

Q: Can we build such a thing?

14
slide-15
SLIDE 15

Suppression Compiler for Query Equality

15

Cache-based Compiler STE STE

𝚳 = (β„’S, β„’Q) = (β˜…, (qeq, patt)) 𝚳 = (β„’S, β„’Q) = (β˜…, nrp) nrp is the non-repeating sub-pattern of patt

slide-16
SLIDE 16

Non-Repeating Sub-Patterns

  • Leakage patterns can be decomposed into sub-patterns:
  • Non-repeating sub-patterns β‰ˆ leakage on non-repeating queries
16

patt = ( patt1 if β€œcondition” is true patt2

  • therwise.
<latexit sha1_base64="i8p2FJOCQJSTi+CPAB+1LYAOq5E=">ACh3icbVHRbtMwFHUCg64DVuCRl6tOQ0iTqQaMB6QCrzscUiUTWqznFuWmuOHdk3QBXlW7Zv4o2/wWm3CbodydLRufcax+npZKOouhPED54uPXocWe7u/Pk6bPd3vMX352prMCxMrYs5Q7VFLjmCQpPCst8iJVeJpefGnrpz/QOmn0N1qWOC34XMtcCk5emvUuoU5cDiUnauBjFzySFOdS18JPdc1KaXHbNosbeA0J4S/SxhZc1TKH83NhdCbmX2QDshW2ECSwD3+4abf0ALtT+mwGawvgDq7WT/r7UWDaAW4S+JrsjfqJwdXjLGTWe93khlRFahJKO7cJI5KmtbckhQKm25SOSy5uOBznHiqeYFuWq+CbGDfKxnkxvqjCVbqv46aF84ti9R3FpwWbrPWivfVJhXlR9Na6rIi1GK9K8UkIH2VyCTFgWpSdcWJ+jALHglgvyf9eGEG8+S4ZDwcfBvFXH8ZntkaHvWJ9obF7D0bsWN2wsZMBFvBQXAYvA27YRS+C4/WrWFw7XnJ/kP46S8xy7+r</latexit><latexit sha1_base64="3uvXwExZBiIh72RmQD/YX1ApuK0=">ACh3icbVFNT9tAEF0baCH9StjL6OgVpWQIhvRlh4qBXrhCFIDSHEU1utxsmK9a+2O20aW/wV3/lNv/BvWCa1o4EkrPb2ZN7P7Ni2VdBRFN0G4tr7x5OnmVufZ8xcvX3Vfvzl1prICh8IoY89T7lBJjUOSpPC8tMiLVOFZevm9rZ/9ROuk0T9oXuK4FMtcyk4eWnSvY6cTmUnKiBbx3wSFKcSl0LP9U1C6XFv7ZJ3MAHSAh/kza24KqWOVxcCKMz2c7sgXRAtsIGkgQe8e+u+g3N0P6SDpv+8gKos7/rJ93tqB8tA9JfEe2B71k5+pmMD+edP8kmRFVgZqE4s6N4qikc0tSaGw6SVw5KLSz7FkaeaF+jG9SLIBt57JYPcWH80wUK976h54dy8SH1nwWnmVmut+FhtVFG+P6lLitCLZaL8koBGWh/BTJpUZCae8KF9TkKEDNuSD/d20I8eqTH5Lhbv9rPz7xYRyJTbZO9ZjH1nMvrABO2LHbMhEsBHsBHvBp7ATRuHncH/ZGgZ3nrfsP4QHtzmvwTE=</latexit><latexit sha1_base64="3uvXwExZBiIh72RmQD/YX1ApuK0=">ACh3icbVFNT9tAEF0baCH9StjL6OgVpWQIhvRlh4qBXrhCFIDSHEU1utxsmK9a+2O20aW/wV3/lNv/BvWCa1o4EkrPb2ZN7P7Ni2VdBRFN0G4tr7x5OnmVufZ8xcvX3Vfvzl1prICh8IoY89T7lBJjUOSpPC8tMiLVOFZevm9rZ/9ROuk0T9oXuK4FMtcyk4eWnSvY6cTmUnKiBbx3wSFKcSl0LP9U1C6XFv7ZJ3MAHSAh/kza24KqWOVxcCKMz2c7sgXRAtsIGkgQe8e+u+g3N0P6SDpv+8gKos7/rJ93tqB8tA9JfEe2B71k5+pmMD+edP8kmRFVgZqE4s6N4qikc0tSaGw6SVw5KLSz7FkaeaF+jG9SLIBt57JYPcWH80wUK976h54dy8SH1nwWnmVmut+FhtVFG+P6lLitCLZaL8koBGWh/BTJpUZCae8KF9TkKEDNuSD/d20I8eqTH5Lhbv9rPz7xYRyJTbZO9ZjH1nMvrABO2LHbMhEsBHsBHvBp7ATRuHncH/ZGgZ3nrfsP4QHtzmvwTE=</latexit><latexit sha1_base64="Mr1Pcb3zvdwH+T3mZsNla8g3ts=">ACh3icbVFdb9MwFHXCvigwOnjk5WoVCAmpSipg4wFpwMseh7SySU3VOc5Na82xI/tmUEX5LftPe+Pf4LTdNLodydLRufcax+npZKOouhvED7Z2Nza3naefb8xe7L7t6rX85UVuBQGXsecodKqlxSJIUnpcWeZEqPEsvf7T1syu0Thp9SvMSxwWfaplLwclLk+41InLoeREDXztgEeS4lTqWviprlkoLe7aJnED7yAh/EPa2IKrWuZwcSGMzmQ7cx+kA7IVNpAk8Ih/sO43NEP7Wzps+sLoM5u10+6vagfLQAPSbwiPbCyaR7k2RGVAVqEo7N4qjksY1tySFwqaTVA5Li75FEeal6gG9eLIBt465UMcmP90QL9b6j5oVz8yL1nQWnmVuvteJjtVF+eG4lrqsCLVYLsorBWSg/RXIpEVBau4JF9bnKEDMuOWC/N+1IcTrT35IhoP+l378M+odfV+lscPesH32nsXsgB2xY3bChkwEm8GH4GPwKeyEUfg5PFy2hsHK85r9h/DbPyDVviI=</latexit>

patt = ( nrp if queries are unique misc

  • therwise.
<latexit sha1_base64="RPjgyIct3h/2rqBbwTZzVSotFU=">ACgHicbVFNb9NAEF27hbYpHwGOvYxaikAIY3PhQ0Kq6IVjKxFaKY6i9WacrLof7u4YiCz/D478pt76Z1A3Tg405UkrvX0zb2Z3pqiU9JSm1G8sXnv/tb2Tm/3wcNHj/tPn73tnYCB8Iq684L7lFJgwOSpPC8csh1ofCsuDhexM9+oPSm80r3Ck+dTIUgpOQRr3fwM0uS+h4kQtfO5BQF7gVJpGhLK+7ZQFujTjqhZeQE74i4x1mqtGlnBZo5PogTuE2shwbSHP4bZVSy/WvZm6H5Kj2y7Ixmsuo7h+kSdoB7pJsRQ6O9vPXfxhjJ+P+VT6xotZoSCju/TBLKxo13JEUCteXnusuLjgUxwGarhGP2q6CbZwGJQJlNaFYwg69V9Hw7X3c12ETM1p5tdjC/F/sWFN5YdRI01VExqxbFTWCsjCYh0wkQ4FqXkgXDgZ3gpixh0XFJbWC0PI1r98lwzeJR+T7DQM4wtbYpvtsX32kmXsPTtiX9kJGzDB/kbPozdREm/Er+K3cbZMjaOV5xm7hfjTDes2vms=</latexit><latexit sha1_base64="uyiZCzrLxl+0jsE3W4sWpZAXVk=">ACgHicbVFNb9NAEF27BdrwFeixl1ELCIRwbS58SJUiuPTYSoRWiqNovRknq+6H2R0DkeV/wYHfxa1/BrFxcmhTnrTS2zfzZnZnikpJT2l6FcVb23fu3tvZ7d1/8PDR4/6Tp1+9rZ3AobDKuouCe1TS4JAkKbyoHJdKDwvLj8v4+f0XlpzRdaVDjWfGZkKQWnIE36vwGa3JdQcaIWjnsQkBc4k6YRoaxvO2WJLs24qoUXkBP+JGOd5qRJXyr0Un0wB1CbWS4tpDncNOqpRebXktzdD+kxzZdUYzXfed9A/TJO0At0m2JoeDg/z1r6vB4nTS/5NPrag1GhKez/K0orGDXckhcK2l9ceKy4u+QxHgRqu0Y+boItPA/KFErwjEnXrd0XDt/UIXIVNzmvN2FL8X2xU/l+3EhT1YRGrBqVtQKysFwHTKVDQWoRCBdOhreCmHPHBYWl9cIQs0v3ybDt8mHJDsLw/jEVth+yAvWQZe8cG7ISdsiET7G/0LHoTJfFW/Co+irNVahytPXvsBuKP/wDzGr/x</latexit><latexit sha1_base64="uyiZCzrLxl+0jsE3W4sWpZAXVk=">ACgHicbVFNb9NAEF27BdrwFeixl1ELCIRwbS58SJUiuPTYSoRWiqNovRknq+6H2R0DkeV/wYHfxa1/BrFxcmhTnrTS2zfzZnZnikpJT2l6FcVb23fu3tvZ7d1/8PDR4/6Tp1+9rZ3AobDKuouCe1TS4JAkKbyoHJdKDwvLj8v4+f0XlpzRdaVDjWfGZkKQWnIE36vwGa3JdQcaIWjnsQkBc4k6YRoaxvO2WJLs24qoUXkBP+JGOd5qRJXyr0Un0wB1CbWS4tpDncNOqpRebXktzdD+kxzZdUYzXfed9A/TJO0At0m2JoeDg/z1r6vB4nTS/5NPrag1GhKez/K0orGDXckhcK2l9ceKy4u+QxHgRqu0Y+boItPA/KFErwjEnXrd0XDt/UIXIVNzmvN2FL8X2xU/l+3EhT1YRGrBqVtQKysFwHTKVDQWoRCBdOhreCmHPHBYWl9cIQs0v3ybDt8mHJDsLw/jEVth+yAvWQZe8cG7ISdsiET7G/0LHoTJfFW/Co+irNVahytPXvsBuKP/wDzGr/x</latexit><latexit sha1_base64="B+ZBEFD1rsp5mydZgBDIZdjAOcs=">ACgHicbVFLb9NAEF67PEp4pfTIZUQAwQHX5sJDQqrohWORCK0UR9F6M05W3YfZHRciy/+jv6u3/hnUjeMDTfmklb79Zr6Z3ZmiUtJTml5F8c6du/fu7z4YPHz0+MnT4d6zn97WTuBYWGXdacE9KmlwTJIUnlYOuS4UnhRnR+v4yTk6L635QasKp5ovjCyl4BSk2fACoMl9CRUnauHLALyAhfSNCKU9W2nrNGlGVe18Bpywj9krNcNbKEXzU6iR64Q6iNDNcW8hxuWrX0YtraYnut/TYJpvOaOZ939lwlCZpB7hNsp6MWI/j2fAyn1tRazQkFPd+kqUVTRvuSAqF7SCvPVZcnPEFTgI1XKOfNt0EW3gVlDmU1oVjCDr1X0fDtfcrXYRMzWnpt2Nr8X+xSU3lx2kjTVUTGrFpVNYKyMJ6HTCXDgWpVSBcOBneCmLJHRcUljYIQ8i2v3ybjN8n5Lsezo6/NpPY5c9Zy/YG5axD+yQfWPHbMwE+xu9jN5FSbwTv40P4myTGke9Z5/dQPz5GtpAvOI=</latexit>
slide-17
SLIDE 17

Suppression Compiler for Query Equality

17

Cache-based Compiler STE STE

𝚳 = (β„’S, β„’Q) = (β˜…, (qeq, patt)) 𝚳 = (β„’S, β„’Q) = (β˜…, nrp)

patt = ( nrp if queries are unique misc

  • therwise.
<latexit sha1_base64="RPjgyIct3h/2rqBbwTZzVSotFU=">ACgHicbVFNb9NAEF27hbYpHwGOvYxaikAIY3PhQ0Kq6IVjKxFaKY6i9WacrLof7u4YiCz/D478pt76Z1A3Tg405UkrvX0zb2Z3pqiU9JSm1G8sXnv/tb2Tm/3wcNHj/tPn73tnYCB8Iq684L7lFJgwOSpPC8csh1ofCsuDhexM9+oPSm80r3Ck+dTIUgpOQRr3fwM0uS+h4kQtfO5BQF7gVJpGhLK+7ZQFujTjqhZeQE74i4x1mqtGlnBZo5PogTuE2shwbSHP4bZVSy/WvZm6H5Kj2y7Ixmsuo7h+kSdoB7pJsRQ6O9vPXfxhjJ+P+VT6xotZoSCju/TBLKxo13JEUCteXnusuLjgUxwGarhGP2q6CbZwGJQJlNaFYwg69V9Hw7X3c12ETM1p5tdjC/F/sWFN5YdRI01VExqxbFTWCsjCYh0wkQ4FqXkgXDgZ3gpixh0XFJbWC0PI1r98lwzeJR+T7DQM4wtbYpvtsX32kmXsPTtiX9kJGzDB/kbPozdREm/Er+K3cbZMjaOV5xm7hfjTDes2vms=</latexit><latexit sha1_base64="uyiZCzrLxl+0jsE3W4sWpZAXVk=">ACgHicbVFNb9NAEF27BdrwFeixl1ELCIRwbS58SJUiuPTYSoRWiqNovRknq+6H2R0DkeV/wYHfxa1/BrFxcmhTnrTS2zfzZnZnikpJT2l6FcVb23fu3tvZ7d1/8PDR4/6Tp1+9rZ3AobDKuouCe1TS4JAkKbyoHJdKDwvLj8v4+f0XlpzRdaVDjWfGZkKQWnIE36vwGa3JdQcaIWjnsQkBc4k6YRoaxvO2WJLs24qoUXkBP+JGOd5qRJXyr0Un0wB1CbWS4tpDncNOqpRebXktzdD+kxzZdUYzXfed9A/TJO0At0m2JoeDg/z1r6vB4nTS/5NPrag1GhKez/K0orGDXckhcK2l9ceKy4u+QxHgRqu0Y+boItPA/KFErwjEnXrd0XDt/UIXIVNzmvN2FL8X2xU/l+3EhT1YRGrBqVtQKysFwHTKVDQWoRCBdOhreCmHPHBYWl9cIQs0v3ybDt8mHJDsLw/jEVth+yAvWQZe8cG7ISdsiET7G/0LHoTJfFW/Co+irNVahytPXvsBuKP/wDzGr/x</latexit><latexit sha1_base64="uyiZCzrLxl+0jsE3W4sWpZAXVk=">ACgHicbVFNb9NAEF27BdrwFeixl1ELCIRwbS58SJUiuPTYSoRWiqNovRknq+6H2R0DkeV/wYHfxa1/BrFxcmhTnrTS2zfzZnZnikpJT2l6FcVb23fu3tvZ7d1/8PDR4/6Tp1+9rZ3AobDKuouCe1TS4JAkKbyoHJdKDwvLj8v4+f0XlpzRdaVDjWfGZkKQWnIE36vwGa3JdQcaIWjnsQkBc4k6YRoaxvO2WJLs24qoUXkBP+JGOd5qRJXyr0Un0wB1CbWS4tpDncNOqpRebXktzdD+kxzZdUYzXfed9A/TJO0At0m2JoeDg/z1r6vB4nTS/5NPrag1GhKez/K0orGDXckhcK2l9ceKy4u+QxHgRqu0Y+boItPA/KFErwjEnXrd0XDt/UIXIVNzmvN2FL8X2xU/l+3EhT1YRGrBqVtQKysFwHTKVDQWoRCBdOhreCmHPHBYWl9cIQs0v3ybDt8mHJDsLw/jEVth+yAvWQZe8cG7ISdsiET7G/0LHoTJfFW/Co+irNVahytPXvsBuKP/wDzGr/x</latexit><latexit sha1_base64="B+ZBEFD1rsp5mydZgBDIZdjAOcs=">ACgHicbVFLb9NAEF67PEp4pfTIZUQAwQHX5sJDQqrohWORCK0UR9F6M05W3YfZHRciy/+jv6u3/hnUjeMDTfmklb79Zr6Z3ZmiUtJTml5F8c6du/fu7z4YPHz0+MnT4d6zn97WTuBYWGXdacE9KmlwTJIUnlYOuS4UnhRnR+v4yTk6L635QasKp5ovjCyl4BSk2fACoMl9CRUnauHLALyAhfSNCKU9W2nrNGlGVe18Bpywj9krNcNbKEXzU6iR64Q6iNDNcW8hxuWrX0YtraYnut/TYJpvOaOZ939lwlCZpB7hNsp6MWI/j2fAyn1tRazQkFPd+kqUVTRvuSAqF7SCvPVZcnPEFTgI1XKOfNt0EW3gVlDmU1oVjCDr1X0fDtfcrXYRMzWnpt2Nr8X+xSU3lx2kjTVUTGrFpVNYKyMJ6HTCXDgWpVSBcOBneCmLJHRcUljYIQ8i2v3ybjN8n5Lsezo6/NpPY5c9Zy/YG5axD+yQfWPHbMwE+xu9jN5FSbwTv40P4myTGke9Z5/dQPz5GtpAvOI=</latexit>
slide-18
SLIDE 18

Cache-based Compiler and Rebuilding

  • Cache-based Compiler
  • needs to rebuild encrypted structure from time to time
  • So base STE scheme has to have a Rebuild protocol
  • Rebuild protocol must
  • be efficient for server
  • have O(1) client storage
  • be zero-leakage
18
slide-19
SLIDE 19

Our Suppression Pipeline

[K.-Moataz-Ohrimenko18]

19

Cache-based Compiler Rebuild Compiler PBS

𝚳 = (β„’S, β„’Q,β„’A) = (β˜…, (qeq, patt), pattA)

RPBS

𝚳 = (β„’S, β„’Q,β„’A) = (β˜…, (qeq, patt), pattRb)

AZL

𝚳 = (β„’S, β„’Q) = (β˜…, srlen)

FZL

𝚳 = (β„’S, β„’Q) = (β˜…, ⟘)

patt = ( srlen if queries are unique misc

  • therwise.
<latexit sha1_base64="gGTE4g3/iKpZgrTWXsLU4SqMX+w=">ACgnicbVFNSxBEO0ZNZrN18YcvRKJCBsZpKDCSQg8eLRgKvCzrL09NbsNvbHpLsmyTLMH/Hkb8ot/8aeWQNx9UHD61f1qrqr8lJT0nyN4rX1jebG497T17/uLlq/7r7XNvKydwKy7jLnHpU0OCRJCi9Lh1znCi/yq+M2fvETnZfWnNGixLHmMyMLKTgFadK/hjrzBZScqIGvPQjIcpxJU4tQ1Ted0qJL806haWAfMsLfZKzTXNWygB8VOokeuEOojAzXBrIM7pu19GLVa2mO7pf02AyWvdFM/3We9PeSQdIBHpL0juwd7WYHN4yx0n/Tza1otJoSCju/ShNShrX3JEUCpteVnksubjiMxwFarhGP67GTbwNihTKwLxB06v+OmvFzoPmZrT3K/GWvGx2Ki4tO4lqasCI1YNioqBWShXQhMpUNBahEIF06Gt4KYc8cFhbW1Q0hXv/yQD8MPg/S72EY39gSW2yH7bJ3LGWH7IidsFM2ZCJi0X70PkrijfgTuOPy9Q4uvO8YfcQf7kFu16+Pg=</latexit><latexit sha1_base64="58vNqlQPd4PlVXyB8U2ItZSMHGg=">ACgnicbVFNb9NAEF2blpbw0UCPXEatqJAqBbs9UCSQonLhWKSmrRH0XozTlbdD7M7BiL/4ITP4tb/w1rp0g07ZNWevtm3szuTF4q6SlJbqL40cbm463tJ72nz56/2Om/fHXhbeUEjoRV1l3l3KOSBkckSeFV6ZDrXOFlfv25jV9+R+elNe0LHGi+dzIQgpOQZr2f0Od+QJKTtTApx4EZDnOpalFqOqbTmnRpXmn0DRwABnhTzLWa5qWcC3Cp1ED9whVEaGawNZBnfNWnqx7rW0QPdDemwGq95oZv86T/v7ySDpAPdJekv2h3vZ4a+b4fJs2v+TzayoNBoSins/TpOSJjV3JIXCpdVHksurvkcx4EartFP6m6GDbwJygwK68IxBJ36v6Pm2vulzkOm5rTw67FWfCg2rqg4mdTSlBWhEatGRaWALQLgZl0KEgtA+HCyfBWEAvuKCwtnYI6fqX75PR0eDIP0ahnHKVthmr9ke8tS9p4N2Rd2xkZMRCw6iN5FSbwZH8ZpfLxKjaNbzy67g/jX8NCv8Q=</latexit><latexit sha1_base64="58vNqlQPd4PlVXyB8U2ItZSMHGg=">ACgnicbVFNb9NAEF2blpbw0UCPXEatqJAqBbs9UCSQonLhWKSmrRH0XozTlbdD7M7BiL/4ITP4tb/w1rp0g07ZNWevtm3szuTF4q6SlJbqL40cbm463tJ72nz56/2Om/fHXhbeUEjoRV1l3l3KOSBkckSeFV6ZDrXOFlfv25jV9+R+elNe0LHGi+dzIQgpOQZr2f0Od+QJKTtTApx4EZDnOpalFqOqbTmnRpXmn0DRwABnhTzLWa5qWcC3Cp1ED9whVEaGawNZBnfNWnqx7rW0QPdDemwGq95oZv86T/v7ySDpAPdJekv2h3vZ4a+b4fJs2v+TzayoNBoSins/TpOSJjV3JIXCpdVHksurvkcx4EartFP6m6GDbwJygwK68IxBJ36v6Pm2vulzkOm5rTw67FWfCg2rqg4mdTSlBWhEatGRaWALQLgZl0KEgtA+HCyfBWEAvuKCwtnYI6fqX75PR0eDIP0ahnHKVthmr9ke8tS9p4N2Rd2xkZMRCw6iN5FSbwZH8ZpfLxKjaNbzy67g/jX8NCv8Q=</latexit><latexit sha1_base64="VpjY4gzIU4pyJ5pGzF19lYuVy2E=">ACgnicbVFNb9NAEF0bCiV8NJQjl1EjKiSkYLcHqNRKFVw4FonQSnEUrTfjZNX9MLvj0sjyH+Fn9dZ/w9oJEk37pJXevpk3szuTl0p6SpLbKH70eOvJ0+1nvecvXr7a6b/e/elt5QSOhFXWXeTco5IGRyRJ4UXpkOtc4Xl+bWNn1+h89KaH7QscaL53MhCk5Bmvb/QJ35AkpO1MBJDwKyHOfS1CJU9U2ntOjSvFNoGtiHjPCajHWaq1oW8KtCJ9EDdwiVkeHaQJbBXbOWXmx6LS3Q/ZYem+GqN5rZv87T/iAZJh3gPknXZMDWOJv2b7KZFZVGQ0Jx78dpUtKk5o6kUNj0spjycUln+M4UM1+kndzbCBd0GZQWFdOIagU/931Fx7v9R5yNScFn4z1oPxcYVFZ8ntTRlRWjEqlFRKSAL7UJgJh0KUstAuHAyvBXEgjsuKytHUK6+eX7ZHQwPBqm35PB6Zf1NLbZW7bH3rOUfWKn7Bs7YyMmIhbtRx+jJN6KP8RpfLhKjaO15w27g/j4L6povLU=</latexit>
slide-20
SLIDE 20

Q: How does the CBC work?

20
slide-21
SLIDE 21

Square Root ORAM

[Goldreigh-Ostrovsky92]

21

Setup time

Cache Main Memory + Dummies Cache Main Memory + Dummies ORAM.Setup if item in cache get dummy else get item

Query time

Zero-leakage Leaks qeq but query never repeated

slide-22
SLIDE 22

Reinterpreting Square Root ORAM

[K.-Moataz-Ohrimenko18]

22

Setup time

ORAM.Setup if item in cache get dummy else get item

Query time

Cache

EDX

𝚳EDX = (β„’S, β„’Q) = (β˜…, ⟘) Main Memory + Dummies

ERAM

𝚳ERAM = (β„’S, β„’Q) = (β˜…, qeq) Main Memory + Dummies

ERAM

𝚳ERAM = (β„’S, β„’Q) = (β˜…, qeq) Cache

EDX

𝚳EDX = (β„’S, β„’Q) = (β˜…, ⟘)

slide-23
SLIDE 23

Reinterpreting Square Root ORAM

  • Square root ORAM β‰ˆ
  • β€œuses a ZL encrypted dictionary…
  • …to suppress the qeq leakage of an encrypted RAM”
  • Q: Can we replace the ERAM with another encrypted structure?
  • if yes then no multiplicative polylog overhead due to simulation
23
slide-24
SLIDE 24

The Cache-Based Compiler

24

Setup time

ORAM.Setup if item in cache get dummy else get item

Query time

Cache

EDX

𝚳EDX = (β„’S, β„’Q) = (β˜…, ⟘) Main Memory + Dummies

EDS

𝚳EDS = (β„’S, β„’Q) = (β˜…, qeq) Main Memory + Dummies

EDS

𝚳EDS = (β„’S, β„’Q) = (β˜…, qeq) Cache

EDX

𝚳EDX = (β„’S, β„’Q) = (β˜…, ⟘)

slide-25
SLIDE 25

The Cache-Based Compiler

  • EDS has to satisfy certain properties
  • has to be rebuildable
  • has to be β€œextendable” β‰ˆ can store dummies
  • has to be β€œsafe” β‰ˆ handles dummies securely
  • has to have β€œsmall” non-repeating sub-pattern
25 DS DS

Ξ»-extension

β„’S( ) ≀ β„’S(DS) DS β„’Q( ,q) ≀ β„’S(DS,q) DS

slide-26
SLIDE 26

The Piggy Back Scheme (PBS)

[K.-Moataz-Ohrimenko18]

26

MM β„“1 β„“2 β„“3 β„“1 β„“2 β„“3 DX β„“1|1 β„“2|1 β„“3|1 β„“1|2

  • Data structure transformation
  • pad tuples to multiple of 𝝱 (e.g., 𝝱 = 3)
slide-27
SLIDE 27
  • PBS.Setup(1k, EMM = DX)
  • creates client state that maps labels to number of blocks
  • sends encrypted dictionary EDX to server

The Piggy Back Scheme (PBS)

27

State DX β„“1 2 β„“2 1 β„“3 1 EDX β„“1|1 β„“2|1 β„“3|1 β„“1|2

slide-28
SLIDE 28
  • Consider sequence (β„“1, β„“3, β„“2, …)
  • PBS.Get(K, state, Q, β„“1)
  • 2 := DX[β„“1]
  • Enqueue β„“1|1 and β„“1|2 on Q
  • query := Q.dequeue()
  • send EDX.Token(K, query)
  • client only gets back
  • PBS.Get(K, state, Q, β„“3)
  • …
  • client gets back

The Piggy Back Scheme (PBS)

28

EDX β„“1|1 β„“2|1 β„“3|1 β„“1|2 State DX β„“1 2 β„“2 1 β„“3 1

slide-29
SLIDE 29

The Piggy Back Scheme (PBS)

  • PBS leverages a new tradeoff
  • security vs. latency
  • hides response length (volume) but response not immediate
  • PBS has leakage profile
  • 𝚳 = (β„’S, β„’Q) = (β˜…, rqeq, β˜…)
  • where rqeq has non-repeating sub-pattern
  • ⟘ on all but the last query
  • srlen on the last query
29
slide-30
SLIDE 30

Latency Analysis of PBS

30

Thm: If queries and responses are Zipf distributed then under the inverted

query hypothesis, latency is t + Ρ·t with probability at least

1 βˆ’ exp βœ“ βˆ’ 2t βœ“ Ξ΅ Β· Ξ± Β΅ β—†2β—†

<latexit sha1_base64="FfTsSGIsqkzAdfwx8GbkizFnHvo=">ACNHicbZBNbxMxEIa9hX4QSknLsReLCKk9EO1GlWhvVXvhwKGVGlopTqNZzax6rUte7ZqtMqf4sL/4AQHDoC48hvqfByg5ZUsPX5nRva8udMqUJp+S1aePF1dW941ni+WLrZXN752OwlZfYlVZbf5VDQK0MdkmRxivnEcpc42V+czqrX96iD8qaC5o47JcwMqpQEihag+aHjL/lAu+cyNVotBcvHVqguAWPLihtDRdyaImLwoOsBWg3hmktymo679y/7vAFDJqtJ3OxR9DtoQW+ps0PwihlZWJRqSGkLoZamjfg2elNQ4bYgqoAN5AyPsRTRQYujX862n/E10hrywPh5DfO7+PVFDGcKkzGNnCTQOD2sz83+1XkXFYb9WxlWERi4eKirNyfJZhHyoPErSkwgvYp/5XIMRuKQTdiCNnDlR9Dt9M+amfnB63jk2UaG2yXvWZ7LGPv2DF7z85Yl0n2iX1lP9jP5HPyPfmV/F60riTLmVfsHyV/7gGHjapk</latexit><latexit sha1_base64="FfTsSGIsqkzAdfwx8GbkizFnHvo=">ACNHicbZBNbxMxEIa9hX4QSknLsReLCKk9EO1GlWhvVXvhwKGVGlopTqNZzax6rUte7ZqtMqf4sL/4AQHDoC48hvqfByg5ZUsPX5nRva8udMqUJp+S1aePF1dW941ni+WLrZXN752OwlZfYlVZbf5VDQK0MdkmRxivnEcpc42V+czqrX96iD8qaC5o47JcwMqpQEihag+aHjL/lAu+cyNVotBcvHVqguAWPLihtDRdyaImLwoOsBWg3hmktymo679y/7vAFDJqtJ3OxR9DtoQW+ps0PwihlZWJRqSGkLoZamjfg2elNQ4bYgqoAN5AyPsRTRQYujX862n/E10hrywPh5DfO7+PVFDGcKkzGNnCTQOD2sz83+1XkXFYb9WxlWERi4eKirNyfJZhHyoPErSkwgvYp/5XIMRuKQTdiCNnDlR9Dt9M+amfnB63jk2UaG2yXvWZ7LGPv2DF7z85Yl0n2iX1lP9jP5HPyPfmV/F60riTLmVfsHyV/7gGHjapk</latexit><latexit sha1_base64="FfTsSGIsqkzAdfwx8GbkizFnHvo=">ACNHicbZBNbxMxEIa9hX4QSknLsReLCKk9EO1GlWhvVXvhwKGVGlopTqNZzax6rUte7ZqtMqf4sL/4AQHDoC48hvqfByg5ZUsPX5nRva8udMqUJp+S1aePF1dW941ni+WLrZXN752OwlZfYlVZbf5VDQK0MdkmRxivnEcpc42V+czqrX96iD8qaC5o47JcwMqpQEihag+aHjL/lAu+cyNVotBcvHVqguAWPLihtDRdyaImLwoOsBWg3hmktymo679y/7vAFDJqtJ3OxR9DtoQW+ps0PwihlZWJRqSGkLoZamjfg2elNQ4bYgqoAN5AyPsRTRQYujX862n/E10hrywPh5DfO7+PVFDGcKkzGNnCTQOD2sz83+1XkXFYb9WxlWERi4eKirNyfJZhHyoPErSkwgvYp/5XIMRuKQTdiCNnDlR9Dt9M+amfnB63jk2UaG2yXvWZ7LGPv2DF7z85Yl0n2iX1lP9jP5HPyPfmV/F60riTLmVfsHyV/7gGHjapk</latexit><latexit sha1_base64="FfTsSGIsqkzAdfwx8GbkizFnHvo=">ACNHicbZBNbxMxEIa9hX4QSknLsReLCKk9EO1GlWhvVXvhwKGVGlopTqNZzax6rUte7ZqtMqf4sL/4AQHDoC48hvqfByg5ZUsPX5nRva8udMqUJp+S1aePF1dW941ni+WLrZXN752OwlZfYlVZbf5VDQK0MdkmRxivnEcpc42V+czqrX96iD8qaC5o47JcwMqpQEihag+aHjL/lAu+cyNVotBcvHVqguAWPLihtDRdyaImLwoOsBWg3hmktymo679y/7vAFDJqtJ3OxR9DtoQW+ps0PwihlZWJRqSGkLoZamjfg2elNQ4bYgqoAN5AyPsRTRQYujX862n/E10hrywPh5DfO7+PVFDGcKkzGNnCTQOD2sz83+1XkXFYb9WxlWERi4eKirNyfJZhHyoPErSkwgvYp/5XIMRuKQTdiCNnDlR9Dt9M+amfnB63jk2UaG2yXvWZ7LGPv2DF7z85Yl0n2iX1lP9jP5HPyPfmV/F60riTLmVfsHyV/7gGHjapk</latexit>
slide-31
SLIDE 31

Our Suppression Pipeline

[K.-Moataz-Ohrimenko18]

31

Cache-based Compiler Rebuild Compiler PBS

𝚳 = (β„’S, β„’Q,β„’A) = (β˜…, (qeq, patt), pattA)

RPBS

𝚳 = (β„’S, β„’Q,β„’A) = (β˜…, (qeq, patt), pattRb)

AZL

𝚳 = (β„’S, β„’Q) = (β˜…, srlen)

FZL

𝚳 = (β„’S, β„’Q) = (β˜…, ⟘)

patt = ( srlen if queries are unique misc

  • therwise.
<latexit sha1_base64="gGTE4g3/iKpZgrTWXsLU4SqMX+w=">ACgnicbVFNSxBEO0ZNZrN18YcvRKJCBsZpKDCSQg8eLRgKvCzrL09NbsNvbHpLsmyTLMH/Hkb8ot/8aeWQNx9UHD61f1qrqr8lJT0nyN4rX1jebG497T17/uLlq/7r7XNvKydwKy7jLnHpU0OCRJCi9Lh1znCi/yq+M2fvETnZfWnNGixLHmMyMLKTgFadK/hjrzBZScqIGvPQjIcpxJU4tQ1Ted0qJL806haWAfMsLfZKzTXNWygB8VOokeuEOojAzXBrIM7pu19GLVa2mO7pf02AyWvdFM/3We9PeSQdIBHpL0juwd7WYHN4yx0n/Tza1otJoSCju/ShNShrX3JEUCpteVnksubjiMxwFarhGP67GTbwNihTKwLxB06v+OmvFzoPmZrT3K/GWvGx2Ki4tO4lqasCI1YNioqBWShXQhMpUNBahEIF06Gt4KYc8cFhbW1Q0hXv/yQD8MPg/S72EY39gSW2yH7bJ3LGWH7IidsFM2ZCJi0X70PkrijfgTuOPy9Q4uvO8YfcQf7kFu16+Pg=</latexit><latexit sha1_base64="58vNqlQPd4PlVXyB8U2ItZSMHGg=">ACgnicbVFNb9NAEF2blpbw0UCPXEatqJAqBbs9UCSQonLhWKSmrRH0XozTlbdD7M7BiL/4ITP4tb/w1rp0g07ZNWevtm3szuTF4q6SlJbqL40cbm463tJ72nz56/2Om/fHXhbeUEjoRV1l3l3KOSBkckSeFV6ZDrXOFlfv25jV9+R+elNe0LHGi+dzIQgpOQZr2f0Od+QJKTtTApx4EZDnOpalFqOqbTmnRpXmn0DRwABnhTzLWa5qWcC3Cp1ED9whVEaGawNZBnfNWnqx7rW0QPdDemwGq95oZv86T/v7ySDpAPdJekv2h3vZ4a+b4fJs2v+TzayoNBoSins/TpOSJjV3JIXCpdVHksurvkcx4EartFP6m6GDbwJygwK68IxBJ36v6Pm2vulzkOm5rTw67FWfCg2rqg4mdTSlBWhEatGRaWALQLgZl0KEgtA+HCyfBWEAvuKCwtnYI6fqX75PR0eDIP0ahnHKVthmr9ke8tS9p4N2Rd2xkZMRCw6iN5FSbwZH8ZpfLxKjaNbzy67g/jX8NCv8Q=</latexit><latexit sha1_base64="58vNqlQPd4PlVXyB8U2ItZSMHGg=">ACgnicbVFNb9NAEF2blpbw0UCPXEatqJAqBbs9UCSQonLhWKSmrRH0XozTlbdD7M7BiL/4ITP4tb/w1rp0g07ZNWevtm3szuTF4q6SlJbqL40cbm463tJ72nz56/2Om/fHXhbeUEjoRV1l3l3KOSBkckSeFV6ZDrXOFlfv25jV9+R+elNe0LHGi+dzIQgpOQZr2f0Od+QJKTtTApx4EZDnOpalFqOqbTmnRpXmn0DRwABnhTzLWa5qWcC3Cp1ED9whVEaGawNZBnfNWnqx7rW0QPdDemwGq95oZv86T/v7ySDpAPdJekv2h3vZ4a+b4fJs2v+TzayoNBoSins/TpOSJjV3JIXCpdVHksurvkcx4EartFP6m6GDbwJygwK68IxBJ36v6Pm2vulzkOm5rTw67FWfCg2rqg4mdTSlBWhEatGRaWALQLgZl0KEgtA+HCyfBWEAvuKCwtnYI6fqX75PR0eDIP0ahnHKVthmr9ke8tS9p4N2Rd2xkZMRCw6iN5FSbwZH8ZpfLxKjaNbzy67g/jX8NCv8Q=</latexit><latexit sha1_base64="VpjY4gzIU4pyJ5pGzF19lYuVy2E=">ACgnicbVFNb9NAEF0bCiV8NJQjl1EjKiSkYLcHqNRKFVw4FonQSnEUrTfjZNX9MLvj0sjyH+Fn9dZ/w9oJEk37pJXevpk3szuTl0p6SpLbKH70eOvJ0+1nvecvXr7a6b/e/elt5QSOhFXWXeTco5IGRyRJ4UXpkOtc4Xl+bWNn1+h89KaH7QscaL53MhCk5Bmvb/QJ35AkpO1MBJDwKyHOfS1CJU9U2ntOjSvFNoGtiHjPCajHWaq1oW8KtCJ9EDdwiVkeHaQJbBXbOWXmx6LS3Q/ZYem+GqN5rZv87T/iAZJh3gPknXZMDWOJv2b7KZFZVGQ0Jx78dpUtKk5o6kUNj0spjycUln+M4UM1+kndzbCBd0GZQWFdOIagU/931Fx7v9R5yNScFn4z1oPxcYVFZ8ntTRlRWjEqlFRKSAL7UJgJh0KUstAuHAyvBXEgjsuKytHUK6+eX7ZHQwPBqm35PB6Zf1NLbZW7bH3rOUfWKn7Bs7YyMmIhbtRx+jJN6KP8RpfLhKjaO15w27g/j4L6povLU=</latexit>
slide-32
SLIDE 32

Q: Can we suppress other patterns besides the query equality?

32
slide-33
SLIDE 33

The Volume Pattern

  • Volume pattern is the size of a response
  • very common leakage pattern (even ORAM leaks it)
  • hard to suppress without blowup in storage
  • [Kellaris-Kollios-Nissim-O’Neill16,…]
  • series of attacks vs. volume pattern of range queries
33
slide-34
SLIDE 34

Suppressing Volume with Naive Padding

34

MM β„“1 β„“2 β„“3 MM β„“1 β„“2 β„“3 EMM.Setup EMM β„“1 β„“2 β„“3

  • Query complexity
  • Storage complexity

O( max

`∈LMM #MM[`])

O(#LMM Β· max

`∈LMM #MM[`])

Can we do better?

slide-35
SLIDE 35

Computationally-Secure Leakage

35

Unbounded Adversary Bounded Adversary vs.

slide-36
SLIDE 36

Pseudo-Random Transform (PRT)

36
  • Let F:{0,1}kx{0,1}*⟢{0,1}log Β΅ be a PRF
  • Let Ξ» β‰₯ 0 be a parameter (min. response length)
  • For each label β„“ in MM
  • compute len(β„“) = Ξ» + FK(β„“ | #MM[β„“])
  • if len(β„“) < #MM[β„“] truncate ℓ’s tuple to length len(β„“)
  • if len(β„“) > #MM[β„“] pad ℓ’s tuple to length len(β„“)
slide-37
SLIDE 37

Pseudo-Random Transform (PRT)

37

MM β„“1 β„“2 β„“3 MM β„“1 β„“2 β„“3 Ξ»+FK(β„“1|4) = 1+ 0 = 1 Ξ»+FK(β„“2|2) = 1+ 2 = 3 Ξ»+FK(β„“3|3) = 1+ 1 = 1

  • Example with Ξ» = 1 and Β΅ = 3

EMM β„“1 β„“2 β„“3 EMM.Setup

slide-38
SLIDE 38

Pseudo-Random Transform (PRT)

  • PRT is a β€œlossy” transformation
  • PRT exploits a new tradeoff
  • lossiness vs. security
  • Volume hiding relies on pseudo-randomness of F
  • Need to analyze
  • Number of truncations
  • Storage overhead
38
slide-39
SLIDE 39

Zipf-Distributed Multi-Maps

  • A MM is Zipf-distributed if the rth tuple has length
39

1 r Β· H#LMM,1 Β· X

`∈LMM

#MM[`]

rth Response length Number of labels

0.05 0.1 0.15 0.2 200 400 600 800 1000 Frequency Keywords rank SU dataset M-MU dataset L-MU dataset

Enron dataset

slide-40
SLIDE 40

Pseudo-Random Transform (PRT)

40

Thm: Let 1/2 < 𝝱 < 1. If MM is Zipf-distributed, then MM’ has size at most

with probability at least . Furthermore, it incurs at most truncations with probability at least .

↡ Β· #L Β· max

`∈L #MM[`]

<latexit sha1_base64="vLBhXoVHV/CK8ghePFeLWlAlgY=">ACNXicbVBNS8NAFNz4WetX1aOXxSJ4KokI6q3oxYOFCtYWmlBetpt26WYTdjdiCflVXvwd3nrxoOLVv+C2jaitAwvDzDz2vfFjzpS27ZG1sLi0vLJaWCub2xubZd2du9UlEhCGyTikWz5oChngjY05y2Ykh9Dlt+oPLsd+8p1KxSNzqYUy9EHqCBYyANlKnVHOBx31wSTfS2C27Iei+76fXGc6lEB46qUs5xy4T+MfPvtMqSGu1rD2OeJ1S2a7YE+B54uSkjHLUO6VntxuRJKRCEw5KtR071l4KUjPCaVZ0E0VjIAPo0bahAkKqvHRydoYPjdLFQSTNExpP1N8TKYRKDUPfJCeLznpj8T+vnejgzEuZiBNBZl+FCQc6wiPO8RdJinRfGgIEMnMrpj0QLRpumiKcGZPXmeNI4r5xXn5qRcvcjbKB9dICOkINOURVdoTpqIe0Qi9ojfryXqx3q2PaXTBymf20B9Yn1/3+axQ</latexit><latexit sha1_base64="vLBhXoVHV/CK8ghePFeLWlAlgY=">ACNXicbVBNS8NAFNz4WetX1aOXxSJ4KokI6q3oxYOFCtYWmlBetpt26WYTdjdiCflVXvwd3nrxoOLVv+C2jaitAwvDzDz2vfFjzpS27ZG1sLi0vLJaWCub2xubZd2du9UlEhCGyTikWz5oChngjY05y2Ykh9Dlt+oPLsd+8p1KxSNzqYUy9EHqCBYyANlKnVHOBx31wSTfS2C27Iei+76fXGc6lEB46qUs5xy4T+MfPvtMqSGu1rD2OeJ1S2a7YE+B54uSkjHLUO6VntxuRJKRCEw5KtR071l4KUjPCaVZ0E0VjIAPo0bahAkKqvHRydoYPjdLFQSTNExpP1N8TKYRKDUPfJCeLznpj8T+vnejgzEuZiBNBZl+FCQc6wiPO8RdJinRfGgIEMnMrpj0QLRpumiKcGZPXmeNI4r5xXn5qRcvcjbKB9dICOkINOURVdoTpqIe0Qi9ojfryXqx3q2PaXTBymf20B9Yn1/3+axQ</latexit><latexit sha1_base64="vLBhXoVHV/CK8ghePFeLWlAlgY=">ACNXicbVBNS8NAFNz4WetX1aOXxSJ4KokI6q3oxYOFCtYWmlBetpt26WYTdjdiCflVXvwd3nrxoOLVv+C2jaitAwvDzDz2vfFjzpS27ZG1sLi0vLJaWCub2xubZd2du9UlEhCGyTikWz5oChngjY05y2Ykh9Dlt+oPLsd+8p1KxSNzqYUy9EHqCBYyANlKnVHOBx31wSTfS2C27Iei+76fXGc6lEB46qUs5xy4T+MfPvtMqSGu1rD2OeJ1S2a7YE+B54uSkjHLUO6VntxuRJKRCEw5KtR071l4KUjPCaVZ0E0VjIAPo0bahAkKqvHRydoYPjdLFQSTNExpP1N8TKYRKDUPfJCeLznpj8T+vnejgzEuZiBNBZl+FCQc6wiPO8RdJinRfGgIEMnMrpj0QLRpumiKcGZPXmeNI4r5xXn5qRcvcjbKB9dICOkINOURVdoTpqIe0Qi9ojfryXqx3q2PaXTBymf20B9Yn1/3+axQ</latexit><latexit sha1_base64="vLBhXoVHV/CK8ghePFeLWlAlgY=">ACNXicbVBNS8NAFNz4WetX1aOXxSJ4KokI6q3oxYOFCtYWmlBetpt26WYTdjdiCflVXvwd3nrxoOLVv+C2jaitAwvDzDz2vfFjzpS27ZG1sLi0vLJaWCub2xubZd2du9UlEhCGyTikWz5oChngjY05y2Ykh9Dlt+oPLsd+8p1KxSNzqYUy9EHqCBYyANlKnVHOBx31wSTfS2C27Iei+76fXGc6lEB46qUs5xy4T+MfPvtMqSGu1rD2OeJ1S2a7YE+B54uSkjHLUO6VntxuRJKRCEw5KtR071l4KUjPCaVZ0E0VjIAPo0bahAkKqvHRydoYPjdLFQSTNExpP1N8TKYRKDUPfJCeLznpj8T+vnejgzEuZiBNBZl+FCQc6wiPO8RdJinRfGgIEMnMrpj0QLRpumiKcGZPXmeNI4r5xXn5qRcvcjbKB9dICOkINOURVdoTpqIe0Qi9ojfryXqx3q2PaXTBymf20B9Yn1/3+axQ</latexit>

1 βˆ’ exp βœ“ βˆ’ #L Β· (2Ξ± βˆ’ 1)2/8 β—†

<latexit sha1_base64="KhUV5kmhcdYVPK2FwAarzbqAl2g=">ACInicbVC7TsMwFHXKq5RXgZHFIkJqB0pSIVGYKlgYGIpEaKUmVI7rtladOLIdRBX1X1j4FRYGXhMSH4PTZoCWI1k6Pude3XuPHzEqlWV9GbmFxaXlfxqYW19Y3OruL1zK3ksMHEwZ1y0fCQJoyFxFWMtCJBUOAz0vSHF6nfvCdCUh7eqFEvAD1Q9qjGCktdYpnNjyELnmIXJ/2+6X0Y7oBUgPfT67GLu5yVaq6iEUDpD27fFc9qsFJblTNK2KNQGcJ3ZGTJCh0Sl+uF2O4CECjMkZdu2IuUlSCiKGRkX3FiSCOEh6pO2piEKiPSyY1jeKCVLuxoV+o4ET93ZGgQMpR4OvKdH056Xif147Vr2al9AwihUJ8XRQL2ZQcZgGBrtUEKzYSBOEBdW7QjxAmGlYy3oEOzZk+eJU62cVuzrY7N+nqWRB3tgH5SADU5AHVyCBnABo/gGbyCN+PJeDHejc9pac7IenbBHxjfP8pPoN8=</latexit><latexit sha1_base64="KhUV5kmhcdYVPK2FwAarzbqAl2g=">ACInicbVC7TsMwFHXKq5RXgZHFIkJqB0pSIVGYKlgYGIpEaKUmVI7rtladOLIdRBX1X1j4FRYGXhMSH4PTZoCWI1k6Pude3XuPHzEqlWV9GbmFxaXlfxqYW19Y3OruL1zK3ksMHEwZ1y0fCQJoyFxFWMtCJBUOAz0vSHF6nfvCdCUh7eqFEvAD1Q9qjGCktdYpnNjyELnmIXJ/2+6X0Y7oBUgPfT67GLu5yVaq6iEUDpD27fFc9qsFJblTNK2KNQGcJ3ZGTJCh0Sl+uF2O4CECjMkZdu2IuUlSCiKGRkX3FiSCOEh6pO2piEKiPSyY1jeKCVLuxoV+o4ET93ZGgQMpR4OvKdH056Xif147Vr2al9AwihUJ8XRQL2ZQcZgGBrtUEKzYSBOEBdW7QjxAmGlYy3oEOzZk+eJU62cVuzrY7N+nqWRB3tgH5SADU5AHVyCBnABo/gGbyCN+PJeDHejc9pac7IenbBHxjfP8pPoN8=</latexit><latexit sha1_base64="KhUV5kmhcdYVPK2FwAarzbqAl2g=">ACInicbVC7TsMwFHXKq5RXgZHFIkJqB0pSIVGYKlgYGIpEaKUmVI7rtladOLIdRBX1X1j4FRYGXhMSH4PTZoCWI1k6Pude3XuPHzEqlWV9GbmFxaXlfxqYW19Y3OruL1zK3ksMHEwZ1y0fCQJoyFxFWMtCJBUOAz0vSHF6nfvCdCUh7eqFEvAD1Q9qjGCktdYpnNjyELnmIXJ/2+6X0Y7oBUgPfT67GLu5yVaq6iEUDpD27fFc9qsFJblTNK2KNQGcJ3ZGTJCh0Sl+uF2O4CECjMkZdu2IuUlSCiKGRkX3FiSCOEh6pO2piEKiPSyY1jeKCVLuxoV+o4ET93ZGgQMpR4OvKdH056Xif147Vr2al9AwihUJ8XRQL2ZQcZgGBrtUEKzYSBOEBdW7QjxAmGlYy3oEOzZk+eJU62cVuzrY7N+nqWRB3tgH5SADU5AHVyCBnABo/gGbyCN+PJeDHejc9pac7IenbBHxjfP8pPoN8=</latexit><latexit sha1_base64="KhUV5kmhcdYVPK2FwAarzbqAl2g=">ACInicbVC7TsMwFHXKq5RXgZHFIkJqB0pSIVGYKlgYGIpEaKUmVI7rtladOLIdRBX1X1j4FRYGXhMSH4PTZoCWI1k6Pude3XuPHzEqlWV9GbmFxaXlfxqYW19Y3OruL1zK3ksMHEwZ1y0fCQJoyFxFWMtCJBUOAz0vSHF6nfvCdCUh7eqFEvAD1Q9qjGCktdYpnNjyELnmIXJ/2+6X0Y7oBUgPfT67GLu5yVaq6iEUDpD27fFc9qsFJblTNK2KNQGcJ3ZGTJCh0Sl+uF2O4CECjMkZdu2IuUlSCiKGRkX3FiSCOEh6pO2piEKiPSyY1jeKCVLuxoV+o4ET93ZGgQMpR4OvKdH056Xif147Vr2al9AwihUJ8XRQL2ZQcZgGBrtUEKzYSBOEBdW7QjxAmGlYy3oEOzZk+eJU62cVuzrY7N+nqWRB3tgH5SADU5AHVyCBnABo/gGbyCN+PJeDHejc9pac7IenbBHxjfP8pPoN8=</latexit>

1 log(#L) Β· #L

<latexit sha1_base64="rsB98eGlCq0cXpnWoMx9ArcfnrE=">ACF3icbVBNS8NAEN3Ur1q/oh69LBahXmoignorevHgoYKxhSaUzWbTLt1kw+5GKCE/w4t/xYsHFa9689+4aXOorQ8GHu/NMDPTxiVyrJ+jMrS8srqWnW9trG5tb1j7u49SJ4KTBzMGRdH0nCaEwcRUj3UQFPmMdPzRdeF3HomQlMf3apwQL0KDmIYUI6WlvnihgLhzM4zl/FBw627EVJD389u8+McujgCs6KfbNuNa0J4CKxS1IHJdp989sNOE4jEivMkJQ920qUlyGhKGYkr7mpJAnCIzQgPU1jFBHpZPHcniklQCGXOiKFZyosxMZiqQcR7uLC6U814h/uf1UhVeBmNk1SRGE8XhSmDisMiJRhQbBiY0QFlTfCvEQ6aSUzrKmQ7DnX14kzmnzsmnfndVbV2UaVXADkED2OActMANaAMHYPAEXsAbeDejVfjw/ictlaMcmYf/IHx9QuoBZ+9</latexit><latexit sha1_base64="rsB98eGlCq0cXpnWoMx9ArcfnrE=">ACF3icbVBNS8NAEN3Ur1q/oh69LBahXmoignorevHgoYKxhSaUzWbTLt1kw+5GKCE/w4t/xYsHFa9689+4aXOorQ8GHu/NMDPTxiVyrJ+jMrS8srqWnW9trG5tb1j7u49SJ4KTBzMGRdH0nCaEwcRUj3UQFPmMdPzRdeF3HomQlMf3apwQL0KDmIYUI6WlvnihgLhzM4zl/FBw627EVJD389u8+McujgCs6KfbNuNa0J4CKxS1IHJdp989sNOE4jEivMkJQ920qUlyGhKGYkr7mpJAnCIzQgPU1jFBHpZPHcniklQCGXOiKFZyosxMZiqQcR7uLC6U814h/uf1UhVeBmNk1SRGE8XhSmDisMiJRhQbBiY0QFlTfCvEQ6aSUzrKmQ7DnX14kzmnzsmnfndVbV2UaVXADkED2OActMANaAMHYPAEXsAbeDejVfjw/ictlaMcmYf/IHx9QuoBZ+9</latexit><latexit sha1_base64="rsB98eGlCq0cXpnWoMx9ArcfnrE=">ACF3icbVBNS8NAEN3Ur1q/oh69LBahXmoignorevHgoYKxhSaUzWbTLt1kw+5GKCE/w4t/xYsHFa9689+4aXOorQ8GHu/NMDPTxiVyrJ+jMrS8srqWnW9trG5tb1j7u49SJ4KTBzMGRdH0nCaEwcRUj3UQFPmMdPzRdeF3HomQlMf3apwQL0KDmIYUI6WlvnihgLhzM4zl/FBw627EVJD389u8+McujgCs6KfbNuNa0J4CKxS1IHJdp989sNOE4jEivMkJQ920qUlyGhKGYkr7mpJAnCIzQgPU1jFBHpZPHcniklQCGXOiKFZyosxMZiqQcR7uLC6U814h/uf1UhVeBmNk1SRGE8XhSmDisMiJRhQbBiY0QFlTfCvEQ6aSUzrKmQ7DnX14kzmnzsmnfndVbV2UaVXADkED2OActMANaAMHYPAEXsAbeDejVfjw/ictlaMcmYf/IHx9QuoBZ+9</latexit><latexit sha1_base64="rsB98eGlCq0cXpnWoMx9ArcfnrE=">ACF3icbVBNS8NAEN3Ur1q/oh69LBahXmoignorevHgoYKxhSaUzWbTLt1kw+5GKCE/w4t/xYsHFa9689+4aXOorQ8GHu/NMDPTxiVyrJ+jMrS8srqWnW9trG5tb1j7u49SJ4KTBzMGRdH0nCaEwcRUj3UQFPmMdPzRdeF3HomQlMf3apwQL0KDmIYUI6WlvnihgLhzM4zl/FBw627EVJD389u8+McujgCs6KfbNuNa0J4CKxS1IHJdp989sNOE4jEivMkJQ920qUlyGhKGYkr7mpJAnCIzQgPU1jFBHpZPHcniklQCGXOiKFZyosxMZiqQcR7uLC6U814h/uf1UhVeBmNk1SRGE8XhSmDisMiJRhQbBiY0QFlTfCvEQ6aSUzrKmQ7DnX14kzmnzsmnfndVbV2UaVXADkED2OActMANaAMHYPAEXsAbeDejVfjw/ictlaMcmYf/IHx9QuoBZ+9</latexit>

1 βˆ’ exp βœ“ βˆ’ 2 Β· #L Β· log2(#L) β—†

<latexit sha1_base64="UybYZ3OhzrMhHo0Jqr5xs6TW5W4=">ACKnicbVDNTsJAGNziH+Jf1aOXjcQEDpCWmKg3ghcPHjARIaFItstSNmy7ze7WSBrex4uv4kEPSrz6IG5LDwhOslk5pvs940bMiqVZc2M3Nr6xuZWfruws7u3f2AeHj1IHglMWpgzLjoukoTRgLQUVYx0QkGQ7zLSdsfXid9+IkJSHtyrSUh6PvICOqQYKS31zYNK9Ahz6HjUs8rVWoOHnDlFB0fqZHrxrfTVIAO495jrbRolGaKfNolW1UsBVYmekCDI0+a7M+A48kmgMENSdm0rVL0YCUxI9OCE0kSIjxGHulqGiCfyF6c3jqFZ1oZwCEX+gUKpupiIka+lBPf1ZPJpnLZS8T/vG6khpe9mAZhpEiA5x8NIwYVh0lxcEAFwYpNEFYUL0rxCMkEFa63oIuwV4+eZW0atWrqn13Xqw3sjby4AScghKwQWogxvQBC2AwQt4A5/gy3g1PoyZ8T0fzRlZ5hj8gfHzC9GLpdk=</latexit><latexit sha1_base64="UybYZ3OhzrMhHo0Jqr5xs6TW5W4=">ACKnicbVDNTsJAGNziH+Jf1aOXjcQEDpCWmKg3ghcPHjARIaFItstSNmy7ze7WSBrex4uv4kEPSrz6IG5LDwhOslk5pvs940bMiqVZc2M3Nr6xuZWfruws7u3f2AeHj1IHglMWpgzLjoukoTRgLQUVYx0QkGQ7zLSdsfXid9+IkJSHtyrSUh6PvICOqQYKS31zYNK9Ahz6HjUs8rVWoOHnDlFB0fqZHrxrfTVIAO495jrbRolGaKfNolW1UsBVYmekCDI0+a7M+A48kmgMENSdm0rVL0YCUxI9OCE0kSIjxGHulqGiCfyF6c3jqFZ1oZwCEX+gUKpupiIka+lBPf1ZPJpnLZS8T/vG6khpe9mAZhpEiA5x8NIwYVh0lxcEAFwYpNEFYUL0rxCMkEFa63oIuwV4+eZW0atWrqn13Xqw3sjby4AScghKwQWogxvQBC2AwQt4A5/gy3g1PoyZ8T0fzRlZ5hj8gfHzC9GLpdk=</latexit><latexit sha1_base64="UybYZ3OhzrMhHo0Jqr5xs6TW5W4=">ACKnicbVDNTsJAGNziH+Jf1aOXjcQEDpCWmKg3ghcPHjARIaFItstSNmy7ze7WSBrex4uv4kEPSrz6IG5LDwhOslk5pvs940bMiqVZc2M3Nr6xuZWfruws7u3f2AeHj1IHglMWpgzLjoukoTRgLQUVYx0QkGQ7zLSdsfXid9+IkJSHtyrSUh6PvICOqQYKS31zYNK9Ahz6HjUs8rVWoOHnDlFB0fqZHrxrfTVIAO495jrbRolGaKfNolW1UsBVYmekCDI0+a7M+A48kmgMENSdm0rVL0YCUxI9OCE0kSIjxGHulqGiCfyF6c3jqFZ1oZwCEX+gUKpupiIka+lBPf1ZPJpnLZS8T/vG6khpe9mAZhpEiA5x8NIwYVh0lxcEAFwYpNEFYUL0rxCMkEFa63oIuwV4+eZW0atWrqn13Xqw3sjby4AScghKwQWogxvQBC2AwQt4A5/gy3g1PoyZ8T0fzRlZ5hj8gfHzC9GLpdk=</latexit><latexit sha1_base64="UybYZ3OhzrMhHo0Jqr5xs6TW5W4=">ACKnicbVDNTsJAGNziH+Jf1aOXjcQEDpCWmKg3ghcPHjARIaFItstSNmy7ze7WSBrex4uv4kEPSrz6IG5LDwhOslk5pvs940bMiqVZc2M3Nr6xuZWfruws7u3f2AeHj1IHglMWpgzLjoukoTRgLQUVYx0QkGQ7zLSdsfXid9+IkJSHtyrSUh6PvICOqQYKS31zYNK9Ahz6HjUs8rVWoOHnDlFB0fqZHrxrfTVIAO495jrbRolGaKfNolW1UsBVYmekCDI0+a7M+A48kmgMENSdm0rVL0YCUxI9OCE0kSIjxGHulqGiCfyF6c3jqFZ1oZwCEX+gUKpupiIka+lBPf1ZPJpnLZS8T/vG6khpe9mAZhpEiA5x8NIwYVh0lxcEAFwYpNEFYUL0rxCMkEFa63oIuwV4+eZW0atWrqn13Xqw3sjby4AScghKwQWogxvQBC2AwQt4A5/gy3g1PoyZ8T0fzRlZ5hj8gfHzC9GLpdk=</latexit>
slide-41
SLIDE 41

Pseudo-Random Transform (PRT)

  • PRT has many advantages
  • easy to use and implement 😁
  • doesn’t impact query and storage complexity too much 😁
  • But it is is lossy 😟
  • for keyword search one can rank results
  • so only low-ranked results are lost
41
slide-42
SLIDE 42

Q: Can we design a non-lossy transformation?

42
slide-43
SLIDE 43

Densest Subgraph Transform

[K.-Moataz19]

  • Data structure transformation
  • hides volume 😁
  • query complexity β‰ˆ query complexity of naive padding ☹
  • storage complexity ≀ storage complexity of naive padding 😁
  • non-lossy 😁
  • How is this possible?
  • New EMM design framework
  • Computational assumptions from average-case complexity
43
slide-44
SLIDE 44

Densest Subgraph Transform

[K.-Moataz19]

  • For each label pick Β΅=maxβ„“#MM[β„“] bins at random
  • store values in bins
  • if #MM[β„“] < Β΅ don’t store anything in remaining bins
  • Pad all bins

MM β„“1 v1 β„“2 v3 β„“3 v2 v2 v4 v4 Client state v1 v3 v4 β„“1 B1 B3 B4 β„“1 v3 β„“2 B2 B3 B4 v2 v4 β„“3 B1 B2 B3 β„“2 β„“3

B1 B2 B3 B4

Size of client state β‰ˆ size of MM

slide-45
SLIDE 45

Densest Subgraph Transform

[K.-Moataz19]

45

Client state β„“1 rand1 β„“2 rand2 β„“3 rand3

  • Compressing the state
  • instead of choosing edges/bins uniformly at random
  • use a PRF and store key/rand value in state

Client state β„“1 B1 B3 B4 β„“2 B2 B3 B4 β„“3 B1 B2 B3

vs.

O(#L Β· max

`∈L #MM[`])

<latexit sha1_base64="5ednwCn8nVnJcDhKfBDYlLR0jE=">ACKHicbVDLSsNAFJ34rPVdelmsAh1UxIR1F3RjQuLFawtJKFMpN26GQSZiZiCfkdN/6KGwWVbv0SJ2lAb0wcOac7n3Hi9iVCrTnBgLi0vLK6ultfL6xubWdmVn916GscCkjUMWiq6HJGUk7aipFuJAgKPEY63ugy0zsPREga8js1jogboAGnPsVIapXadzUnKoTIDX0vOQ6dXA/VPr72EscwphD+Y+WwsIp/aTZTO3M4B71KlWzbuYF54FVgCoqtWrvDn9EMcB4QozJKVtmZFyEyQUxYykZSeWJEJ4hAbE1pCjgEg3yS9N4aFm+tAPhX5cwZz93ZGgQMpx4GlnvumslpH/aXas/DM3oTyKFeF4OsiPGVQhzGKDfSoIVmysAcKC6l0hHiKBsNLhlnUI1uzJ86B9XD+vW7cn1cZFkUYJ7IMDUAMWOAUNcAVaoA0weAIv4B18GM/Gq/FpTKbWBaPo2QN/yvj6BiRdp2Y=</latexit><latexit sha1_base64="5ednwCn8nVnJcDhKfBDYlLR0jE=">ACKHicbVDLSsNAFJ34rPVdelmsAh1UxIR1F3RjQuLFawtJKFMpN26GQSZiZiCfkdN/6KGwWVbv0SJ2lAb0wcOac7n3Hi9iVCrTnBgLi0vLK6ultfL6xubWdmVn916GscCkjUMWiq6HJGUk7aipFuJAgKPEY63ugy0zsPREga8js1jogboAGnPsVIapXadzUnKoTIDX0vOQ6dXA/VPr72EscwphD+Y+WwsIp/aTZTO3M4B71KlWzbuYF54FVgCoqtWrvDn9EMcB4QozJKVtmZFyEyQUxYykZSeWJEJ4hAbE1pCjgEg3yS9N4aFm+tAPhX5cwZz93ZGgQMpx4GlnvumslpH/aXas/DM3oTyKFeF4OsiPGVQhzGKDfSoIVmysAcKC6l0hHiKBsNLhlnUI1uzJ86B9XD+vW7cn1cZFkUYJ7IMDUAMWOAUNcAVaoA0weAIv4B18GM/Gq/FpTKbWBaPo2QN/yvj6BiRdp2Y=</latexit><latexit sha1_base64="5ednwCn8nVnJcDhKfBDYlLR0jE=">ACKHicbVDLSsNAFJ34rPVdelmsAh1UxIR1F3RjQuLFawtJKFMpN26GQSZiZiCfkdN/6KGwWVbv0SJ2lAb0wcOac7n3Hi9iVCrTnBgLi0vLK6ultfL6xubWdmVn916GscCkjUMWiq6HJGUk7aipFuJAgKPEY63ugy0zsPREga8js1jogboAGnPsVIapXadzUnKoTIDX0vOQ6dXA/VPr72EscwphD+Y+WwsIp/aTZTO3M4B71KlWzbuYF54FVgCoqtWrvDn9EMcB4QozJKVtmZFyEyQUxYykZSeWJEJ4hAbE1pCjgEg3yS9N4aFm+tAPhX5cwZz93ZGgQMpx4GlnvumslpH/aXas/DM3oTyKFeF4OsiPGVQhzGKDfSoIVmysAcKC6l0hHiKBsNLhlnUI1uzJ86B9XD+vW7cn1cZFkUYJ7IMDUAMWOAUNcAVaoA0weAIv4B18GM/Gq/FpTKbWBaPo2QN/yvj6BiRdp2Y=</latexit><latexit sha1_base64="5ednwCn8nVnJcDhKfBDYlLR0jE=">ACKHicbVDLSsNAFJ34rPVdelmsAh1UxIR1F3RjQuLFawtJKFMpN26GQSZiZiCfkdN/6KGwWVbv0SJ2lAb0wcOac7n3Hi9iVCrTnBgLi0vLK6ultfL6xubWdmVn916GscCkjUMWiq6HJGUk7aipFuJAgKPEY63ugy0zsPREga8js1jogboAGnPsVIapXadzUnKoTIDX0vOQ6dXA/VPr72EscwphD+Y+WwsIp/aTZTO3M4B71KlWzbuYF54FVgCoqtWrvDn9EMcB4QozJKVtmZFyEyQUxYykZSeWJEJ4hAbE1pCjgEg3yS9N4aFm+tAPhX5cwZz93ZGgQMpx4GlnvumslpH/aXas/DM3oTyKFeF4OsiPGVQhzGKDfSoIVmysAcKC6l0hHiKBsNLhlnUI1uzJ86B9XD+vW7cn1cZFkUYJ7IMDUAMWOAUNcAVaoA0weAIv4B18GM/Gq/FpTKbWBaPo2QN/yvj6BiRdp2Y=</latexit>

O(#L)

<latexit sha1_base64="ViGYl7alHyVSx3qrb+XPeCqUXsc=">AB93icbVBNS8NAFHzxs9aPRj16CQahXkoignorevEgWMHYQhPKZrtpl242YXcj1NBf4sWDilf/ijf/jZs2B20dWBhm3uPNTpgyKpXjfBtLyura+uVjerm1vZOzdzde5BJjDxcMIS0QmRJIxy4imqGOmkgqA4ZKQdjq4Kv/1IhKQJv1fjlAQxGnAaUYyUlnpm7bu236M1DAM85vJc+0nYzhbVI3JLYUKLVM7/8foKzmHCFGZKy6zqpCnIkFMWMTKp+JkmK8AgNSFdTjmIig3wafGIdaVvRYnQjytrqv7eyFEs5TgO9WQRUc57hfif181UdB7klKeZIhzPDkUZs1RiFS1YfSoIVmysCcKC6qwWHiKBsNJdVXUJ7vyXF4l30rhouHendvOybKMCB3AIdXDhDJpwDS3wAEMGz/AKb8aT8WK8Gx+z0SWj3NmHPzA+fwARvpJC</latexit><latexit sha1_base64="ViGYl7alHyVSx3qrb+XPeCqUXsc=">AB93icbVBNS8NAFHzxs9aPRj16CQahXkoignorevEgWMHYQhPKZrtpl242YXcj1NBf4sWDilf/ijf/jZs2B20dWBhm3uPNTpgyKpXjfBtLyura+uVjerm1vZOzdzde5BJjDxcMIS0QmRJIxy4imqGOmkgqA4ZKQdjq4Kv/1IhKQJv1fjlAQxGnAaUYyUlnpm7bu236M1DAM85vJc+0nYzhbVI3JLYUKLVM7/8foKzmHCFGZKy6zqpCnIkFMWMTKp+JkmK8AgNSFdTjmIig3wafGIdaVvRYnQjytrqv7eyFEs5TgO9WQRUc57hfif181UdB7klKeZIhzPDkUZs1RiFS1YfSoIVmysCcKC6qwWHiKBsNJdVXUJ7vyXF4l30rhouHendvOybKMCB3AIdXDhDJpwDS3wAEMGz/AKb8aT8WK8Gx+z0SWj3NmHPzA+fwARvpJC</latexit><latexit sha1_base64="ViGYl7alHyVSx3qrb+XPeCqUXsc=">AB93icbVBNS8NAFHzxs9aPRj16CQahXkoignorevEgWMHYQhPKZrtpl242YXcj1NBf4sWDilf/ijf/jZs2B20dWBhm3uPNTpgyKpXjfBtLyura+uVjerm1vZOzdzde5BJjDxcMIS0QmRJIxy4imqGOmkgqA4ZKQdjq4Kv/1IhKQJv1fjlAQxGnAaUYyUlnpm7bu236M1DAM85vJc+0nYzhbVI3JLYUKLVM7/8foKzmHCFGZKy6zqpCnIkFMWMTKp+JkmK8AgNSFdTjmIig3wafGIdaVvRYnQjytrqv7eyFEs5TgO9WQRUc57hfif181UdB7klKeZIhzPDkUZs1RiFS1YfSoIVmysCcKC6qwWHiKBsNJdVXUJ7vyXF4l30rhouHendvOybKMCB3AIdXDhDJpwDS3wAEMGz/AKb8aT8WK8Gx+z0SWj3NmHPzA+fwARvpJC</latexit><latexit sha1_base64="ViGYl7alHyVSx3qrb+XPeCqUXsc=">AB93icbVBNS8NAFHzxs9aPRj16CQahXkoignorevEgWMHYQhPKZrtpl242YXcj1NBf4sWDilf/ijf/jZs2B20dWBhm3uPNTpgyKpXjfBtLyura+uVjerm1vZOzdzde5BJjDxcMIS0QmRJIxy4imqGOmkgqA4ZKQdjq4Kv/1IhKQJv1fjlAQxGnAaUYyUlnpm7bu236M1DAM85vJc+0nYzhbVI3JLYUKLVM7/8foKzmHCFGZKy6zqpCnIkFMWMTKp+JkmK8AgNSFdTjmIig3wafGIdaVvRYnQjytrqv7eyFEs5TgO9WQRUc57hfif181UdB7klKeZIhzPDkUZs1RiFS1YfSoIVmysCcKC6qwWHiKBsNJdVXUJ7vyXF4l30rhouHendvOybKMCB3AIdXDhDJpwDS3wAEMGz/AKb8aT8WK8Gx+z0SWj3NmHPzA+fwARvpJC</latexit>

Some PRF seeds can lead to collisions so just pick again until no collisions

slide-46
SLIDE 46

Densest Subgraph Transform

[K.-Moataz19]

46

v1 v3 v4 β„“1 v3 v2 v4 β„“2 β„“3

B1 B2 B3 B4

DX B1 v1 B2 v3 B3 v3 v2 B4 v4 v4 EDX B1 v1 B2 v3 B3 v3 v2 B4 v4 v4 EMM.Setup

  • Store bins in a dictionary DX and encrypt DX
slide-47
SLIDE 47

Densest Subgraph Transform

[K.-Moataz19]

  • To get β„“2,
  • retrieve rand2 from state
  • compute bin identifiers
  • 2:= F(rand2, 1),
  • 3:= F(rand2, 2),
  • 4:= F(rand3, 3)
  • retrieve bins

State DX β„“1 rand1 β„“2 rand2 β„“3 rand3 B2 B3 B4 EDX B1 v1 B2 v3 B3 v3 v2 B4 v4 v4 v3 v3 v4 v4

slide-48
SLIDE 48

Densest Subgraph Transform

[K.-Moataz19]

48

Thm: The load of a bin is at most

with probability at least 1 - Ξ΅, where N n + ln(1/Ξ΅) 3 βœ“ 1 + s 1 + 18N n Β· ln(1/Ξ΅) β—†

N = X

`∈LMM

#MM[`]

slide-49
SLIDE 49
  • Alternative construction for concentrated MMs
  • v2 and v4 are duplicated so store them only once
  • Pick bi-partite clique at random
  • store duplicated items in clique
  • Pick remaining edges at random

Densest Subgraph Transform

[K.-Moataz19]

MM β„“1 v1 β„“2 v3 β„“3 v2 v2 v4 v4 β„“1 β„“2 β„“3 v1 v3 v2 v4

slide-50
SLIDE 50

Densest Subgraph Transform

[K.-Moataz19]

50

Thm: The load of a bin is at most

with probability at least 1 - Ξ΅, where NDS is the size of concentrated part

Nβˆ’NDS n + ln(1/Ξ΅) 3 βœ“ 1 + s 1 + 18(Nβˆ’NDS) n Β· ln(1/Ξ΅) β—†

slide-51
SLIDE 51

Densest Subgraph Assumption

[Applebaum-Barak-Wigderson10]

51

≃

ErdΓΆs-RΓ©nyi graph

ErdΓΆs-RΓ©nyi graph with
 planted dense subgraph

slide-52
SLIDE 52

Densest Subgraph Assumption

[Applebaum-Barak-Wigderson10]

  • Variant of the planted clique problem
  • central problem in average-case hardness
  • Evidence for hardness
  • studied since the mid-70’s in CS & statistical physics
  • failure of powerful algorithmic techniques
  • restricted lower bounds
  • Sum-of-squares
  • Statistical query
52
slide-53
SLIDE 53

Conclusions

53
slide-54
SLIDE 54

Encrypted Search: 2000-2019

  • A large and vibrant area of research
  • Many interesting and hard problems
  • Many fundamental questions
  • how do we model leakage?
  • how do we quantify leakage?
  • how do we suppress leakage?
  • are the tradeoffs we observe inherent? (i..e, lower bounds)
54
slide-55
SLIDE 55

Encrypted Search: 2000-2019

  • Many connections
  • algorithms & data structures
  • database theory & systems
  • statistical learning theory
  • optimization
  • graph theory
  • distributed systems
55
slide-56
SLIDE 56

Encrypted Search: 2000-2019

  • Many interesting leakage attacks to study
  • But many new techniques to bypass leakage attacks
  • padding & clustering techniques [Bost-Fouque17]
  • response-hiding schemes [Blackstone-K.-Moataz19]
  • suppression compilers [K.-Moataz-Ohrimenko18]
  • suppression transforms [K.-Moataz19]
  • worst-case vs. average-case leakage [Agarwal-K.19]
  • distributing data [Agarwal-K.19]
56
slide-57
SLIDE 57

Encrypted Search: 2000-2019

  • New tradeoffs to explore
  • leakage vs. correctness [K.-Moataz19]
  • leakage vs. latency [K.-Moataz-Ohrimenko18]
57
slide-58
SLIDE 58

Encrypted Search: 2000-2019

  • Real-world impact
  • Microsoft SQL Server
  • MongoDB Field Level Encryption
  • Cisco WebEx
  • Ionic
  • more coming…
58
slide-59
SLIDE 59

Thanks to…

59

Tarik Moataz Ghous Amjad Olya Ohrimenko Laura Blackstone Archita Agarwal Sam Zhao Marilyn George Hajar Alturki

slide-60
SLIDE 60

The End

60