Ieee Rsa
Ieee Rsa
Ieee Rsa
Signature Algorithm
Abstract—RSA is the most widely used digital signature flaw of RSA algorithm either for hardware or software
algorithm in E-Commerce and the complexity of large integer implementation, so how to design an effective large number
operation is the main factor that affects the efficiency of a RSA operation scheme is an important question [1-3]. In this paper,
system. In this paper, a n carry array based large integer a n carry array based large number denotation approach is
denotation approach is proposed to speed up the large integer proposed to reduce the complexity of large number operation.
calculation in RSA key generation and data encryption/ The simulation results indicate that the speed of proposed
decryption process, so as to improve the efficiency of a RSA algorithm has an efficient improvement over classic string
system. The RSA digital signature algorithm and its mathematic based large number operation method.
foundation are discussed in detail and the feasibility of RSA
algorithm is proved. An integrated large integer library is built
by using C++ and the implementations of Miller-Rabin, extended II. THE RSA DIGITAL SIGNATURE ALGORITHM AND ITS
Euclid and Montgomery algorithms for complex numeric MATHEMATICAL FOUNDATION
operations in RSA are given.
A. The Mathematical Foundation for RSA Algorithm
Keywords- digital signature; RSA; E-Commerce; n carry The RSA digital signature has precise mathematical
array foundations, which are as follows:
B. RSA digital signature algorithm There are four conditions to be discussed in the followings.
RSA digital signature algorithm is described as follows:
(1) a is not multiple of both p and q.
(I) Selecting two prime number p and q. In practice E-
commerce application, the length of p and q should be the same According to Fermat theorem,
and greater then 1024 bits in order to guarantee the security. a ( p −1) ≡ 1 (mod p ) , a
( q −1)
≡ 1 (mod q) ,
Calculating the product
n = pq . so a k ( p −1)( q −1) ≡ 1 (mod q) , pq | a k ( p −1)( q −1) − 1 .
(II) Selecting a stochastic key e for data encryption, in thus a k ( p−1)( q −1) ≡ 1 (mod pq) ,
which e is prime to ( p − 1)(q − 1) .
c ≡ a k ( p −1)( q −1) +1 ≡ a (mod pq )
(III) Calculating out the key d for data decryption by using
Euclid algorithm, in which d satisfies (2) a is multiple of p but not q.