SlideShare a Scribd company logo
1 of 31
On the Impossibility
     of Batch Update for
 Cryptographic Accumulators

Philippe Camacho and Alejandro Hevia
University of Chile
Certificate
      Authority


      Bob           CA




            Bob

Bob                 Alice
Certificate       CRL/OSCP
      Authority

                  PKI    Bob
                                YES/NO
      Bob




            Bob
Bob                     Alice
Owns a Set of
                       valid certificates
            Central       X={x1,x2,…}


           Authority

Insert/
Delete




     Bob               Alice
Owns a Set

           Central      X={x1,x2,…}


          Authority

INSERT/
DELETE




    Bob               Alice
Replay Attack



            INSERT x
 Central    Sign(x,SK)= σx
                             YES: σx

Authority
 (PK,SK)                     Does x belong
                             to X?
Replay Attack



 Central    Delete x
                       YES: σx

Authority
 (PK,SK)               Does x belong
                       to X?
Manager
                              Acc1, Acc2, Acc3


Insert(x)


            Witness



              ( x     ,   )


 Bob                                     Alice
                          Verify( x ,    , Acc3) = YES
Manager
                      Acc1, Acc2, Acc3, Acc4


Delete(x)


            OK




Bob                              Alice
                  Verify( x ,    , Acc4) = FAIL
Manager
                          Acc1, Acc2, Acc3,…



Cryptographic
Insert(x)




Accumulator
            Witness



              ( x     ,   )


 Bob                                    Alice
                          Verify( x ,   , Acc3) = YES
Main constructions
                         Security                     Note

[BeMa94]                 RSA + RO                First definition

[BarPfi97]               Strong RSA                      -

                                                  First dynamic
[CamLys02]               Strong RSA
                                                  accumulator
                                                  First universal
 [LLX07]                 Strong RSA
                                                   accumultor

 [Ngu05]                  Pairings              E-cash, ZK-Sets,…

                        eStrong RSA
[WWP08]                                           Batch Update
                          Paillier

[CHKO08]         Collision-Resistant Hashing   Untrusted Manager

 [CKS09]                  Pairings             Group multiplication
Manager
                                          Acc1, Acc2, Acc3




        x1   w1    x2           w2   x3   w3




Bob 1                   Bob 2                  Bob 3
Problem: after each update of the
accumulated value it is necesarry
to recompute all the witnesses.
Delegate Witness Computation?


Manager
                                         Verify(x,w,Acc)


                        Replica
   Constructions       (Compute        User (Verify)
                   a single witness)
 [CL02]                 O(|X|)             O(1)
 [GTT09]               O(|X|1/ε)           O(ε)
 [CHK08]              O(log |X|)        O(log |X|)
Batch Update
   [FN02]                      Manager
                                                 …,Acc99, Acc100, Acc101,…, Acc200,…



                                    Upd100,200



       Bob 1           Bob 2                     Bob 29                   Bob 42




  (x1,w1,Acc100)    (x36,w36,Acc100)        (x1,w1,Acc100)           (x1,w1,Acc100)
  ( x2,w2,Acc100)   ( x87,w87,Acc100)       ( x20,w20,Acc100)        ( x2,w2,Acc100)
  ( x6,w6,Acc100)                           ( x69,w68,Acc100)        ( x6,w6,Acc100)
                                            ( x64,w64,Acc100)        ….
                                            …
Batch Update
   [FN02]                       Manager
                                              …,Acc99, Acc100, Acc101,…, Acc200,…




       Bob 1            Bob 2                 Bob 29                   Bob 42




  (x1,w1’,Acc200)    (x36,w36’,Acc200)    (x1,w1’,Acc200)         (x1,w1’,Acc200)
  ( x2,w2’,Acc200)   ( x87,w87’,Acc200)   ( x20,w20’,Acc200)      ( x2,w2’,Acc200)
  ( x6,w6’,Acc200)                        ( x69,w68’,Acc200)      ( x6,w6’,Acc200)
                                          ( x64,w64’,Acc200)      ….
                                          …
Batch Update [FN02]

       Trivial solution:
UpdXi,Xj = {list of all witnesses for Xj}


     More interesting:
          |UpdXi,Xj| = O(1)
What happens with [CL02]?
• PK=(n,g) with n=pq and g є Zn*

• AccØ := g mod n

• Insert(x,Acc) := Accx mod n     /* x prime */

• Delete(x,Acc) := Acc1/x mod n
                   ?
• WitGen(x,Acc) := Acc1/x mod n

• Verify(x,w,Acc): wx = Acc

• |UpdXi,Xj| = O(|{list of insertions / deletions}|)
Syntax of B.U. Accumulators

Algorithm                         Returns                           Who runs it
KeyGen(1k)                        PK,SK,AccØ                        Manager

AddEle(x,AccX,SK)                 AccX  {x}                        Manager

DelEle(x,AccX,SK)                 AccX{x}                          Manager

WitGen(x,AccX,SK)                 Witness w relative to AccX        Manager

Verify(x,w,AccX,PK)               Returns Yes whether x є X         User

UpdWitGen(X,X’,SK)                UpdX,X’ for elements x є X  X’   Manager

UpdWit(w,AccX,AccX’,UpdX,X’,PK)   New witness w’ for x є X’         User
Correctness
• Definition
  The scheme is correct iff:

  w := WitGen(x,AccX,SK)  Verify(x,w,AccX,PK) = Yes



  w := WitGen(x,AccX,SK)

                                              Verify(x,w’,AccX’,PK) = Yes
  UpdX,X’ := UpdWitGen(X,X’,SK)

  w’ := WitGen(w,AccX,AccX’,UpdX,X’,PK)
Security Model [CL02,WWP08]
                             PK,AccØ



                      Insert Request for xi


(Adversary)
                               Acc                   (Oracle)
                              …
                    Delete Request for xj

                             Acc’


                      Witness Request for xi

                                w


                               …
                  UpdateInfo Request from k to l

                           Upd k,l

                               …
              (x,w) such that w is valid but x є X
Batch Update Construction [WWP08]
Attack on [WWP08]
             User                                Manager
                                                     X0 := Ø

                               Insert x1


                               Delete x1            X 1 := {x1}

                          Please send UpdX1,X2       X2 := Ø

                                UpdX1,X2

With UpdX1,X2 I can
update my witness wx1


                    But x1 does not belong to X2!
Batch Update is Impossible

• Theorem:
Let Acc be a secure accumulator scheme with deterministic UpdWit
and Verify algorithms.

For an update involving m delete operations in a set of N elements,
the size of the update information UpdX,X' required by the algorithm
UpdWit is (m log(N/m)).

In particular if m=N/2 we have |UpdX,X'| =  (m) = (N)
Proof 1/3
           User                         Manager
X={x1,x2,…,xN}                            X={x1,x2,…,xN}


                                            Compute
                  AccX , {w1,w2,…,wN}
                                        AccX, {w1,w2,…,wN}


                                              Delete
                                         Xd:={xi1,xi2,…,xim}
                                             X’ := XXd


                                            Compute
                    AccX’ , UpdX,X’
                                           AccX’,UpdX,X’
Proof 2/3
                                             CASE 1                        CASE 2
                                             If x is not in X’ =>          If x is in X’ =>
                X={x1,x2,…,xN}               Scheme insecure               Scheme incorrect
                {w1,…,wN}
                AccX, AccX’, UpdX,X’         x still in X’                 x not in X’ anymore
   User



                                                                                    CASE 1
                                                                        YES

For each element                     w’ :=
xєX              x         UpdWit(w,AccX,AccX’,UpdX,X’)             w’ valid?

                                                                         NO
                                                                                     CASE 2
             User can reconstruct the set Xd
Proof 3/3
• There are ( ) subsets of m elements in a set
             N
             m

  of N elements

• We need log(       ) ≥ m log(N/m) bits
                 N
                 m
  to encode Xd



           (See updated version at eprint soon for a detailed proof)
Conclusion

• Batch Update is impossible.

• Batch Update for accumulators with few
  delete operations?

• Improve the lower bound in a factor of k.
Thank you!
Correction

• With negligible probability
  Bob could obtain a fake witness
  (and the scheme would still be secure)

  => The number of “good”subsets Xd is less than   ( )
                                                    N
                                                    m
A more careful analysis
• Pr[Xd leads to a fake witness] ≤ ε(k)

  => #”Good Xd sets” ≥   ( ) (1- ε(k))
                           N
                           m



  => |UpdX,X'| ≥ m log(M/m) + log(1- ε(k))

  => |UpdX,X'| ≥ m log(M/m) -1

  => |UpdX,X'| = ( m log(M/m))

More Related Content

