Abstract
An efficient computation of the modular exponentiations C = ME mod N is very useful for public-key cryptosystems. In this paper, an efficient parallel modular exponentiation algorithm is proposed based on both the common-multiplicand-multiplication (CMM) and signed-digit-folding (SDF) techniques. The 'minimal-signed-digit (SD) recoding algorithm' has less occurrence probability of the nonzero digit than the binary number representation. Taking this advantage, we can effectively decrease the amount of modular multiplications. By dividing the bit string of the minimal-SD recoding exponent E into three equal-length parts and by using the technique of recording the common parts in the folded substrings, the 'folding-exponent algorithm' can improve the efficiency of the binary algorithm, thus it can further decrease the computational complexity of modular exponentiation. As the modular squaring operation in GF(2n) over the normal basis can be done by a simple shift operation, the modular multiplications and the modular squaring operations in our proposed CMM-SDF algorithm can be executed in parallel. By using our proposed parallel CMM-SDF algorithm, we can obtain the optimal overall computational complexity as 0.689k + 11 multiplications by folding the minimal-SD recoding exponent E exactly one-time in SD radix-2 recoding system, where k denotes the digit-length of the exponent and n denotes the folding time of the exponent.
Original language | English |
---|---|
Pages (from-to) | 1187-1202 |
Number of pages | 16 |
Journal | International Journal of Computer Mathematics |
Volume | 81 |
Issue number | 10 |
DOIs | |
State | Published - 10 2004 |
Externally published | Yes |
Keywords
- Arithmetic algorithm
- Folding technique
- Minimal-Hamming-weight
- Modular exponentiation
- Public-key cryptosystems
- Signed-digit recoding