Comprehensive testing of any implementation of the RSA cryptosystem requires the use of a number of moduli with specific properties. It is shown how to generate a sufficient variety of these to enable testing which will justify high confidence in the correctness of both the design and the operation of hardware implementations. The tests avoid the necessity of another implementation for comparison. Many of these moduli are also suitable for testing software implementations. Furthermore, the methods apply equally well to other similar modular arithmetic based cryptosystems which use exponentiation, such as Diffie-Helman key exchange.
Index Terms:
Computer arithmetic, cryptography, RSA modulus, testing, correctness, verification, implementation validation benchmark.
Citation:
Colin D. Walter, "Moduli for Testing Implementations of the RSA Cryptosystem," arith, pp.78, 14th IEEE Symposium on Computer Arithmetic (ARITH-14 '99), 1999