What's hot

ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...
ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...
ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...Cyber Security Alliance
 
Legacy projects: how to win the race
Legacy projects: how to win the raceLegacy projects: how to win the race
Legacy projects: how to win the raceVictor_Cr
 
The Ring programming language version 1.10 book - Part 81 of 212
The Ring programming language version 1.10 book - Part 81 of 212The Ring programming language version 1.10 book - Part 81 of 212
The Ring programming language version 1.10 book - Part 81 of 212Mahmoud Samir Fayed
 
NTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANsNTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANsMark Chang
 
Analyzing the Performance Effects of Meltdown + Spectre on Apache Spark Workl...
Analyzing the Performance Effects of Meltdown + Spectre on Apache Spark Workl...Analyzing the Performance Effects of Meltdown + Spectre on Apache Spark Workl...
Analyzing the Performance Effects of Meltdown + Spectre on Apache Spark Workl...Databricks
 
Clojure: The Art of Abstraction
Clojure: The Art of AbstractionClojure: The Art of Abstraction
Clojure: The Art of AbstractionAlex Miller
 
Planet-HTML5-Game-Engine Javascript Performance Enhancement
Planet-HTML5-Game-Engine Javascript Performance EnhancementPlanet-HTML5-Game-Engine Javascript Performance Enhancement
Planet-HTML5-Game-Engine Javascript Performance Enhancementup2soul
 
Java programs
Java programsJava programs
Java programsjojeph
 
Legacy projects: how to win the race
Legacy projects: how to win the raceLegacy projects: how to win the race
Legacy projects: how to win the raceVictor_Cr
 
Extend R with Rcpp!!!
Extend R with Rcpp!!!Extend R with Rcpp!!!
Extend R with Rcpp!!!mickey24
 
Intro to Game Programming
Intro to Game ProgrammingIntro to Game Programming
Intro to Game ProgrammingRichard Jones
 
Mini-curso JavaFX Aula3 UFPB
Mini-curso JavaFX Aula3 UFPBMini-curso JavaFX Aula3 UFPB
Mini-curso JavaFX Aula3 UFPBRaphael Marques
 
Racing To Win: Using Race Conditions to Build Correct and Concurrent Software
Racing To Win: Using Race Conditions to Build Correct and Concurrent SoftwareRacing To Win: Using Race Conditions to Build Correct and Concurrent Software
Racing To Win: Using Race Conditions to Build Correct and Concurrent SoftwareFastly
 
RuleML2015: GRAAL - a toolkit for query answering with existential rules
RuleML2015:  GRAAL - a toolkit for query answering with existential rulesRuleML2015:  GRAAL - a toolkit for query answering with existential rules
RuleML2015: GRAAL - a toolkit for query answering with existential rulesRuleML
 

What's hot (20)

ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...
ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...
ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...
 
Legacy projects: how to win the race
Legacy projects: how to win the raceLegacy projects: how to win the race
Legacy projects: how to win the race
 
The Ring programming language version 1.10 book - Part 81 of 212
The Ring programming language version 1.10 book - Part 81 of 212The Ring programming language version 1.10 book - Part 81 of 212
The Ring programming language version 1.10 book - Part 81 of 212
 
NTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANsNTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANs
 
Analyzing the Performance Effects of Meltdown + Spectre on Apache Spark Workl...
Analyzing the Performance Effects of Meltdown + Spectre on Apache Spark Workl...Analyzing the Performance Effects of Meltdown + Spectre on Apache Spark Workl...
Analyzing the Performance Effects of Meltdown + Spectre on Apache Spark Workl...
 
Clojure: The Art of Abstraction
Clojure: The Art of AbstractionClojure: The Art of Abstraction
Clojure: The Art of Abstraction
 
Planet-HTML5-Game-Engine Javascript Performance Enhancement
Planet-HTML5-Game-Engine Javascript Performance EnhancementPlanet-HTML5-Game-Engine Javascript Performance Enhancement
Planet-HTML5-Game-Engine Javascript Performance Enhancement
 
ES6 in Real Life
ES6 in Real LifeES6 in Real Life
ES6 in Real Life
 
Scala.io
Scala.ioScala.io
Scala.io
 
Mini-curso JavaFX Aula1
Mini-curso JavaFX Aula1Mini-curso JavaFX Aula1
Mini-curso JavaFX Aula1
 
Java programs
Java programsJava programs
Java programs
 
