Chapter

Cryptographic Hardware and Embedded Systems – CHES 2005

Volume 3659 of the series Lecture Notes in Computer Science pp 75-90

Energy-Efficient Software Implementation of Long Integer Modular Arithmetic

  • Johann GroßschädlAffiliated withInstitute for Applied Information Processing and Communications, Graz University of Technology
  • , Roberto M. AvanziAffiliated withFaculty of Mathematics and Horst Görtz Institute for IT-Security, Ruhr University Bochum
  • , Erkay SavaşAffiliated withFaculty of Engineering and Natural Sciences, Sabanci University
  • , Stefan TillichAffiliated withInstitute for Applied Information Processing and Communications, Graz University of Technology

Abstract

This paper investigates performance and energy characteristics of software algorithms for long integer arithmetic. We analyze and compare the number of RISC-like processor instructions (e.g. single-precision multiplication, addition, load, and store instructions) required for the execution of different algorithms such as Schoolbook multiplication, Karatsuba and Comba multiplication, as well as Montgomery reduction. Our analysis shows that a combination of Karatsuba-Comba multiplication and Montgomery reduction (the so-called KCM method) allows to achieve better performance than other algorithms for modular multiplication. Furthermore, we present a simple model to compare the energy-efficiency of arithmetic algorithms. This model considers the clock cycles and average current consumption of the base instructions to estimate the overall amount of energy consumed during the execution of an algorithm. Our experiments, conducted on a StrongARM SA-1100 processor, indicate that a 1024-bit KCM multiplication consumes about 22% less energy than other modular multiplication techniques.