outsourcing of storage and computations
play

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


  1. 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 University § RSA Laboratories USENIX Security’14 August 22 nd , 2014

  2. Outsourcing of Storage and Computations Cloud Services Client Devices Input u Output F(u) – Proof 𝜌 Verifier Prover • Integrity/Correctness Concerns Verifiable Computation (VC) • Making VC practical Short Proof - Short Verification Time - Short Proof Computation Time Not there yet!! 2

  3. Verifiable Set Operations Jaccard index SQL Join Queries Applications SELECT UNIVERSITY.id | 𝑩 𝑪 | FROM UNIVERSITY JOIN CS Similarity = | 𝑩 𝑪 | ON UNIVERSITY.id = CS.id • 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. • T RUE S ET provides orders of magnitude better performance • More than 100x Speed-up achieving < 1 second in the above case. 3

  4. Verifiable Computation Approaches: • Secure hardware based • Replication based • Cryptography based BCGTV [Ben-sasson et al, Crypto’13] Pinocchio [Parno et al, IEEE S&P’13] Pantry [Braun et al, SOSP’13] Characteristics: • Compact Constant-size Proof, e.g. 288 bytes for Pinocchio • Short Verification Time: O(size of IO) • High Proof Computation Time Each individual operation is mapped to a set of gates or constraints void func(struct Input* in, struct Output* out){ x ……… + /* subset of C */ ……… x } ……… 4

  5. Arithmetic Representation of Set Operations is Expensive B A .. .. Proof Time x x x + + + x + …. x …. x x …. x …. .. Set Cardinality C Arithmetic Set Circuit • Another challenge: Have to account for the worst- case set size during proof computation. 5

  6. T RUE S ET Goals: • Reduce proof computation time for set operations • Achieve input-specific running time for the prover • Retain the expressiveness of previous techniques Main Idea: Polynomial Set Circuit Arithmetic Set Circuit A C B B C A C(z) A(z) B(z) instead of .. .. .. U x x x x + + x + x + + + x …. x …. x …. …. x x x ∩ .. D D(z) D 6

  7. Sets as Polynomials • Represent a set A = { a 1 , a 2 , …, a n } by an n-degree polynomial A(z) = (z+a 1 )(z+a 2 ) .. (z+a n ) (z+2)(z+3) (z+5)(z+6) (z+1)(z+2) (z+3)(z+4) Polynomial Polynomial Intersection Circuit Intersection Circuit 1 (z+2) Two Primary Advantages: The circuit size is constant for set operations. • • 7 The effort correlates with the degrees of the polynomials on the wires.

  8. How to build O(1) circuits for set operations? 8

  9. Efficient Set Circuits • Intersection Gate I(z) = GCD(A(z), B(z)) iff there exists polynomials 𝛽 𝑨 , 𝛾 𝑨 , 𝛿 𝑨 , 𝜀 𝑨 such that     ( z ) A ( z ) ( z ) B ( z ) I ( z )   ( z ) I ( z ) A ( z )   ( z ) I ( z ) B ( z ) GCD(A, B) • The witness polynomials can be calculated by the Extended Euclidean algorithm for polynomials. 9

  10. Efficient Set Circuits • Union and Difference gates can be built similarly.         ( z ) A ( z ) ( z ) B ( z ) i ( z ) ( ) ( ) ( ) ( ) ( ) z A z z B z i z    ( ) ( ) ( ) ( z ) i ( z ) A ( z ) D z i z A z     ( z ) i ( z ) B ( z ) ( ) ( ) ( ) z i z B z   ( z ) A ( z ) U ( z ) 10

  11. Retaining Expressiveness Input sets • Hybrid Queries: x x + + Set Circuit x x SELECT COUNT(UNIVERSITY.id) FROM UNIVERSITY JOIN CS ON UNIVERSITY.id = CS.id x x + + Arith. Circuit x x • TrueSet provides a set of useful gates to ensure expressiveness Output Value • Zero-degree assertion gate. • Split and Merge gates. • Cardinality gate. 11

  12. How to build verifiable polynomial circuits protocol? 12

  13. [Gennaro et al. EUROCRYPT’13, Parno et al. IEEE S&P’13] Quadratic Arithmetic Programs (QAPs) Equivalent Constraints c 4 c 3 c 1 c 2 ……… x + c 5 = c 3 .c 4 ……… c 6 = c 5 .(c 1 + c 2 ) c 5 x … ……… c 6 𝑛 𝑛 𝑛 ( 𝑙=1 𝑑 𝑙 𝑤 𝑙 (𝑦)) ( 𝑙=1 𝑑 𝑙 𝑥 𝑙 (𝑦)) - ( 𝑙=1 𝑑 𝑙 𝑧 𝑙 (𝑦)) = 𝑢(𝑦)ℎ(𝑦) where t(x) = (x – r 1 ) (x – r 2 ) .. (x – r d ) v k , w k and y k are polynomials defined based on the circuit structure. 13

  14. Quadratic Polynomial Programs (QPPs) c 4 (z) Equivalent Constraints c 3 (z) c 1 (z) c 2 (z) ……… x + c 5 (z) = c 3 (z).c 4 (z) ……… c 6 (z) = c 5 (z).(c 1 (z) + c 2 (z)) c 5 (z) x … ……… c 6 (z) 𝑛 𝑛 𝑛 ( 𝑙=1 𝑑 𝑙 (𝑨)𝑤 𝑙 (𝑦)) ( 𝑙=1 𝑑 𝑙 (𝑨)𝑥 𝑙 (𝑦)) - ( 𝑙=1 𝑑 𝑙 (𝑨)𝑧 𝑙 (𝑦)) = 𝑢(𝑦)ℎ(𝑦, 𝑨) where Bivariate Polynomial t(x) = (x – r 1 ) (x – r 2 ) .. (x – r d ) v k , w k and y k are polynomials defined based on the circuit structure. 14

  15. Verifiable Polynomial Circuits • Protocol outline: 1. Key Generation Verif. Key Eval. Key 3. Server computes proof 2. Client sends input u F(u), 𝜌 4. Client verifies the result. 15

  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 F p 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

  17. Evaluation • Comparison: • Two variants for Pinocchio set circuit programs: • A pair-wise approach requiring O(n 2 ) equality-check gates. • A sorting-network approach requiring O(n log 2 (n)) comparator gates. Example Intersection Circuit using a Sorting Network Set 1 Set 2 Odd Even Merge Sort O(n log 2 (n)) comparators ..... O(n) equality gates Check for a duplicate …. 17

  18. Evaluation C D A B E F G H • Set Programs: • Single union operation • Multi set operations U U U U • The input sets contain random elements from - ∩ the field F p . U • For each input set size, a different circuit was produced for Pinocchio alternatives. OUT 18

  19. Proof Computation Speedup Proof Computation – Single Gate Proof Computation – Multi-gate 200 TrueSet TrueSet 200 NTL-ZM Pinocchio (pairwise) NTL-ZM Pinocchio (pairwise) 150 MS Pinocchio (pairwise) NTL-ZM Pinocchio (sorting network) 150 Proof Time (sec) Proof Time (sec) MS Pinocchio (pairwise) MS Pinocchio (sorting network) 100 100 50 50 0 0 2² 2³ 2⁴ 2⁵ 2⁶ 2⁷ 2⁸ 2⁹ 2¹⁰ 2² 2³ 2⁴ 2⁵ 2⁶ 2⁷ 2⁸ 2⁹ 2¹⁰ 2¹¹ 2¹² 2¹³ Input Set Cardinality Input Set Cardinality > 50x improvement when |s| = 64 150x improvement when |s| = 256 More than 90% savings in the evaluation key sizes. • • Retain almost similar verification times and verification keys sizes. 19 |s| refers to each input set size

  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 other approaches will require more complexity. 20

  21. Conclusions • T RUE S ET 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

  22. Thank You  Questions? akosba@cs.umd.edu

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend