Methods and Apparatus for Efficient Computation of One-Way Chains in Cryptographic Applications
First Claim
1. A method implemented by a processor, the processor being coupled to a memory, the memory having a designated amount of storage available for storing values of a one-way chain, the designated amount of available storage being less than that required to store simultaneously all of the values of the one-way chain, the method comprising the steps of:
- storing in the memory a subset of the values of the one-way chain as helper values for facilitating computation of other values of the one-way chain not in the subset;
utilizing one of the values in the subset of values to compute one of the other values of the one-way chain not in the subset;
generating a cryptographic output determined by the computed value not in the subset; and
updating the stored subset of values of the one-way chain so as to replace at least one of the helper values with a new helper value not previously part of the subset.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed for efficient computation of consecutive values of one-way chains and other one-way graphs in cryptographic applications. The one-way chain or graph may be a chain of length s having positions i=1, 2, . . . s each having a corresponding value vi associated therewith, wherein the value vi is given by vi=h(vi+1), for a given hash function or other one-way function h. A given one of the output values vi at a current position in the one-way chain may be computed utilizing a first helper value previously stored for another position in the one-way chain between the current position and an endpoint of the chain. After computation of the given output value, the positions of the helper values are adjusted so as to facilitate computation of subsequent output values.
7 Citations
20 Claims
-
1. A method implemented by a processor, the processor being coupled to a memory, the memory having a designated amount of storage available for storing values of a one-way chain, the designated amount of available storage being less than that required to store simultaneously all of the values of the one-way chain, the method comprising the steps of:
-
storing in the memory a subset of the values of the one-way chain as helper values for facilitating computation of other values of the one-way chain not in the subset; utilizing one of the values in the subset of values to compute one of the other values of the one-way chain not in the subset; generating a cryptographic output determined by the computed value not in the subset; and updating the stored subset of values of the one-way chain so as to replace at least one of the helper values with a new helper value not previously part of the subset. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus comprising:
-
a processor; and a memory coupled to the processor and having a designated amount of storage available for storing values of a one-way chain, the designated amount of available storage being less than that required to store simultaneously all of the values of the one-way chain; the processor being configured to store in the memory a subset of the values of the one-way chain as helper values for facilitating computation of other values of the one-way chain not in the subset;
to utilize one of the values in the subset of values to compute one of the other values of the one-way chain not in the subset;
to generate a cryptographic output determined by the computed value not in the subset; and
to update the stored subset of values of the one-way chain so as to replace at least one of the helper values with a new helper value not previously part of the subset. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A machine-readable medium for storing one or more programs for use by a processor in generating values of a one-way chain, the processor being coupled to a memory, the memory having a designated amount of storage available for storing values of a one-way chain, the designated amount of available storage being less than that required to store simultaneously all of the values of the one-way chain, the one or more programs when executed causing the processor to perform the steps of:
-
storing in the memory a subset of the values of the one-way chain as helper values for facilitating computation of other values of the one-way chain not in the subset; utilizing one of the values in the subset of values to compute one of the other values of the one-way chain not in the subset; generating a cryptographic output determined by the computed value not in the subset; and updating the stored subset of values of the one-way chain so as to replace at least one of the helper values with a new helper value not previously part of the subset.
-
-
20. A method implemented by a processor, the processor being coupled to a memory, the method comprising the steps of:
-
storing in the memory a first subset of values of a one-way chain as initial helper values for facilitating computation of other values of the one-way chain not in the first subset; utilizing one of the values in the first subset of values to compute one of the other values of the one-way chain not in the first subset; generating a cryptographic output determined by the computed value not in the first subset; and storing in the memory a second subset of the values of the one-way chain, different than the first subset of values of the one-way chain, as updated helper values for facilitating computation of other values of the one-way chain not in the second subset; wherein at least a portion of the memory that is used to store the first subset of values of the one-way chain is reused to store the second subset of values of the one-way chain.
-
Specification