A modular exponentiation unit based on systolic arrays

  • Jörg Sauerbrey
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 718)


The described architecture of a modular exponentiation unit with systolic modular multipliers shows the following features:
  1. simple VLSI-implementation based on systolic arrays, which are improved versions of the multipliers proposed in [Atrubi65]

  2. two identical systolic arrays for the implementation of Montomery's modulo multiplication method

  3. small data-paths because of the serial operation mode

  4. the required number of clock cycles for a modular multiplication depends on the actual size of the operands and not on the size of the systolic arrays

  5. By the separation of the cells in the middle of the systolic arrays, the modular multiplier can be reconfigured such that two modular multipliers are available for the multiplication of operands with half of the size. This can be used for the parallel processing of an exponentiation using a half-sized modulus (less security requirements) or for an application of the Chinese Remainder Theorem.

  6. The throughput and the area demand of a chip for modular exponentiations based on this architecture can be widely effected by the selection of the design parameters (base b, number of modular multipliers, number of registers).



Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AliMar91]
    Alia, Giuseppe; Martinelli, Enrico: “A VLSI Modulo m Multiplier”, IEEE Transactions on Computers, Vol. 40, No. 7, pp. 873–878, July 1991Google Scholar
  2. [Atrubi65]
    Atrubin, A.J.: “A One-Dimensional Real-Time Iterative Multiplier”, IEEE Transactions on Computers, Vol. 14, pp. 394–399, 1965Google Scholar
  3. [Bricke89]
    Brickel, Ernest F.: “A Survey of Hardware Implementations of RSA”, in Brassard, G. (Ed.): “Advances in Cryptology — Crypto '89”, Proceedings (Lecture Notes in Computer Science 435), pp. 368–370, Springer, 1989Google Scholar
  4. [BrGoMc92]
    Brickell, E.; Gordon, D.M.; McCurley, K.; “Fast Exponentiation with Precomputation”, appears in Proceedings of EUROCRYPT'92, Springer, 1992Google Scholar
  5. [DusKal90]
    Dusse, Stephen R.; Kaliski, Burton S.: “A Cryptographic Library for the Motorola DSP56000”, in Damgard, I.B. (Ed.): “Advances in Cryptology — EUROCRYPT '90”, Proceedings (Lecture Notes in Computer Science 473), pp. 230–244, Springer, 1990Google Scholar
  6. [Eldrid91]
    Eldridge, Stephen E.: “A Faster Modular Multiplication Algorithm”, Intern. J. Computer Math., Vol. 40, pp. 63–68Google Scholar
  7. [EldWal]
    Eldridge, Stephen E.; Walter, Colin D.: “Hardware Implementations of Montgomery's Modular Multiplication Algorithm”, IEEE Transactions on Computers, to appearGoogle Scholar
  8. [Even90]
    Even, Shimon: “Systolic Modular Multiplication”, in Menezes, A.J.; Vanstone, S.A.(Eds.): “Advances in Cryptology — Crypto'90”, Proceedings (Lecture Notes in Computer Science 537), pp. 619–624, Springer, 1990Google Scholar
  9. [IwMaIm92a]
    Iwamura, K.; Matsumoto, T.; Imai, H.: “High-Speed Implementation Methods for RSA Scheme”, appears in Proceedings of EURORYPT'92, 1992Google Scholar
  10. [IwMaIm92b]
    Iwamura, K.; Matsumoto, T.; Imai, H.: “Modular Exponentiation Using Montgomery Method and the Systolic-Array”, IEICE Technical Report, Vol. 92, No. 134, pp. 49–54, ISEC92-7, 1992Google Scholar
  11. [Knuth81]
    Knuth, Donald E.: “The Art of Computer Programming, Vol. 2: Seminumerical Algorithms”, Second Edition, Addison-Wesley, Reading, Massachusetts, 1981Google Scholar
  12. [KocHun91]
    Koc, C. K.; Hung, C. Y.: “Bit-Level Systolic Arrays for Modular Multiplication”, Journal of VLSI Signal Processing, Vol. 3, pp. 215–223, Kluwer Academic Publishers, Boston, 1991Google Scholar
  13. [KunLei78]
    Kung, H. T.; Leierson, C. E.: “Systolic Arrays (for VLSI)” in Proc. Sparse Matrix Symp. SIAM, pp. 256–282, 1978Google Scholar
  14. [Kung82]
    Kung, H. T.: “Why Systolic Architectures?”, Computer, Vol. 15, No. 1, pp. 37–46, IEEE, January 1982Google Scholar
  15. [LipPos90]
    Lippitsch, P.; Posch, K.C.; Posch, R.: “Multiplication As Parallel As Possible”, Institute for Information Processing Graz, Report 290, October 1990Google Scholar
  16. [Montgo85]
    Montgomery, P. L.: “Modular Multiplication Without Trial Division”, Mathematics of Computation, Vol. 44, No. 170, pp. 519–521, April 1985Google Scholar
  17. [Morita90]
    Morita, Hikaru: “A Fast Modular-Multiplication Module for Smart Cards”, Proceedings of AUSCRYPT '90 (Lecture Notes in Computer Science 453), pp. 406–409, Springer, January 1990Google Scholar
  18. [OrSvAn90]
    Orup, H.; Svendsen, E.; Andreasen, E.: “VICTOR — and efficient RSA hardware implementation”, in Damgard, I.B. (Ed.): “Advances in Cryptology — EUROCRYPT '90”, Proceedings (Lecture Notes in Computer Science 473), pp. 245–252, Springer, 1990Google Scholar
  19. [SauDie92]
    Sauerbrey, Jörg; Dietel, Andreas: “Resource Requirements for the Application of Addition Chains in Modulo Exponentiation”, appears in Proceedings of EUROCRYPT'92, Springer, 1992Google Scholar
  20. [ShBeVu90]
    Shand, M.; Bertin, P.; Vuillemin, J.: “Hardware speedups in long integer multiplication”, in Proceedings of the Second ACM Symposium on Parallel Algorithms and Architectures, Crete, July 1990Google Scholar
  21. [SiSCE692]
    Siemens: “Semicustom ICs; CMOS Family SCxE6; Sea-of-Gates Gate Arrays”, V1.0, Version May '92Google Scholar
  22. [Walter]
    Walter, Colin D.: “Systolic Modular Multiplication”, IEEE Transactions on Computers, to appearGoogle Scholar
  23. [ZhMaYu88]
    Zhan, C.N.; Martin, H.L.; Yun, D.Y.: “Parallel Algorithms and Systolic Array Designs for RSA Cryptosystem”, International Conference on Systolic Arrays, Proceedings, pp. 341–350, May 1988Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Jörg Sauerbrey
    • 1
  1. 1.Lehrstuhl für DatenverarbeitungTechnische Universität MünchenMünchen 2Germany

Personalised recommendations