Outsourcing of Storage and Computations Cloud Services Client - - PowerPoint PPT Presentation

outsourcing of storage and computations
SMART_READER_LITE
LIVE PREVIEW

Outsourcing of Storage and Computations Cloud Services Client - - PowerPoint PPT Presentation

T RUE S ET : Faster Verifiable Set Computations Ahmed E. Kosba , Dimitrios Papadopoulos , Charalampos Papamanthou Mahmoud F. Sayed , Elaine Shi , Nikos Triandopoulos University of Maryland, College Park Boston


slide-1
SLIDE 1

TRUESET: Faster Verifiable Set Computations

Ahmed E. Kosba†, Dimitrios Papadopoulos‡, Charalampos Papamanthou† Mahmoud F. Sayed†, Elaine Shi†, Nikos Triandopoulos§‡

† University of Maryland, College Park ‡ Boston University § RSA Laboratories

USENIX Security’14

August 22nd, 2014

slide-2
SLIDE 2

Outsourcing of Storage and Computations

  • Integrity/Correctness Concerns
  • Making VC practical

Short Proof - Short Verification Time - Short Proof Computation Time

2

Input u Output F(u) – Proof 𝜌

Verifier Prover Verifiable Computation (VC) Client Devices Cloud Services Not there yet!!

slide-3
SLIDE 3

Verifiable Set Operations

  • The proof computation time is very high for current generic VC systems.
  • It can take 100+ seconds to produce a proof for an intersection of two 256-

element sets.

  • TRUESET provides orders of magnitude better performance
  • More than 100x Speed-up achieving < 1 second in the above case.

3

SELECT UNIVERSITY.id FROM UNIVERSITY JOIN CS ON UNIVERSITY.id = CS.id

Similarity =

| 𝑩 𝑪 | | 𝑩 𝑪 |

SQL Join Queries Jaccard index Applications

slide-4
SLIDE 4

Verifiable Computation

void func(struct Input* in, struct Output* out){ /* subset of C */ }

Approaches:

  • Secure hardware based
  • Replication based
  • Cryptography based

Characteristics:

  • Compact Constant-size Proof, e.g. 288 bytes for Pinocchio
  • Short Verification Time: O(size of IO)
  • High Proof Computation Time

+ x x

4

……… ……… ………

Each individual operation is mapped to a set of gates or constraints

BCGTV [Ben-sasson et al, Crypto’13] Pinocchio [Parno et al, IEEE S&P’13] Pantry [Braun et al, SOSP’13]

slide-5
SLIDE 5

Arithmetic Representation of Set Operations is Expensive

Set Cardinality Proof Time

  • Another challenge: Have to account for the worst-

case set size during proof computation.

5

Arithmetic Set Circuit C .. .. .. A B

+ x x + x x + x x + x x

…. …. …. ….

slide-6
SLIDE 6

TRUESET

Goals:

  • Reduce proof computation time for set operations
  • Achieve input-specific running time for the prover
  • Retain the expressiveness of previous techniques

Main Idea:

6

Arithmetic Set Circuit D .. .. .. A B

+ x x + x x + x x + x x

…. …. …. …. .. C

A B C

U

D Polynomial Set Circuit A(z) B(z) C(z) D(z) + x x + x x instead of

slide-7
SLIDE 7

Sets as Polynomials

  • Represent a set A = { a1, a2, …, an} by an n-degree

polynomial A(z) = (z+a1)(z+a2) .. (z+an)

7

Polynomial Intersection Circuit (z+1)(z+2) (z+2)(z+3) (z+2) Polynomial Intersection Circuit (z+3)(z+4) (z+5)(z+6) 1

Two Primary Advantages:

  • The circuit size is constant for set operations.
  • The effort correlates with the degrees of the polynomials on the wires.
slide-8
SLIDE 8

How to build O(1) circuits for set

  • perations?

8

slide-9
SLIDE 9

Efficient Set Circuits

  • Intersection Gate

