Apparatus and method for demonstrating and confirming the status of a digital certificates and other data
First Claim
1. A method comprising the computer implemented steps of:
- sorting a plurality of data items belonging to a superset of data items;
deriving a plurality of ranges using adjacent pairs of data items in said sorted plurality of data items as endpoints such that all data items in said plurality of the data items are at endpoints of said plurality of ranges and such that all other data items in said superset fall in-between the endpoints of said plurality of ranges;
generating a hash tree having leaf nodes that represent the plurality of ranges;
digitally signing a root node of the tree; and
electronically transmitting said digitally signed root node and parts of said tree onto a network for use in cryptographically demonstrating whether a given data item is one of said plurality of data items.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatuses for providing cryptographic assurance based on ranges as to whether a particular data item is on a list. According to one computer-implemented method, the items on the list are sorted and ranges are derived from adjacent pairs of data items on the list. Next, cryptographically manipulated data is generated from the plurality of ranges. At least parts of the cryptographically manipulated data is transmitted onto a network for use in cryptographically demonstrating whether any given data item is on the list. According to another computer-implemented method, a request message is received requesting whether a given data item is on a list of data items. In response, a range is selected that is derived from the pair of data items on the list that define the smallest range that includes the given data item. A response message is transmitted that cryptographically demonstrates whether the first data item is on the list using cryptographically manipulated data derived from the range. According to another computer-implemented method, a request message requesting an indication as to whether a first data item is on a list of data items is transmitted. In response, a message is received that cryptographically demonstrates whether the first data item is on the list, where the response message identifies a range that is derived from the pair of data items on the list that defines the smallest range that includes the first data item.
-
Citations
27 Claims
-
1. A method comprising the computer implemented steps of:
-
sorting a plurality of data items belonging to a superset of data items;
deriving a plurality of ranges using adjacent pairs of data items in said sorted plurality of data items as endpoints such that all data items in said plurality of the data items are at endpoints of said plurality of ranges and such that all other data items in said superset fall in-between the endpoints of said plurality of ranges;
generating a hash tree having leaf nodes that represent the plurality of ranges;
digitally signing a root node of the tree; and
electronically transmitting said digitally signed root node and parts of said tree onto a network for use in cryptographically demonstrating whether a given data item is one of said plurality of data items. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising the computer implemented steps of:
-
receiving a request message requesting whether a first data item is one of a plurality of data items belonging to a superset of data items;
selecting a range that is derived from a pair of data items in said plurality of data items that defines the smallest range that includes said first data item, wherein the first data item is not one of the plurality of data items if the first data item is in-between the endpoints of the selected range, and wherein the first data item is one of said plurality of data items if said first data item is on one of the endpoints of the selected range;
determining, for a tree having leaf nodes that represent ranges derived from adjacent pairs of said plurality of data items in a sorted list of said plurality of data items, a path through said tree from said selected range to a first of a set of root nodes; and
generating a response message that includes, data identifying said selected range in said response message, a set of nodes in said tree such that each node in said set of nodes and at least a previously identified node on said path can be combined to identify a previously unidentified node on said path, until said first root node is identified, the set of nodes and excluding at least certain nodes on the path from the response message, and a digitally signed representation of the first root node in said response message; and
electronically transmitting the response message onto a network. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method comprising the computer implemented steps of:
-
electronically transmitting a request message as to whether a first data item is one of a plurality of data items belonging to a superset of data items;
receiving a response message that includes, a digitally signed representation submitted to be a root node of a tree having leaf nodes that represent ranges, the ranges derived from adjacent pairs of data items in a sorted list of said plurality of data items, data identifying the range that includes said first data item, and a set of nodes in said tree sufficient to generate said root node starting from said range; and
determining if said first data item is one of said plurality of data items based on said range, wherein the first data item is not one of the plurality of data items if the first data item is in-between the endpoints of the selected range, and wherein the first data item is one of said plurality of data items if said first data item is on one of the endpoints of the selected range; and
generating said root node using said range and the set of nodes; and
determining if said digitally signed representation matches said root node. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification