Configurable cryptographic processing engine and method
First Claim
Patent Images
1. A configurable cryptographic engine comprising:
- a first and second microcode memory for storing respective first and second channel programs;
a microsequencer for processing one of said channel programs; and
an execution unit having first and second registers for storing respectively, first and second context associated respectively with said first and second channel programs,wherein said microsequencer configures said execution unit in response to said first channel program and said execution unit processes a first data unit in accordance with said first context and said first channel program, andwherein said second channel program is loaded into said second microcode memory and said second context is loaded into said second registers during the processing of said first data unit for subsequently processing a second data by said execution unit.
6 Assignments
0 Petitions
Accused Products
Abstract
A configurable cryptographic processing engine (100) provides high performance cryptographic processing support for symmetric combiner type cryptographic algorithms. As many as two independent cryptographic algorithms may be performed at the same time through the processes of background staging and algorithm multi-tasking. A 3-stage instruction pipeline, dynamically configurable cryptographic co-processor (550), and 32-bit RISC based architecture support high performance cryptographic processing performance on the order of 60 Mbps aggregate throughput.
-
Citations
25 Claims
-
1. A configurable cryptographic engine comprising:
-
a first and second microcode memory for storing respective first and second channel programs; a microsequencer for processing one of said channel programs; and an execution unit having first and second registers for storing respectively, first and second context associated respectively with said first and second channel programs, wherein said microsequencer configures said execution unit in response to said first channel program and said execution unit processes a first data unit in accordance with said first context and said first channel program, and wherein said second channel program is loaded into said second microcode memory and said second context is loaded into said second registers during the processing of said first data unit for subsequently processing a second data by said execution unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a configurable cryptographic engine comprised of first and second microcode memories, a microsequencer, an execution unit that includes a cryptographic co-processor, a method for processing data units comprising the steps of:
-
loading a first channel program into said first microcode memory; loading first configuration bits associated with said first channel program into first registers associated with said execution unit; loading first context of said first channel program into second registers associated with said cryptographic co-processor; providing, by said microsequencer, first program parameters based on said first channel program to said cryptographic co-processor for configuring said cryptographic co-processor for an operation; and performing, by said cryptographic co-processor, as configured with said first program parameters, said operation on a first data unit, said operation determined, at least in part, by said first channel program and said first context. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. In a configurable processing engine comprised of first and second microcode memories, a microsequencer, and an execution unit, wherein said first microcode memory has a first channel program stored therein, a method for processing data units comprising the steps of:
-
said microsequencer providing first configuration bits to said execution unit based on said first channel program; said execution unit processing a first data unit based on said first configuration bits and first context associated with said first channel program, said first context being stored in a first context register associated with said execution unit; and loading a second channel program into said second microcode memory during the performance of the processing step. - View Dependent Claims (18, 19)
-
-
20. A configurable cryptographic processing engine comprising:
-
a first control unit for performing a first channel program wherein said first channel program operates on a first data unit, said first control unit for performing a second channel program wherein said second channel program operates on a second data unit, subsequent to performing said first channel program; a first memory for storing said first channel program; a second memory for storing said second channel program, said second channel program being loaded in the second memory during the performance of said first channel program; and a first execution unit for performing operations on selected portions of said first data unit based on the first channel program, said first execution unit for performing operations on selected portions of said second data unit based on the second channel program, subsequent to performing operations on said first data unit. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification