Back to results
US 7,623,660 B1Granted
Method and system for pipelined decryption
AssigneeXilinx, Inc.
InventorWarren E. Cory
Life of this patent
Estimating the term…
Abstract
A method and system for pipelined decryption is disclosed. One embodiment includes a circuit having an iterative calculation section and a cipher text storage section in support of cipher block chaining (CBC) encryption mode. The iterative calculation section may be pipelined and configured to process multiple ciphertexts at once for increased throughput.
Claims76
A circuit comprising an intermediate stage comprising:
- a storage section comprising a first plurality of storage units and coupled to receive ciphertext blocks at an input,
- a calculation section coupled in parallel with said storage section comprising a second plurality of storage units, and a plurality of calculation units coupled in series, wherein each storage unit of said second plurality of storage units corresponds to a calculation unit of said plurality of calculation units, and wherein each calculation unit of said plurality of calculation units is configured to perform a portion of a decryption operation on a different ciphertext block of said plurality of ciphertext blocks;
- and
- an output stage coupled to said storage section and said calculation section, wherein a ciphertext block of said plurality of ciphertext blocks stored in a storage unit of said first plurality of storage units and an output of said calculation section are received by said output stage.
1 more element
A circuit comprising:
- at least one intermediate stage, wherein
- said intermediate stage comprises a plurality of calculation units coupled in series to simultaneously perform a plurality of intermediate calculations, wherein an output of a last calculation unit of said plurality of calculation units is coupled to an input of a first calculation unit by way of a feedback path,
- said intermediate stage is configured to store a result of each of said intermediate calculations,
- each of said results is an input to a next one of said intermediate calculations,
- said intermediate stage is configured to perform each of said intermediate calculations on a different ciphertext block of said plurality of ciphertext blocks to process a plurality of ciphertext blocks simultaneously, and
- each of said intermediate calculations is an intermediate portion of a decryption operation, wherein said intermediate stage is configured to perform said intermediate calculations on each ciphertext block of said plurality of ciphertext blocks a plurality of times.
3 more elements
A method comprising:
- sequentially, receiving a plurality of ciphertext blocks at an input,
- simultaneously decrypting said plurality of Ciphertext blocks by a processor, said decrypting comprising
- iteratively, generating a plurality of processed ciphertext blocks in wherein each of said processed ciphertext blocks corresponds to one of said ciphertext blocks, and wherein said iteratively generating a plurality of processed ciphertext comprises simultaneously performing a plurality of intermediate calculations,
- storing a result of each of said intermediate calculations in a tangible storage media, and providing a result of each of said intermediate calculations to a next one of said intermediate calculations, wherein each of said results corresponds to one of Said ciphertext blocks, and each of said intermediate calculations is an intermediate, portion of a decryption operation.
1 more element
An apparatus comprising:
- means for sequentially receiving a plurality of ciphertext blocks,
- means for simultaneously decrypting said plurality of ciphertext blocks, said means for simultaneously decrypting comprising
- means for generating a plurality of processed ciphertext blocks, wherein
- each of said processed ciphertext blocks corresponds to one of said ciphertext blocks,
- said means for generating comprising
- a plurality of means for simultaneously performing an intermediate calculation, and
- means for providing a result generated by each of said plurality of means for simultaneously performing an intermediate calculation to a next one of said plurality of means for simultaneously performing an intermediate calculation,
- each of said results corresponds to one of said ciphertext blocks, and
- each means of said plurality of means for simultaneously performing an intermediate calculation is configured to perform an intermediate portion of a decryption operation;
- and
- means for storing a result of each means of said plurality of means for simultaneously performing an intermediate calculation.
8 more elements
Dependencies are inferred from the claim text.