Parallel algorithms for modular multi-exponentiation

作者:

Highlights:

摘要

Modular exponentiation is a time-consuming operation widely used in cryptography. Modular multi-exponentiation, a generalization of modular exponentiation also used in cryptography, deserves further analysis from the algorithmic point of view. The parallelization of modular multi-exponentiation can be obtained by generalizing methods used to parallelize modular exponentiation. In this paper, we present a new parallelization method for the modular multi-exponentiation operation with two optimizations. The first one searches for the fastest solution without taking into account the number of processors. The second one balances the load among the processors and finds the smallest number of processors that achieves the fastest solution. In detail, our algorithms compute the product of i modular exponentiations. They split up each exponent in j blocks and start j threads. Each thread processes together i blocks from different exponents. Thus, each block of an exponent is processed in a different thread, but the blocks of different exponents are processed together in the same thread. Using addition chains, we show the minimum number of threads with load balance and optimal running time. Therefore, the algorithms are optimized to run with the minimum time and the minimum number of processors.

论文关键词:Modular exponentiation,Modular multi-exponentiation,Parallelization,Algorithms,Cryptography

论文评审过程:Received 7 September 2014, Revised 5 May 2015, Accepted 25 July 2016, Available online 10 August 2016, Version of Record 10 August 2016.

论文官网地址:https://doi.org/10.1016/j.amc.2016.07.036