High-performance SoC-based implementation of modular exponentiation using evolutionary addition chains for efficient cryptography

Abstract: Modular exponentiation is an important operation in several public-key cryptosystems. It is performed using successive modular multiplications. For the sake of efficiency, one needs to reduce the total number of required modular multiplications. This paper brings a novel idea based on the principles of ant colony optimization for finding a minimal addition chain that allows for the reduction of the number of modular multiplications required for modular exponentiations. Furthermore, we propose a hardware/software co-design of a system-on-chip implementation to efficiently compute modular exponentiations. The hardware sub-system implements the modular multiplication, which is the basic and time-consuming operation, while the software sub-system implements the search routine for the adequate operands this multiplication within previously computed products. The ant system is always in execution by an available co-processor, trying to improve the addition chain in use by the overall system. The best addition chain reached by the ant system is compared to the one used in the m-ary and sliding window methods as well as to the best addition chain evolved by genetic algorithms. We demonstrate that the ant system significantly outperforms all these methods for any exponent size. We provide a comparison of the proposed implementation with three existing ones using the performance factor, which takes into account both space and time requirements.

[1]  Nadia Nedjah,et al.  Reconfigurable hardware implementation of Montgomery modular multiplication and parallel binary exponentiation , 2002, Proceedings Euromicro Symposium on Digital System Design. Architectures, Methods and Tools.

[2]  Nadia Nedjah,et al.  Efficient Parallel Modular Exponentiation Algorithm , 2002, ADVIS.

[3]  Çetin Kaya Koç,et al.  A Scalable Architecture for Modular Multiplication Based on Montgomery's Algorithm , 2003, IEEE Trans. Computers.

[4]  Thomas Stützle,et al.  Ant Colony Optimization Theory , 2004 .

[5]  Nadia Nedjah,et al.  High-Performance Hardware of the Sliding-Window Method for Parallel Computation of Modular Exponentiations , 2009, International Journal of Parallel Programming.

[6]  J. McCanny,et al.  Modified Montgomery modular multiplication and RSA exponentiation techniques , 2004 .

[7]  Randy L. Haupt,et al.  Practical Genetic Algorithms , 1998 .

[8]  Ernest A. Brickell A survey of hardware implementations of RSA (abstract) , 1989, CRYPTO 1989.

[9]  Ming-Der Shieh,et al.  A New Modular Exponentiation Architecture for Efficient Design of RSA Cryptosystem , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[10]  Marco Dorigo,et al.  Ant colony optimization , 2006, IEEE Computational Intelligence Magazine.

[11]  Luca Maria Gambardella,et al.  Ant colony system: a cooperative learning approach to the traveling salesman problem , 1997, IEEE Trans. Evol. Comput..

[12]  P. L. Montgomery Modular multiplication without trial division , 1985 .

[13]  Jacques Ferber,et al.  Multi-agent systems - an introduction to distributed artificial intelligence , 1999 .

[14]  Thomas Blum,et al.  Montgomery modular exponentiation on reconfigurable hardware , 1999, Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336).

[15]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[16]  Elena Trichina,et al.  Modular Exponentiation on Fine-Grained FPGA , 2001, CT-RSA.

[17]  Noboru Kunihiro,et al.  New Methods for Generating Short Addition Chains , 2000 .

[18]  Nadia Nedjah,et al.  Fast reconfigurable systolic hardware for modular multiplication and exponentiation , 2003, J. Syst. Archit..

[19]  Nadia Nedjah,et al.  Efficient Pre-processing for Large Window-Based Modular Exponentiation Using Genetic Algorithms , 2003, IEA/AIE.

[20]  Ernest F. Brickell,et al.  A Survey of Hardware Implementation of RSA (Abstract) , 1989, CRYPTO.

[21]  Nadia Nedjah,et al.  Three hardware architectures for the binary modular exponentiation: sequential, parallel, and systolic , 2006, IEEE Transactions on Circuits and Systems I: Regular Papers.

[22]  Christof Paar,et al.  High-Radix Montgomery Modular Exponentiation on Reconfigurable Hardware , 2001, IEEE Trans. Computers.

[23]  Nadia Nedjah,et al.  A Hardware/Software Co-Design versus Hardware-only Implementation of Modular Exponentiation Using the Sliding-Window Method , 2009, J. Circuits Syst. Comput..

[24]  NADIA NEDJAH,et al.  Towards Minimal Addition Chains Using Ant Colony Optimisation , 2006, J. Math. Model. Algorithms.

[25]  Nadia Nedjah,et al.  Co-design for System Acceleration: A Quantitative Approach , 2007 .

[26]  C. D. Walter,et al.  Systolic Modular Multiplication , 1993, IEEE Trans. Computers.

[27]  Colin D. Walter,et al.  Hardware Implementation of Montgomery's Modular Multiplication Algorithm , 1993, IEEE Trans. Computers.

[28]  P. Diaconis,et al.  Testing for independence in a two-way table , 1985 .

[29]  Nadia Nedjah,et al.  Efficient and secure cryptographic systems based on addition chains: Hardware design vs. software/hardware co-design , 2007, Integr..