INSTRUCTIONS PROCESSORS, METHODS, AND SYSTEMS TO PROCESS SECURE HASH ALGORITHMS
First Claim
1. A method comprising:
- receiving an instruction, the instruction indicating a first source of a first packed data including state data elements ai, bi, ei, and fi for a current round (i) of a secure hash algorithm 2 (SHA2) hash algorithm, the instruction also indicating a second source of a second packed data, wherein the first packed data has a width in bits that is less than a combined width in bits of eight state data elements the ai, the bi, ci, di, the ei, the fi, gi, and hi of the SHA2 hash algorithm; and
storing a result in a destination indicated by the instruction in response to the instruction, the result including updated state data elements ai+, bi+, ei+, and fi+ that have been updated from the corresponding state data elements ai, bi, ei, and fi by at least one round of the SHA2 hash algorithm.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of an aspect includes receiving an instruction. The instruction indicates a first source of a first packed data including state data elements ai, bi, ei, and fi for a current round (i) of a secure hash algorithm 2 (SHA2) hash algorithm. The instruction indicates a second source of a second packed data. The first packed data has a width in bits that is less than a combined width in bits of eight state data elements ai, bi, ci, di, ei, fi, gi, hi of the SHA2 hash algorithm. The method also includes storing a result in a destination indicated by the instruction in response to the instruction. The result includes updated state data elements ai+, bi+, ei+, and fi+ that have been updated from the corresponding state data elements ai, bi, ei, and fi by at least one round of the SHA2 hash algorithm.
-
Citations
30 Claims
-
1. A method comprising:
-
receiving an instruction, the instruction indicating a first source of a first packed data including state data elements ai, bi, ei, and fi for a current round (i) of a secure hash algorithm 2 (SHA2) hash algorithm, the instruction also indicating a second source of a second packed data, wherein the first packed data has a width in bits that is less than a combined width in bits of eight state data elements the ai, the bi, ci, di, the ei, the fi, gi, and hi of the SHA2 hash algorithm; and storing a result in a destination indicated by the instruction in response to the instruction, the result including updated state data elements ai+, bi+, ei+, and fi+ that have been updated from the corresponding state data elements ai, bi, ei, and fi by at least one round of the SHA2 hash algorithm. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus comprising:
-
a plurality of packed data registers; and an execution logic coupled with the plurality of the packed data registers, the execution logic operable, in response to an instruction that is to indicate a first source of a first packed data that is to include state data elements ai, bi, ei, and fi for a current round (i) of a secure hash algorithm 2 (SHA2) hash algorithm, and the instruction to also indicate a second source of a second packed data, wherein the first packed data is to have a width in bits that is less than a combined width in bits of eight state data elements the ai, the bi, ci, di, the ei, the fi, gi, and hi of the SHA2 hash algorithm, the execution logic operable to store a result in a destination indicated by the instruction, the result to include updated state data elements ai+, bi+, ei+, and fi+ that are to be updated from the corresponding state data elements ai, bi, ei, and fi by at least one round of the SHA2 hash algorithm. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
an interconnect; a processor coupled with the interconnect, the processor to receive an instruction that is to indicate a first source of a first packed data that is to include state data elements ai, bi, ei, and fi for a current round (i) of a secure hash algorithm 2 (SHA2) hash algorithm, the instruction also to indicate a second source of a second packed data, wherein the first packed data is to have a width in bits that is less than a combined width in bits of eight state data elements of the SHA2 hash algorithm, the processor operable, in response to the instruction, to store a result in a destination indicated by the instruction, the result to include updated state data elements ai+, bi+, ei+, and fi+ that are to be updated from the corresponding state data elements ai, bi, ei, and fi by at least one round of the SHA2 hash algorithm; and a dynamic random access memory (DRAM) coupled with the interconnect. - View Dependent Claims (21, 22)
-
-
23. An article of manufacture comprising:
-
a tangible non-transitory machine-readable storage medium, the tangible non-transitory machine-readable storage medium storing an instruction, the instruction to indicate a first source of a first packed data including state data elements ai, bi, ei, and fi for a current round (i) of a secure hash algorithm 2 (SHA2) hash algorithm, the instruction also to indicate a second source of a second packed data, wherein the first packed data is to have a width in bits that is less than a combined width in bits of eight state data elements of the SHA2 hash algorithm, and the instruction if executed by a machine operable to cause the machine to perform operations comprising storing a result in a destination to be indicated by the instruction, the result including updated state data elements ai+, bi+, ei+, and fi+ that have been updated from the corresponding state data elements ai, bi, ei, and fi by at least one round of the SHA2 hash algorithm. - View Dependent Claims (24, 25)
-
-
26. An apparatus comprising:
-
a plurality of packed data registers; and execution logic coupled with the plurality of the packed data registers, the execution logic operable, in response to an instruction that is to indicate a first source of a first packed data that is to include state data elements gi and hi for a current round (i) of a secure hash algorithm 2 (SHA2) hash algorithm, wherein the first packed data is to have a width in bits that is less than a combined width in bits of eight state data elements ai, bi, ci, di, ei, fi, the gi, and the hi of the SHA2 hash algorithm, and the instruction to indicate a second source of a second packed data that is to represent message and constant inputs for the current round and for one round after the current round, wherein at least one of the first source and the second source are to include the state data elements ei and fi, the execution logic operable to store a result in a destination indicated by the instruction, the result to include; a first sum that is to include the state element hi added to a message input for the current round (W(i)) added to a constant input for the current round (K(i)) added to an evaluation of a Ch function with the state elements ei, fi, and gi for the current round added to an evaluation of a Σ
l function with the state element ei for the current round; anda second sum that is to include the state element gi added to a message input for one round after the current round W(i+1) added to a constant input for one round after the current round K(i+1). - View Dependent Claims (27, 28, 29, 30)
-
Specification