Legacy projects: how to win the race
Legacy projects: how to win the raceLegacy projects: how to win the race
Legacy projects: how to win the race
 
Extend R with Rcpp!!!
Extend R with Rcpp!!!Extend R with Rcpp!!!
Extend R with Rcpp!!!
 
Intro to Game Programming
Intro to Game ProgrammingIntro to Game Programming
Intro to Game Programming
 
Mini-curso JavaFX Aula2
Mini-curso JavaFX Aula2Mini-curso JavaFX Aula2
Mini-curso JavaFX Aula2
 
Mini-curso JavaFX Aula3 UFPB
Mini-curso JavaFX Aula3 UFPBMini-curso JavaFX Aula3 UFPB
Mini-curso JavaFX Aula3 UFPB
 
Racing To Win: Using Race Conditions to Build Correct and Concurrent Software
Racing To Win: Using Race Conditions to Build Correct and Concurrent SoftwareRacing To Win: Using Race Conditions to Build Correct and Concurrent Software
Racing To Win: Using Race Conditions to Build Correct and Concurrent Software
 
RuleML2015: GRAAL - a toolkit for query answering with existential rules
RuleML2015:  GRAAL - a toolkit for query answering with existential rulesRuleML2015:  GRAAL - a toolkit for query answering with existential rules
RuleML2015: GRAAL - a toolkit for query answering with existential rules
 
Connect 4
Connect 4Connect 4
Connect 4
 
Advance java
Advance javaAdvance java
Advance java
 

Viewers also liked

Hspa Product Manager/Service Assurance
Hspa Product Manager/Service AssuranceHspa Product Manager/Service Assurance
Hspa Product Manager/Service AssuranceEkaterina Kobyzeva
 
Strong Accumulators From Collision-Resistant Hashing
Strong Accumulators From Collision-Resistant HashingStrong Accumulators From Collision-Resistant Hashing
Strong Accumulators From Collision-Resistant HashingPhilippe Camacho, Ph.D.
 
Western Sales Manager/Service Assurance
Western Sales Manager/Service AssuranceWestern Sales Manager/Service Assurance
Western Sales Manager/Service AssuranceEkaterina Kobyzeva
 
Short Transitive Signatures For Directed Trees
Short Transitive Signatures For Directed TreesShort Transitive Signatures For Directed Trees
Short Transitive Signatures For Directed TreesPhilippe Camacho, Ph.D.
 
HSPA Product Manager /Service Assurance
HSPA Product Manager /Service AssuranceHSPA Product Manager /Service Assurance
HSPA Product Manager /Service AssuranceEkaterina Kobyzeva
 
Hspa Product Manager/Service Assurance
Hspa Product Manager/Service AssuranceHspa Product Manager/Service Assurance
Hspa Product Manager/Service AssuranceEkaterina Kobyzeva
 
Fair Exchange of Short Signatures without Trusted Third Party
Fair Exchange of Short Signatures without Trusted Third PartyFair Exchange of Short Signatures without Trusted Third Party
Fair Exchange of Short Signatures without Trusted Third PartyPhilippe Camacho, Ph.D.
 
Выпускные от Дерева сказок 2015
Выпускные от Дерева сказок 2015Выпускные от Дерева сказок 2015
Выпускные от Дерева сказок 2015Ekaterina Kobyzeva
 
о детском центре дерево сказок
о детском центре дерево сказоко детском центре дерево сказок
о детском центре дерево сказокEkaterina Kobyzeva
 
Hspa Product Manager Test And Measurement
Hspa Product Manager   Test And MeasurementHspa Product Manager   Test And Measurement
Hspa Product Manager Test And MeasurementEkaterina Kobyzeva
 

Viewers also liked (15)

Hspa Product Manager/Service Assurance
Hspa Product Manager/Service AssuranceHspa Product Manager/Service Assurance
Hspa Product Manager/Service Assurance
 
Strong Accumulators From Collision-Resistant Hashing
Strong Accumulators From Collision-Resistant HashingStrong Accumulators From Collision-Resistant Hashing
Strong Accumulators From Collision-Resistant Hashing
 
Western Sales Manager
Western Sales ManagerWestern Sales Manager
Western Sales Manager
 
Western Sales Manager/Service Assurance
Western Sales Manager/Service AssuranceWestern Sales Manager/Service Assurance
Western Sales Manager/Service Assurance
 
