Skip to Main Content
Most cryptographic systems are based on modular exponentiation (ME). It is performed using successive modular multiplications (MMs). In this case, there are many ways to improve the throughput of a cryptographic system implementation: one is reducing the number of the required MMs and the other is reducing the time spent in performing a single MM and a third way consists of executing required independent modular multiplications (IMMs) in parallel. With the purpose of further accelerating the computation of ME, we investigate the impact of these three strategies. First, we propose a massively parallel scheme aiming at performing all IMMs concurrently. The scheme is based on the m-ary exponentiation method, which groups the exponent bits into partition so that the number of required MMs is reduced, provided that some common modular powers are pre-computed and stored for future repeated use. Finally, two different implementations for the MM are used: one is sequential and the other systolic. This investigation is culminated by a comparison of the speedups yielded against the extra-costs due for seven different implementations. One implementation is software based and the other six are hardware based.