9

) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( z B z I z z A z I z z I z B z z A z        

GCD(A, B)

  • The witness polynomials can be calculated by the Extended Euclidean algorithm

for polynomials. I(z) = GCD(A(z), B(z)) iff there exists polynomials 𝛽 𝑨 , 𝛾 𝑨 , 𝛿 𝑨 , 𝜀 𝑨 such that

slide-10
SLIDE 10

Efficient Set Circuits

  • Union and Difference gates can be built similarly.

10

) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( z U z A z z B z i z z A z i z z i z B z z A z          

) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( z B z i z z A z i z D z i z B z z A z       

slide-11
SLIDE 11

Retaining Expressiveness

  • Hybrid Queries:
  • TrueSet provides a set of useful gates to ensure

expressiveness

  • Zero-degree assertion gate.
  • Split and Merge gates.
  • Cardinality gate.

11

Input sets Output Value

SELECT COUNT(UNIVERSITY.id) FROM UNIVERSITY JOIN CS ON UNIVERSITY.id = CS.id

+ x x + x x

+ x x

  • Arith. Circuit

Set Circuit

+ x x

slide-12
SLIDE 12

How to build verifiable polynomial circuits protocol?

12

slide-13
SLIDE 13

Quadratic Arithmetic Programs (QAPs)

13

[Gennaro et al. EUROCRYPT’13, Parno et al. IEEE S&P’13] + x x

c1 c2 c3 c4 c5 c6

……… ……… ……… Equivalent Constraints c5 = c3.c4 c6 = c5.(c1 + c2) …

( 𝑙=1

𝑛

𝑑𝑙𝑤𝑙(𝑦)) ( 𝑙=1

𝑛

𝑑𝑙𝑥𝑙(𝑦)) - ( 𝑙=1

𝑛

𝑑𝑙𝑧𝑙(𝑦)) = 𝑢(𝑦)ℎ(𝑦)

where

t(x) = (x – r1) (x – r2) .. (x – rd) vk, wk and yk are polynomials defined based on the circuit structure.

slide-14
SLIDE 14

Quadratic Polynomial Programs (QPPs)

14

……… ……… ……… Equivalent Constraints c5(z) = c3(z).c4(z) c6(z) = c5(z).(c1(z) + c2(z)) …

( 𝑙=1

𝑛

𝑑𝑙(𝑨)𝑤𝑙(𝑦)) ( 𝑙=1

𝑛

𝑑𝑙(𝑨)𝑥𝑙(𝑦)) - ( 𝑙=1

𝑛

𝑑𝑙(𝑨)𝑧𝑙(𝑦)) = 𝑢(𝑦)ℎ(𝑦, 𝑨)

where

t(x) = (x – r1) (x – r2) .. (x – rd) vk, wk and yk are polynomials defined based on the circuit structure.

+ x x

c1(z) c2(z) c3(z) c4(z) c5(z) c6(z)

Bivariate Polynomial

slide-15
SLIDE 15

Verifiable Polynomial Circuits

  • Protocol outline:

15

u F(u), 𝜌

  • 1. Key Generation
  • 2. Client sends input
  • Eval. Key
  • Verif. Key
  • 3. Server computes proof
  • 4. Client verifies the result.
slide-16
SLIDE 16

Implementation

  • Added support to Pinocchio’s C++ implementation to handle verifiable

polynomial circuits with loops.

  • Used open-source libraries to handle field and crypto operations: NTL

and nifty ate-pairing.

  • Operations are done in a Field Fp where p is a 254-bit prime. Bit security

level is 127.

  • Comparison with two Pinocchio implementations:
  • The original executable by Microsoft Research (MS-Pinocchio)
  • An executable that uses the same polynomial and crypto libraries as

TrueSet (NTL-ZM Pinocchio)

16

slide-17
SLIDE 17

Evaluation

  • Comparison:
  • Two variants for Pinocchio set circuit programs:
  • A pair-wise approach requiring O(n2) equality-check gates.
  • A sorting-network approach requiring O(n log2(n)) comparator gates.

Set 1 Set 2 Odd Even Merge Sort ..... …. Check for a duplicate O(n log2(n)) comparators O(n) equality gates 17

Example Intersection Circuit using a Sorting Network

slide-18
SLIDE 18

Evaluation

  • Set Programs:
  • Single union operation
  • Multi set operations
  • The input sets contain random elements from

the field Fp.

  • For each input set size, a different circuit was

produced for Pinocchio alternatives. U

A B C D E F G H

  • U

U

U U

OUT

18

slide-19
SLIDE 19

Proof Computation Speedup

Proof Computation – Single Gate

19

150x improvement when |s| = 256

50 100 150 200 2² 2³ 2⁴ 2⁵ 2⁶ 2⁷ 2⁸ 2⁹ 2¹⁰ Proof Time (sec) Input Set Cardinality TrueSet NTL-ZM Pinocchio (pairwise) MS Pinocchio (pairwise)

Proof Computation – Multi-gate

50 100 150 200

2² 2³ 2⁴ 2⁵ 2⁶ 2⁷ 2⁸ 2⁹ 2¹⁰ 2¹¹ 2¹² 2¹³

Proof Time (sec)

Input Set Cardinality

TrueSet NTL-ZM Pinocchio (pairwise) NTL-ZM Pinocchio (sorting network) MS Pinocchio (pairwise) MS Pinocchio (sorting network)

> 50x improvement when |s| = 64

  • More than 90% savings in the evaluation key sizes.
  • Retain almost similar verification times and verification keys sizes.

|s| refers to each input set size

slide-20
SLIDE 20

Optimizations / Extensions

  • Optimizations
  • Bivariate polynomial operations
  • Randomized check for output polynomial
  • Case of outsourced sets
  • Usage of Merkle trees and bilinear accumulators.
  • TrueSet provides inherent support for multisets, while
  • ther approaches will require more complexity.

20

slide-21
SLIDE 21

Conclusions

  • TRUESET a system that aims at reducing proof

computation time for verifiable set computations.

  • Modeling set operations as polynomial circuits helped

achieve:

  • Much better proof computation time (More than 100x when set

size is 256)

  • Great savings ( > 90%) in the circuit evaluation key size
  • Input-specific running time for the prover
  • Is this practical yet?

21

slide-22
SLIDE 22

Thank You 

Questions? akosba@cs.umd.edu