Several cryptosystems based on exponentiation have been proposed in recent years. Some of these are of the public key variety and offer notable advantages in cryptographic key management, both for secret communication and for message authentication. The need for extensive arithmetic calculations with very large integers (hundreds of digits long) is a drawback of these systems. This paper describes a set of experimental programs that were developed to demonstrate that exponentiation cryptosystems can be efficiently implemented on the IBM Personal Computer (PC). The programs are organized into four layers, comprising procedures for: multiple precision integer arithmetic, modular exponentiation, prime number generation and testing, and cryptographic key generation. The major emphasis of the paper is on methods and techniques for improving execution speed. The items discussed include: the use of a specialized squaring procedure; a recursive splitting method to speed up squaring and multiplication; the computation of residues by using multiplication instead of division; the efficient encoding of residue information; and the use of thresholds to select the most effective primality testing algorithm for a given size number. Timing results are presented and discussed. Finally, the paper discusses the advantages of a mixed system that combines the superior key management capabilities inherent in public key cryptosystems with the much higher bulk-encryption speed obtainable with the Data Encryption Algorithm.
[1]
Adi Shamir,et al.
A method for obtaining digital signatures and public-key cryptosystems
,
1978,
CACM.
[2]
Taher ElGamal,et al.
A public key cyryptosystem and signature scheme based on discrete logarithms
,
1985
.
[3]
Whitfield Diffie,et al.
New Directions in Cryptography
,
1976,
IEEE Trans. Inf. Theory.
[4]
Dorothy E. Denning,et al.
Cryptography and Data Security
,
1982
.
[5]
M. Rabin.
DIGITALIZED SIGNATURES AND PUBLIC-KEY FUNCTIONS AS INTRACTABLE AS FACTORIZATION
,
1979
.
[6]
H. Riesel.
Prime numbers and computer methods for factorization
,
1985
.
[7]
T. Elgamal.
A public key cryptosystem and a signature scheme based on discrete logarithms
,
1984,
CRYPTO 1984.
[8]
B Tuckerman.
The 24th mersenne prime.
,
1971,
Proceedings of the National Academy of Sciences of the United States of America.
[9]
Wayne Patterson.
Mathematical Cryptology for Computer Scientists and Mathematicians
,
1987
.
[10]
J. Dixon.
Factorization and Primality Tests
,
1984
.