System and method for implementing a hash algorithm
AssigneeInternational Business Machines Corporation
InventorsVincenzo Condorelli, Camil Fayad
Life of this patent
Estimating the term…
Abstract
A system and method for generating a message digest comprising: receiving a block of data and processing the block of data to achieve a message digest, the processing of the block of data including evaluating the block of data at time (t) in terms of time (t−x), wherein x is greater than or equal to 2.
Claims29
A method of generating a message digest, comprising:
- receiving a block of data;
- and
- processing said block of data to achieve a message digest, said processing of said block of data including evaluating said block of data at cycle=t in terms of cycle=(t−x), wherein x is greater than or equal to 2.
An improvement upon an SHA hashing algorithm, comprising:
- generating a message digest, said generation comprising:
- processing a block of data to achieve said message digest, said processing of said block of data including evaluating said block of data at cycle=t in terms of cycle=(t−x), wherein x is greater than or equal to 2.
An improvement upon an MD5 hashing algorithm, comprising:
- generating a message digest, said generation comprising:
- processing a block of data to achieve said message digest, said processing of said block of data including evaluating said block of data at cycle=t in terms of cycle=(t−x), wherein x is greater than or equal to 2.
A system for generating a message digest, comprising:
- a memory storage location for receiving a block of data;
- and
- a processor for processing said block of data to achieve a message digest, said processing of said block of data including evaluating said block of data at cycle=t in terms of cycle=(t−x), wherein x is greater than or equal to 2.
An article of manufacture comprising:
- a computer useable medium having computer readable program code embodied therein for generating a message digest, comprising:
- computer readable program code for receiving a block of data;
- and
- computer readable program code for processing said block of data to achieve a message digest, said processing of said block of data including evaluating said block of data at cycle=t in terms of cycle=(t−x), wherein x is greater than or equal to 2.
A method for generating a message digest, comprising:
- if a message is less than m bits, then padding said message;
- dividing said message into n words, said n words further comprising W[0] through W[n];
- performing the following:
- setting A equal to H0,
- setting B equal to H1,
- setting C equal to H2,
- setting D equal to H3,
- setting E equal to H4;
- establishing a counter for storing a value used in performing iteration, said counter being referred to as t;
- setting t to an initial value;
- setting a terminal value to an initial value;
- for t not equal to said terminal value, iteratively performing steps a-e:
- a. setting S equal to (T AND MASK);
- b. if t is greater than or equal to a first defined value, then setting W[t]equal to a the value of a first shiftbit operation;
- c. setting TEMP equal to the value of a second shiftbit operation+f(B,C,D)+E+W[s]+Kt, wherein Kt further comprises a constant value;
- d. performing the following:
- setting E equal to D,
- setting D equal to C,
- setting C equal to the value of a third shiftbit operation,
- setting B equal to A,
- setting A equal to TEMP;
- e. incrementing t;
- and performing the following:
- setting H0 equal to H0+A,
- setting H1 equal to H1+B,
- setting H2 equal to H2+C,
- setting H3 equal to H3+D,
- setting H4 equal to H4+E.
Dependencies are inferred from the claim text.