US 12,438,718 B2
Storing data in a tree using bilinear accumulation
Kaoutar El Khiyaoui, Zurich (CH); Angelo De Caro, Zürich (CH); and Elli Androulaki, Zürich (CH)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by International Business Machines Corporation, Armonk, NY (US)
Filed on Mar. 28, 2023, as Appl. No. 18/191,029.
Claims priority of application No. 2410-0004610359 (GR), filed on Nov. 17, 2022.
Prior Publication US 2024/0171394 A1, May 23, 2024
Int. Cl. H04L 9/30 (2006.01); H04L 9/32 (2006.01)
CPC H04L 9/30 (2013.01) [H04L 9/3236 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method for storing a set of n data entries {α1, α2, . . . , αn}, the method comprising:
creating a tree of ary l such that n leaf nodes of the tree comprise a set of hash values of the set of data entries respectively;
for each parent node of the tree, computing a bilinear accumulator of hash values of l children of the parent node, and computing a hash value of the bilinear accumulator, wherein computing the bilinear accumulator comprises:
defining a set of at least l+1 public keys {gζds j:0≤j≤l} from a secret key ζ, g being a generator of a cyclic group of the bilinear accumulator, and
evaluating a polynomial p(X) of degree higher than or equal to l at the secret key ζ, the polynomial having coefficients which are function of at least the l hash values, wherein the bilinear accumulator is a commitment to a polynomial p(ζ);
publishing a root node of the tree as a representation of the set of data entries;
receiving a request for proof of inclusion of a data entry a, the request including the root node;
generating a proof based on the root node and a leaf node associated with the data entry; and
in response to the request, providing the proof.