Short Transitive Signatures For Directed Trees
Short Transitive Signatures For Directed TreesShort Transitive Signatures For Directed Trees
Short Transitive Signatures For Directed Trees
 
HSPA Product Manager /Service Assurance
HSPA Product Manager /Service AssuranceHSPA Product Manager /Service Assurance
HSPA Product Manager /Service Assurance
 
Hspa Product Manager/Service Assurance
Hspa Product Manager/Service AssuranceHspa Product Manager/Service Assurance
Hspa Product Manager/Service Assurance
 
Western Sales Account Manager
Western Sales Account ManagerWestern Sales Account Manager
Western Sales Account Manager
 
Sales Account Manager
Sales Account ManagerSales Account Manager
Sales Account Manager
 
Fair Exchange of Short Signatures without Trusted Third Party
Fair Exchange of Short Signatures without Trusted Third PartyFair Exchange of Short Signatures without Trusted Third Party
Fair Exchange of Short Signatures without Trusted Third Party
 
Выпускные от Дерева сказок 2015
Выпускные от Дерева сказок 2015Выпускные от Дерева сказок 2015
Выпускные от Дерева сказок 2015
 
о детском центре дерево сказок
о детском центре дерево сказоко детском центре дерево сказок
о детском центре дерево сказок
 
Hspa Product Manager Test And Measurement
Hspa Product Manager   Test And MeasurementHspa Product Manager   Test And Measurement
Hspa Product Manager Test And Measurement
 
Protocols for Provable Solvency
Protocols for Provable SolvencyProtocols for Provable Solvency
Protocols for Provable Solvency
 
Smart contracts
Smart contractsSmart contracts
Smart contracts
 

Similar to Cryptographic Accumulators Batch Update Impossibility

A verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysA verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysAleksandr Yampolskiy
 
Introducing AlloyUI DiagramBuilder
Introducing AlloyUI DiagramBuilderIntroducing AlloyUI DiagramBuilder
Introducing AlloyUI DiagramBuilderEduardo Lundgren
 
ScalaDays 2014 - Reactive Scala 3D Game Engine
ScalaDays 2014 - Reactive Scala 3D Game Engine ScalaDays 2014 - Reactive Scala 3D Game Engine
ScalaDays 2014 - Reactive Scala 3D Game Engine Aleksandar Prokopec
 
Predicate-Preserving Collision-Resistant Hashing
Predicate-Preserving  Collision-Resistant HashingPredicate-Preserving  Collision-Resistant Hashing
Predicate-Preserving Collision-Resistant HashingPhilippe Camacho, Ph.D.
 
Javascript Arrays
Javascript ArraysJavascript Arrays
Javascript Arraysshaheenakv
 
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...Alex Pruden
 
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...Universitat Politècnica de Catalunya
 
Least squares support Vector Machine Classifier
Least squares support Vector Machine ClassifierLeast squares support Vector Machine Classifier
Least squares support Vector Machine ClassifierRaj Sikarwar
 
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...Alexander Litvinenko
 
Programmable array-logic-and-programmable-logic-array
Programmable array-logic-and-programmable-logic-arrayProgrammable array-logic-and-programmable-logic-array
Programmable array-logic-and-programmable-logic-arrayJher Carlson Atasan
 
Combinational logic 1
Combinational logic 1Combinational logic 1
Combinational logic 1Heman Pathak
 
Scaling Secure Computation
Scaling Secure ComputationScaling Secure Computation
Scaling Secure ComputationDavid Evans
 
Computational Linguistics week 5
Computational Linguistics  week 5Computational Linguistics  week 5
Computational Linguistics week 5Mark Chang
 
Robust Operations of Kafka Streams
Robust Operations of Kafka StreamsRobust Operations of Kafka Streams
Robust Operations of Kafka Streamsconfluent
 
Parabola direction , vertex ,roots, minimum and maximum
Parabola direction , vertex ,roots, minimum and maximumParabola direction , vertex ,roots, minimum and maximum
Parabola direction , vertex ,roots, minimum and maximumNadeem Uddin
 
Bouguet's MatLab Camera Calibration Toolbox
Bouguet's MatLab Camera Calibration ToolboxBouguet's MatLab Camera Calibration Toolbox
Bouguet's MatLab Camera Calibration ToolboxYuji Oyamada
 
