Instruction set extension for long integer modulo arithmetic on RISC-based smart cards
Resumo
Modulo multiplication of long integers (/spl ges/ 1024 bits) is the major operation of many public-key cryptosystems like RSA or Diffie-Hellman. The efficient implementation of modulo arithmetic is a challenging task, in particular on smart cards due to their constrained resources and relatively slow clock frequency. We present the concept of an application-specific instruction set extension (ISE) for long integer arithmetic. We introduce an optimized multiply-and-accumulate (MAC) unit that makes it possible to compute a/spl times/b+c+d with only one instruction, whereby a, b, c, d are single-precision words (unsigned integers). This additional instruction is simple to incorporate into common RISC architectures like the MIPS32. Experimental results show that the inner-product operation of a multiple-precision multiplication can be accelerated by a factor of two without increasing the processor's clock frequency. We also estimate the execution time of a 1024-bit modulo exponentiation assuming that this special MAC instruction was made available. The proposed ISE is an alternative solution to a crypto co-processor especially for multi-application smart cards (e.g., Java cards) with an embedded 32-bit RISC core.
Palavras-chave:
Arithmetic, Smart cards, Clocks, Frequency, Reduced instruction set computing, Public key cryptography, Computer aided instruction, Computer architecture, Acceleration, Coprocessors
Publicado
28/10/2002
Como Citar
GROSSSCHADL, J..
Instruction set extension for long integer modulo arithmetic on RISC-based smart cards. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 14. , 2002, Vitória/ES.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2002
.
p. 13-19.
