Secure hash algorithm in digital hardware for cryptographic applications
AssigneePeerNova, Inc.
InventorsArvind Agrawal, Gangesh Kumar Ganesan
Life of this patent
Estimating the term…
Abstract
Technology, implemented in digital hardware, software, or combination thereof, for completing Secure Hash Algorithm (SHA-2) computation with generating one new hash value at each clock cycle is described. The technology includes: using synchronous logic to store the computed values every alternate clock and combinational logic to process multiple rounds of SHA in each clock; completing hash calculation in unrolled modes; using efficient adders for most 32-bit adders to improve performance.
Claims10
A digital circuit for generating a hash of a message using a secure hashing algorithm, the digital circuit comprising:
- a plurality of expansion circuits, each expansion circuit configured to receive at least a portion of the message and generate first and second expanded message blocks based on an expansion function applied to the portion of the message;
- a plurality of pipelined compression circuits, each compression circuit corresponding to an expansion circuit and configured to receive the first and second expanded message blocks generated by the corresponding expansion circuit and a plurality of initial hash variables associated with a first round of compression, said each compression circuit comprising:
- first compression logic configured to receive the plurality of initial hash variables and a first expanded message block and generate a plurality of intermediary working variables including a first intermediary working variable, a second intermediary working variable, and a third intermediary working variable, by applying a compression function to the plurality of initial hash variables and the first expanded message block, the plurality of intermediary working variables associated with a second round of compression;
- and
- second compression logic coupled to the first compression logic and configured to receive the second expanded message block and the second and the third intermediary working variables, and generate a plurality of output hash variables associated with a third round of compression by applying the compression function to the second expanded message block and the second and the third intermediary working variables, the output hash variables provided as input to a next compression module in the plurality of pipelined compression modules.
Dependencies are inferred from the claim text.