Apparatus and method for implementing a block cipher algorithm
First Claim
1. A cryptographic unit configured to implement a block cipher algorithm, said cryptographic unit comprising:
- state storage configured to store cipher state, wherein said cipher state includes a plurality of rows and a plurality of columns; and
a cipher pipeline comprising a plurality of pipeline stages, wherein each pipeline stage is configured to perform a corresponding step of said block cipher algorithm on said cipher state, wherein a given one of said pipeline stages is configured such that a maximum number of columns that said given pipeline stage is operable to concurrently process is fewer than all of said columns of said cipher state, and wherein during execution of a given round of said block cipher algorithm, said given pipeline stage is operable to process said cipher state in portions over multiple distinct cycles of operation.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for implementing a block cipher algorithm. In one embodiment, a cryptographic unit configured to implement a block cipher algorithm may include state storage configured to store cipher state, where the cipher state includes a plurality of rows and a plurality of columns. The cryptographic unit may further include a cipher pipeline comprising a plurality of pipeline stages, where each pipeline stage is configured to perform a corresponding step of the block cipher algorithm on the cipher state, and where a given one of the pipeline stages is configured to concurrently process fewer than all of the columns of the cipher state.
95 Citations
27 Claims
-
1. A cryptographic unit configured to implement a block cipher algorithm, said cryptographic unit comprising:
-
state storage configured to store cipher state, wherein said cipher state includes a plurality of rows and a plurality of columns; and a cipher pipeline comprising a plurality of pipeline stages, wherein each pipeline stage is configured to perform a corresponding step of said block cipher algorithm on said cipher state, wherein a given one of said pipeline stages is configured such that a maximum number of columns that said given pipeline stage is operable to concurrently process is fewer than all of said columns of said cipher state, and wherein during execution of a given round of said block cipher algorithm, said given pipeline stage is operable to process said cipher state in portions over multiple distinct cycles of operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, comprising:
-
storing cipher state of a block cipher algorithm, wherein said cipher state includes a plurality of rows and a plurality of columns; and executing said block cipher algorithm in a plurality of pipeline stages, wherein each pipeline stage is configured to perform a corresponding step of said block cipher algorithm on said cipher state; wherein executing said block cipher algorithm comprises a given one of said pipeline stages concurrently processing a maximum number of columns of said cipher state that is fewer than all of said columns of said cipher state; and wherein executing said block cipher algorithm further comprises, for a given round of said block cipher algorithm, said given pipeline stage processing said cipher state in portions over multiple distinct cycles of operation. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system, comprising:
-
a system memory; and a processor coupled to said system memory and comprising a cryptographic unit configured to implement a block cipher algorithm, said cryptographic unit comprising; state storage configured to store cipher state, wherein said cipher state includes a plurality of rows and a plurality of columns; and a cipher pipeline comprising a plurality of pipeline stages, wherein each pipeline stage is configured to perform a corresponding step of said block cipher algorithm on said cipher state, wherein a given one of said pipeline stages is configured such that a maximum number of columns that said given pipeline stage is operable to concurrently process is fewer than all of said columns of said cipher state, and wherein during execution of a given round of said block cipher algorithm, said given pipeline stage is operable to process said cipher state in portions over multiple distinct cycles of operation. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification