Enhanced Digital Signature Using RNS Digit Exponent Representation
Digital Signature Algorithm (DSA) involves modular exponentiation, of a public and known base by a random one-time exponent. In order to speed-up this operation, well-known methods take advantage of the memorization of base powers. However, due to the cost of the memory, to its small size and to the latency of access, previous research sought for minimization of the storage. In this paper, taking into account the modern processor features and the growing size of the cache memory, we improve the storage/efficiency trade-off, by using a RNS Digit exponent representation. We then propose algorithms for modular exponentiation. The storage is lower for equivalent complexities for modular exponentiation computation. The implementation performances show significant memory saving, up to 3 times for the largest NIST standardized key sizes compared to state of the art approaches.
KeywordsRNS Digital signature Modular exponentiation Memory storage Efficient software implementation
- 1.The GNU Multiple Precision Arithmetic Library (GMP). http://gmplib.org/
- 3.Acting Secretary Cameron Kerry and USST/Director Patrick Gallagher: Digital Signature Standard (DSS). In: Federal Information Processing Standards Publications, FIPS PUB 186-4. NIST (2013)Google Scholar
- 5.Garner, H.L.: The residue number system. In: Proceedings of the Western Joint Computer Conference, pp. 146–153 (1959)Google Scholar
- 13.U.S.D.C. Rebecca Blank and USST/Director Patrick Gallagher: Recommendation for key management. In: Computer Security, Part 1, Rev 3. NIST Special Publication 800-7, pp. 62–64. NIST (2012)Google Scholar
- 14.Svoboda, A.: The numerical system of residual classes in mathematical machines. In: IFIP Congress, pp. 419–421 (1959)Google Scholar