Title :
A public-key cryptographic processor for RSA and ECC
Author :
Eberle, Hans ; Gura, Nils ; Shantz, Sheueling Chang ; Gupta, Vipul ; Rarick, Leonard ; Sundaram, Shreyas
Author_Institution :
Sun Microsystems Labs., Santa Clara, CA, USA
Abstract :
We describe a general-purpose processor architecture for accelerating public-key computations on server systems that demand high performance and flexibility to accommodate large numbers of secure connections with heterogeneous clients that are likely to be limited in the set of cryptographic algorithms supported. Flexibility is achieved in that the processor supports multiple public-key cryptosystems, namely RSA, DSA, DH, and ECC, arbitrary key sizes and, in the case of ECC, arbitrary curves over fields GF(p) and GF(2m). At the core of the processor is a novel dual-field multiplier based on a modified carry-save adder (CSA) tree that supports both GF(p) and GF(2m). In the case of a 64-bit integer multiplier, the necessary modifications increase its size by a mere 5%. To efficiently schedule the multiplier, we implemented a multiply-accumulate instruction that combines several steps of a multiple-precision multiplication in a single operation: multiplication, carry propagation, and partial product accumulation. We have developed a hardware prototype of the cryptographic processor in FPGA technology. If implemented in current 1.5 GHz processor technology, the processor executes 5,265 RSA-1024 op/s and 25,756 ECC-163 op/s - the given key sizes offer comparable security strength. Looking at future security levels, performance is 786 op/s for RSA-2048 and 9,576 op/s for ECC-233.
Keywords :
Galois fields; adders; carry logic; client-server systems; field programmable gate arrays; multiplying circuits; public key cryptography; 1.5 GHz; CSA tree; DH cryptography; DSA cryptography; ECC cryptography; FPGA technology; RSA cryptography; carry propagation; carry-save adder; cryptographic algorithms; general-purpose processor architecture; multiple public-key cryptosystems; multiple-precision multiplication; partial product accumulation; public-key computations; public-key cryptographic processor; security levels; server systems; Acceleration; Computer architecture; DH-HEMTs; Elliptic curve cryptography; Hardware; High performance computing; Processor scheduling; Public key; Public key cryptography; Security;
Conference_Titel :
Application-Specific Systems, Architectures and Processors, 2004. Proceedings. 15th IEEE International Conference on
Print_ISBN :
0-7695-2226-2
DOI :
10.1109/ASAP.2004.1342462