Claims
- 1. Cryptography processor for carrying out operations for cryptographic applications, comprising the following:
a central processing unit for obtaining commands for executing an operation and for outputting results of an operation; a co-processor coupled to the central processing unit, the co-processor comprising the following:
a plurality of calculating subunits, each calculating subunit comprising at least one arithmetical unit; and a single control unit coupled to each of the plurality of calculating subunits and arranged to sub-divide an operation into sub-operations, to distribute the sub-operations among the plurality of calculating subunits and to control the execution of the operation by the plurality of calculating subunits, wherein the plurality of calculating subunits, the central processing unit, and the control unit are integrated on a single chip, and wherein the single chip comprises a common supply current access for supplying the plurality of calculating subunits, the central processing unit, and the control unit with current.
- 2. Cryptography processor as claimed in claim 1, wherein the operations for cryptographic applications include a modular exponentiation and/or a modular multiplication.
- 3. Cryptography processor as claimed in claim 1, wherein each calculating subunit is arranged to process binary numbers with at least 512 digits and preferably at least 1024 or 2048 digits.
- 4. Cryptography processor as claimed in claim 1, which further comprises a memory associated only with the central processing device.
- 5. Cryptography processor as claimed in claim 1, comprising the following:
a clock generation device for delivering a clock to the processing device, to the plurality of calculating subunits and to the control unit, the clock generation device also being integrated on the single chip.
- 6. Processor as claimed in claim 1, wherein each calculating subunit further comprises a plurality of registers exclusively assigned to the arithmetical unit of the respective calculating subunit.
- 7. Processor as claimed in claim 6,
wherein the length of the plurality of registers assigned to a calculating subunit, and the length of the plurality of registers associated with another calculating subunit differ, such that the calculating subunits may carry out arithmetical calculations with numbers of differing lengths in each case.
- 8. Cryptography processor as claimed in claim 6, wherein the number of registers associated with a calculating subunit is sufficient so as to hold operands for at least two sub-operations, so that for at least two sub-operations no transferral of operands between the co-processor and the central processing device is necessary.
- 9. Cryptography processor as claimed in claim 8, wherein the control unit further comprises: a device for controlling, in terms of time, the operation of the calculating subunits, such that the order of the at least two sub-operations, the operations of which are stored in the registers of a calculating subunit, is adjustable.
- 10. Cryptography processor as claimed in claim 6, further comprising:
a device for switching off a calculating subunit if it is determined by the control device that no sub-operations exist for the one calculating subunit, so as to reduce the current consumption of the processor.
- 11. Cryptography processor as claimed in claim 1, wherein the control device is arranged to combine at least two calculating subunits into a cluster, such that a sub-operation is assigned to the cluster, so that this sub-operation is executable jointly by the calculating subunits of the cluster.
- 12. Cryptography processor as claimed in claim 6, wherein each calculating subunit comprises a word length specified by the number width of the arithmetical unit, and wherein the control unit is arranged to interconnect at least two calculating subunits in such a manner that the interconnected calculating subunits may perform a calculation with numbers whose word length is equal to the sum of the number widths of the interconnected calculating subunits.
- 13. Cryptography processor as claimed in claim 1, wherein the arithmetical unit of at least one calculating subunit comprises a serial/parallel calculating unit implemented such that a number of calculations are executable in parallel in one cycle, the number being equal to the digits of a number used in the calculation, and the same calculation as the first cycle being performed in a different, later cycle in a serial manner using the result of the one cycle.
- 14. Cryptography processor as claimed in claim 13, wherein one calculating subunit is implemented for a modular multiplication so as to add, in the one cycle, a partial product to one result of a previous cycle, and so as to add, in a further cycle, the result of the latest cycle to a next partial product.
- 15. Cryptography processor as claimed in claim 14, wherein the arithmetical unit comprises a three-operands adder for a modular multiplication, which three-operands adder comprises the following for each digit of a processed number:
a half adder for an addition without carry with three inputs and two outputs; and a downstream full adder with two inputs and one output.
Priority Claims (1)
Number |
Date |
Country |
Kind |
100 61 997.5 |
Dec 2000 |
DE |
|
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a continuation of copending International Application No. PCT/EP01/14349, filed Dec. 6, 2001, which designated the United States and was not published in English.
Continuations (1)
|
Number |
Date |
Country |
Parent |
PCT/EP01/14349 |
Dec 2001 |
US |
Child |
10461905 |
Jun 2003 |
US |