Encryption processor with shared memory interconnect
First Claim
1. A programmable encryption device to process a plurality of secret key and public key encryption algorithms comprising, on a single chip:
- an array of processing elements which process successive rounds of an encryption algorithm in a processing element pipeline;
a public key core processor which performs a public key encryption algorithm;
global memory for global communication among the processing elements and for data transfer to and from the public key core processor; and
a control CPU which controls operations of the encryption device.
9 Assignments
0 Petitions
Accused Products
Abstract
An encryption chip is programmable to process a variety of secret key and public key encryption algorithms. The chip includes a pipeline of processing elements, each of which can process a round within a secret key algorithm. Data is transferred between the processing elements through dual port memories. A central processing unit allows for processing of very wide data words from global memory in single cycle operations. An adder circuit is simplified by using plural relatively small adder circuits with sums and carries looped back in plural cycles. Multiplier circuitry can be shared between the processing elements and the central processor by adapting the smaller processing element multipliers for concatenation as a very wide central processor multiplier.
190 Citations
4 Claims
-
1. A programmable encryption device to process a plurality of secret key and public key encryption algorithms comprising, on a single chip:
-
an array of processing elements which process successive rounds of an encryption algorithm in a processing element pipeline;
a public key core processor which performs a public key encryption algorithm;
global memory for global communication among the processing elements and for data transfer to and from the public key core processor; and
a control CPU which controls operations of the encryption device. - View Dependent Claims (2, 3, 4)
an input stage which receives a data stream to be encrypted and converts the data stream to block aligned data suitable for processing in the array of processing elements; and
an output stage which converts encrypted data to a data stream to be output from the encryption device.
-
Specification