High Speed Modular Multiplication Algorithm for RSA Cryptosystem

RSA 암호 시스템을 위한 고속 모듈라 곱셈 알고리즘

  • 조군식 (성균관대학교 전기전자컴퓨터공학부) ;
  • 조준동 (성균관대학교 전기전자컴퓨터공학부)
  • Published : 2002.03.01

Abstract

This paper presents a novel radix-4 modular multiplication algorithm based on the sign estimation technique (3). The sign estimation technique detects the sign of a number represented in the form of a carry-sum pair. It can be implemented with 5-bit carry look-ahead adder. The hardware speed of the cryptosystem is dependent on the performance modular multiplication of large numbers. Our algorithm requires only (n/2+3) clock cycle for n bit modulus in performing modular multiplication. Our algorithm out-performs existing algorithm in terms of required clock cycles by a half, It is efficient for modular exponentiation with large modulus used in RSA cryptosystem. Also, we use high-speed adder (7) instead of CPA (Carry Propagation Adder) for modular multiplication hardware performance in fecal stage of CSA (Carry Save Adder) output. We apply RL (Right-and-Left) binary method for modular exponentiation because the number of clock cycles required to complete the modular exponentiation takes n cycles. Thus, One 1024-bit RSA operation can be done after n(n/2+3) clock cycles.

본 논문에서는 sign estimation technique (3)을 기초로 한 radix-4 모듈라 곱셈 알고리즘을 제안한다. Sign estimation technique은 carry와 sum의 형태로 표현되는 수에서 부호를 알아내는 것이다. 이 방법은 5비트 carry look-ahead adder로 구현이 가능하다. RSA와 같은 암호화 시스템에서는 모듈라 곱셈이 하드웨어의 성능을 좌우한다. 제안한 알고리즘은 modulus가 n 비트인 경우, 모듈라 곱셈 수행시 일반적인 알고리즘의 약 반 클럭 (n/2+3) 사이클만 필요하다. 그래서 매우 큰수의 modulus 사용하는 RSA 암호시스템에서 모듈라 멱승 연산에 매우 효율적이다. 또한 모듈라 곱셈의 하드웨어 성능을 향상하기 위해, CSA (Carry Save Adder)의 맨 마지막 출력에 사용되는 CPA (Carry Propagation Adder) 대신 고속 덧셈기(7)를 사용하였다. 모듈라 멱승 계산이 n 클럭이 소요되는 RL binary 방법을 적용하여 1024 비트 데이터를 RSA 암호화하는데 n(n/2+3) 클럭 사이클만 소요된다.

Keywords

References

  1. 14th IEEE Symposium on Computer Arithmatic Montgomery modular exponentiation on reconfigurable hardware T. Blum;C. Paar
  2. Commun. ACM v.21 A method for obtaining digital signature and public-key cryptosystems R. L. Rivest;A. Shamir;L. Adleman https://doi.org/10.1145/359340.359342
  3. Electronics Letters v.26 no.13 Carry save adders for computing the product AB modulo N C. K. Koc;C. Y. Hung https://doi.org/10.1049/el:19900587
  4. Electronics Letters v.26 no.6 Multi-operand modulo addition using carry save adders C. K. Koc;C. Y. Hung https://doi.org/10.1049/el:19900235
  5. Journal of VLSI Signal Processing v.3 no.3 Bit-level systolic arrays for modular multiplication C. K. Koc;C. Y. Hung https://doi.org/10.1007/BF00925832
  6. IEE Proceedings Computers and Digital Techniques v.145 no.4 Fast algorithm for modular reduction C. K. Koc;C. Y. Hung https://doi.org/10.1049/ip-cdt:19982091
  7. Third Advanced Encryption Standard (AES) Candidate Conference High-speed MARS hardware A. Satoh;N. Ooba;K. Takano;E. D'Avignon
  8. TR 801, RSA Laboratories RSA Hardware Implementation C. K. Koc.
  9. Computer Arithmetic Algorithms and Hardware Designs Parhami Behrooz
  10. IBM, MEAC1024 High-performance crypto graphic engine
  11. PCC201 High Speed Exponentiator
  12. Mathematics of Computation v.44 no.170 Modular multiplication without trial division P.L. Montgomery https://doi.org/10.2307/2007970
  13. Handbook of Applied Cryptography Alfred j. Menezes
  14. IEEE Trans. on VLSI System. v.8 no.1 Two systolic architecture for modular multiplication W. C. Tsai;C.B. Shung;S.J.Wang
  15. ASP-DAC Radix-4 modular multiplication and exponentiation algorithm for the RSA public-key cryptosystem J.H. Hong;C.W. Wu