Streams Don't Fail Me Now - Robustness Features in Kafka Streams
Streams Don't Fail Me Now - Robustness Features in Kafka StreamsStreams Don't Fail Me Now - Robustness Features in Kafka Streams
Streams Don't Fail Me Now - Robustness Features in Kafka StreamsHostedbyConfluent
 

Similar to Cryptographic Accumulators Batch Update Impossibility (20)

A verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysA verifiable random function with short proofs and keys
A verifiable random function with short proofs and keys
 
Introducing AlloyUI DiagramBuilder
Introducing AlloyUI DiagramBuilderIntroducing AlloyUI DiagramBuilder
Introducing AlloyUI DiagramBuilder
 
Reactive x
Reactive xReactive x
Reactive x
 
ScalaDays 2014 - Reactive Scala 3D Game Engine
ScalaDays 2014 - Reactive Scala 3D Game Engine ScalaDays 2014 - Reactive Scala 3D Game Engine
ScalaDays 2014 - Reactive Scala 3D Game Engine
 
Predicate-Preserving Collision-Resistant Hashing
Predicate-Preserving  Collision-Resistant HashingPredicate-Preserving  Collision-Resistant Hashing
Predicate-Preserving Collision-Resistant Hashing
 
Javascript Arrays
Javascript ArraysJavascript Arrays
Javascript Arrays
 
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
 
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...
 
Least squares support Vector Machine Classifier
Least squares support Vector Machine ClassifierLeast squares support Vector Machine Classifier
Least squares support Vector Machine Classifier
 
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...
 
Programmable array-logic-and-programmable-logic-array
Programmable array-logic-and-programmable-logic-arrayProgrammable array-logic-and-programmable-logic-array
Programmable array-logic-and-programmable-logic-array
 
Combinational logic 1
Combinational logic 1Combinational logic 1
Combinational logic 1
 
Scaling Secure Computation
Scaling Secure ComputationScaling Secure Computation
Scaling Secure Computation
 
Lecture4 xing
Lecture4 xingLecture4 xing
Lecture4 xing
 
Coding in Style
Coding in StyleCoding in Style
Coding in Style
 
Computational Linguistics week 5
Computational Linguistics  week 5Computational Linguistics  week 5
Computational Linguistics week 5
 
Robust Operations of Kafka Streams
Robust Operations of Kafka StreamsRobust Operations of Kafka Streams
Robust Operations of Kafka Streams
 
Parabola direction , vertex ,roots, minimum and maximum
Parabola direction , vertex ,roots, minimum and maximumParabola direction , vertex ,roots, minimum and maximum
Parabola direction , vertex ,roots, minimum and maximum
 
Bouguet's MatLab Camera Calibration Toolbox
Bouguet's MatLab Camera Calibration ToolboxBouguet's MatLab Camera Calibration Toolbox
Bouguet's MatLab Camera Calibration Toolbox
 
Streams Don't Fail Me Now - Robustness Features in Kafka Streams
Streams Don't Fail Me Now - Robustness Features in Kafka StreamsStreams Don't Fail Me Now - Robustness Features in Kafka Streams
Streams Don't Fail Me Now - Robustness Features in Kafka Streams
 

More from Philippe Camacho, Ph.D. (16)

Blockchain: 12 predictions for a new world
Blockchain: 12 predictions for a new worldBlockchain: 12 predictions for a new world
Blockchain: 12 predictions for a new world
 
Bitcoin, Blockchain y más allá: Riesgos y Oportunidades
Bitcoin, Blockchain y más allá: Riesgos y OportunidadesBitcoin, Blockchain y más allá: Riesgos y Oportunidades
Bitcoin, Blockchain y más allá: Riesgos y Oportunidades
 
Analyzing Bitcoin Security
Analyzing Bitcoin SecurityAnalyzing Bitcoin Security
Analyzing Bitcoin Security
 
Cuando las maquinas deciden por nosotros: introducción a los contratos inteli...
Cuando las maquinas deciden por nosotros: introducción a los contratos inteli...Cuando las maquinas deciden por nosotros: introducción a los contratos inteli...
Cuando las maquinas deciden por nosotros: introducción a los contratos inteli...
 
Bitcoin y (in)seguridad: 5 paradojas
Bitcoin y (in)seguridad: 5 paradojasBitcoin y (in)seguridad: 5 paradojas
Bitcoin y (in)seguridad: 5 paradojas
 
No más Madoff: Satoshi al rescate
No más Madoff: Satoshi al rescateNo más Madoff: Satoshi al rescate
No más Madoff: Satoshi al rescate
 
