Modular exponentiation is to compute xE for positive integers x, E, and N. It is an essential operation for various public-key cryptographic algorithms such as RSA, ElGamal and DSA, and it is crucial to develop fast modular exponentiation methods for efficient implementation of the above algorithms. To accelerate modular exponentiation, one can either speed up each multiplication or reduce the number of required multiplications. We focus on the latter.
In this paper, we propose a general model to describe the behavior of modular exponentiation in terms of a graph. First, we show that the problem of finding the minimum number of multiplications for a modular exponentiation is equivalent to finding a shortest path in its corresponding graph. The previously known exponentiation algorithms including the binary method, the M-ary method and the sliding window method can be represented as a specific instance of our model. Next, we present a general method to reduce the number of required multiplications by modifying the pre-computation table which is used for the sliding window method. According to our experimental results, the new method significantly reduces the number of multiplications, especially in the cases that the exponent E has a high Hamming weight.
Exponentiation Modular Exponentiation Graph Model Window Method
This is a preview of subscription content, log in to check access.