Más allá del dinero: Bitcoin
Más allá del dinero: BitcoinMás allá del dinero: Bitcoin
Más allá del dinero: Bitcoin
 
Introducción a Bitcoin
Introducción a BitcoinIntroducción a Bitcoin
Introducción a Bitcoin
 
How to explain bitcoin to your mother
How to explain bitcoin to your motherHow to explain bitcoin to your mother
How to explain bitcoin to your mother
 
Cuidatusbitcoins
CuidatusbitcoinsCuidatusbitcoins
Cuidatusbitcoins
 
Foaf+ssl
Foaf+sslFoaf+ssl
Foaf+ssl
 
Agilidad al rescate
Agilidad al rescateAgilidad al rescate
Agilidad al rescate
 
XPDay2009: Nameaction
XPDay2009: NameactionXPDay2009: Nameaction
XPDay2009: Nameaction
 
Security of DNS
Security of DNSSecurity of DNS
Security of DNS
 
Agile daychile2010
Agile daychile2010Agile daychile2010
Agile daychile2010
 
Agiles2010
Agiles2010Agiles2010
Agiles2010
 

Recently uploaded

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Recently uploaded (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Cryptographic Accumulators Batch Update Impossibility

  • 1. On the Impossibility of Batch Update for Cryptographic Accumulators Philippe Camacho and Alejandro Hevia University of Chile
  • 2. Certificate Authority Bob CA Bob Bob Alice
  • 3. Certificate CRL/OSCP Authority PKI Bob YES/NO Bob Bob Bob Alice
  • 4. Owns a Set of valid certificates Central X={x1,x2,…} Authority Insert/ Delete Bob Alice
  • 5. Owns a Set Central X={x1,x2,…} Authority INSERT/ DELETE Bob Alice
  • 6. Replay Attack INSERT x Central Sign(x,SK)= σx YES: σx Authority (PK,SK) Does x belong to X?
  • 7. Replay Attack Central Delete x YES: σx Authority (PK,SK) Does x belong to X?
  • 8. Manager Acc1, Acc2, Acc3 Insert(x) Witness ( x , ) Bob Alice Verify( x , , Acc3) = YES
  • 9. Manager Acc1, Acc2, Acc3, Acc4 Delete(x) OK Bob Alice Verify( x , , Acc4) = FAIL
  • 10. Manager Acc1, Acc2, Acc3,… Cryptographic Insert(x) Accumulator Witness ( x , ) Bob Alice Verify( x , , Acc3) = YES
  • 11. Main constructions Security Note [BeMa94] RSA + RO First definition [BarPfi97] Strong RSA - First dynamic [CamLys02] Strong RSA accumulator First universal [LLX07] Strong RSA accumultor [Ngu05] Pairings E-cash, ZK-Sets,… eStrong RSA [WWP08] Batch Update Paillier [CHKO08] Collision-Resistant Hashing Untrusted Manager [CKS09] Pairings Group multiplication
  • 12. Manager Acc1, Acc2, Acc3 x1 w1 x2 w2 x3 w3 Bob 1 Bob 2 Bob 3
  • 13. Problem: after each update of the accumulated value it is necesarry to recompute all the witnesses.
  • 14. Delegate Witness Computation? Manager Verify(x,w,Acc) Replica Constructions (Compute User (Verify) a single witness) [CL02] O(|X|) O(1) [GTT09] O(|X|1/ε) O(ε) [CHK08] O(log |X|) O(log |X|)
  • 15. Batch Update [FN02] Manager …,Acc99, Acc100, Acc101,…, Acc200,… Upd100,200 Bob 1 Bob 2 Bob 29 Bob 42 (x1,w1,Acc100) (x36,w36,Acc100) (x1,w1,Acc100) (x1,w1,Acc100) ( x2,w2,Acc100) ( x87,w87,Acc100) ( x20,w20,Acc100) ( x2,w2,Acc100) ( x6,w6,Acc100) ( x69,w68,Acc100) ( x6,w6,Acc100) ( x64,w64,Acc100) …. …
  • 16. Batch Update [FN02] Manager …,Acc99, Acc100, Acc101,…, Acc200,… Bob 1 Bob 2 Bob 29 Bob 42 (x1,w1’,Acc200) (x36,w36’,Acc200) (x1,w1’,Acc200) (x1,w1’,Acc200) ( x2,w2’,Acc200) ( x87,w87’,Acc200) ( x20,w20’,Acc200) ( x2,w2’,Acc200) ( x6,w6’,Acc200) ( x69,w68’,Acc200) ( x6,w6’,Acc200) ( x64,w64’,Acc200) …. …
  • 17. Batch Update [FN02] Trivial solution: UpdXi,Xj = {list of all witnesses for Xj} More interesting: |UpdXi,Xj| = O(1)
  • 18. What happens with [CL02]? • PK=(n,g) with n=pq and g є Zn* • AccØ := g mod n • Insert(x,Acc) := Accx mod n /* x prime */ • Delete(x,Acc) := Acc1/x mod n ? • WitGen(x,Acc) := Acc1/x mod n • Verify(x,w,Acc): wx = Acc • |UpdXi,Xj| = O(|{list of insertions / deletions}|)
  • 19. Syntax of B.U. Accumulators Algorithm Returns Who runs it KeyGen(1k) PK,SK,AccØ Manager AddEle(x,AccX,SK) AccX  {x} Manager DelEle(x,AccX,SK) AccX{x} Manager WitGen(x,AccX,SK) Witness w relative to AccX Manager Verify(x,w,AccX,PK) Returns Yes whether x є X User UpdWitGen(X,X’,SK) UpdX,X’ for elements x є X  X’ Manager UpdWit(w,AccX,AccX’,UpdX,X’,PK) New witness w’ for x є X’ User
  • 20. Correctness • Definition The scheme is correct iff: w := WitGen(x,AccX,SK)  Verify(x,w,AccX,PK) = Yes w := WitGen(x,AccX,SK) Verify(x,w’,AccX’,PK) = Yes UpdX,X’ := UpdWitGen(X,X’,SK) w’ := WitGen(w,AccX,AccX’,UpdX,X’,PK)
  • 21. Security Model [CL02,WWP08] PK,AccØ Insert Request for xi (Adversary) Acc (Oracle) … Delete Request for xj Acc’ Witness Request for xi w … UpdateInfo Request from k to l Upd k,l … (x,w) such that w is valid but x є X
  • 23. Attack on [WWP08] User Manager X0 := Ø Insert x1 Delete x1 X 1 := {x1} Please send UpdX1,X2 X2 := Ø UpdX1,X2 With UpdX1,X2 I can update my witness wx1 But x1 does not belong to X2!
  • 24. Batch Update is Impossible • Theorem: Let Acc be a secure accumulator scheme with deterministic UpdWit and Verify algorithms. For an update involving m delete operations in a set of N elements, the size of the update information UpdX,X' required by the algorithm UpdWit is (m log(N/m)). In particular if m=N/2 we have |UpdX,X'| =  (m) = (N)
  • 25. Proof 1/3 User Manager X={x1,x2,…,xN} X={x1,x2,…,xN} Compute AccX , {w1,w2,…,wN} AccX, {w1,w2,…,wN} Delete Xd:={xi1,xi2,…,xim} X’ := XXd Compute AccX’ , UpdX,X’ AccX’,UpdX,X’
  • 26. Proof 2/3 CASE 1 CASE 2 If x is not in X’ => If x is in X’ => X={x1,x2,…,xN} Scheme insecure Scheme incorrect {w1,…,wN} AccX, AccX’, UpdX,X’ x still in X’ x not in X’ anymore User CASE 1 YES For each element w’ := xєX x UpdWit(w,AccX,AccX’,UpdX,X’) w’ valid? NO CASE 2 User can reconstruct the set Xd
  • 27. Proof 3/3 • There are ( ) subsets of m elements in a set N m of N elements • We need log( ) ≥ m log(N/m) bits N m to encode Xd (See updated version at eprint soon for a detailed proof)
  • 28. Conclusion • Batch Update is impossible. • Batch Update for accumulators with few delete operations? • Improve the lower bound in a factor of k.
  • 30. Correction • With negligible probability Bob could obtain a fake witness (and the scheme would still be secure) => The number of “good”subsets Xd is less than ( ) N m
  • 31. A more careful analysis • Pr[Xd leads to a fake witness] ≤ ε(k) => #”Good Xd sets” ≥ ( ) (1- ε(k)) N m => |UpdX,X'| ≥ m log(M/m) + log(1- ε(k)) => |UpdX,X'| ≥ m log(M/m) -1 => |UpdX,X'| = ( m log(M/m))