High-Speed-Implementation-of-RSA-Algorithm
High-Speed-Implementation-of-RSA-Algorithm
Abstract— This paper aims to speed up the implementation of the Although RSA algorithm is very secure, it is rarely used in
RSA algorithm during data transmission between different smart card, due to its long computation time. It is primarily
communication networks and Internet, which is calculated to used in the field of digital signatures, following the example.
generate the keys by a program prepared in a C # language and Some components, such as multi-leveled equations, graphics,
then save these values of the keys in the databases created by and tables are not prescribed, although the various table text
SQL Server 2008 R2.Within indexed tables, this stage is called styles are provided. The formatter will need to create these
RSA-Key Generations Offline as it is an inevitable stage carried components, incorporating the applicable criteria that follow.
out in each gateway before using the RSA algorithm. In RSA where the benefits of an asymmetric procedure can be fully
algorithm identical database must be used in all networks
realized.
gateways, the creation of the database controlled by a special
protocol programmed in a C # language called RSA Handshake RSA Cryptosystem, Asymmetric encryption is relatively
Database Protocol, the protocol controls each gateway that runs a slow and therefore unsuitable for encryption of large messages
RSA-Key Generations Offline according to specific issues and [11] [9][4] [10].
necessaries. In this paper a new method to exchange the values of
the keys between gateways, which are exchanged indexes The RSA public-key cryptosystem was developed by R.L.
(Indexes Exchange) refers to the fields that contain the values of Rivest, A. Shamir, and L. Adleman in 1978[7]. The RSA
public and private keys that are stored in the tables inside the cryptosystem is simply the modular exponentiation.
database before starting to use RSA algorithm to encrypt and
decrypt the data, rather than using the exchange of real values n,
The modulus n is the product of two large prime's p and q,
e, and d. public key and private key are obtained by:
e = d-1 mod Ø(n) (1)
Keywords- RSA, RSA-Key Generations Offline, RSA Handshake
Database Protocol, Cryptography, Cryptosystem, secret-key, The encryption operation is performed using the public key
private-key, public-key, C#, Indexes exchange, SQL Server 2008 n and e as follows:
R2, Setid, Nid, Eid, Did.
C = Me (mod n) (2)
Where M is the plaintext such that 0<M<n and C is the
I. INTRODUCTION
ciphertext which can be decrypted using the private key n and
As the telecommunication network has grown explosively d as follows:
and the internet grows rapidly, information security becomes
more and more significant. Cryptography is knowledge of M = C d (mod n) (3)
protecting the secret information, and the cryptosystem can be
distinguished into two types, secret-key cryptosystem and II. RELATED WORK
public-key cryptosystem. Bahadori implements a novel approach for secure and fast
In secret-key cryptosystem, the plaintext and the ciphertext key generation of the public key cryptographic algorithm of
are encrypted and decrypted by the same key, thus it is also RSA, This method has been implemented on a typical
called as symmetric cryptosystem. Though secret-key smartcard equipped with a crypto-coprocessor and a true
cryptosystem is easily to implement due to less computation, , random number generator. An efficient method for generating
it has several drawbacks, too many keys, key distribution the large random prime numbers is proposed that considerably
problem, authentication and nonrepudiation problem. reduces the total time required for generating a key pair [1].
That is up to 50% reduction in total generation time compared
The public-key cryptosystem evolves to solve the problems to the latest reported methods.
of symmetric cryptosystem, and RSA cryptosystem is the most
popular approach. The RSA cryptosystem was developed in Blackburn proposed a joint method RSA key generation by
1977 by Ronald L. Rivest, Adi Shamir, and Leonard Adleman a user and a certification authority (CA). The CA is convinced
at MIT and first published in 1978 [7]. that a user's key has been well generated, but does not obtain
640
Database has many numbers of sets, these number of sets In this paper we proposed a new protocol called RSA
determined by many factors, for example the prime numbers p, Handshake Database Protocol, this protocol responsible for
q length and their possibilities to produce n values, the Setid creation the identical RSA-Key Generations Offline databases
makes the searching for exact set fast and easy , we added in all network gateways and organize database update if require
difficulty concept to know which set we are using now. and execute the procedure for each new gateway want to use
the RSA-Key Generations Offline database with existing
B. Online Encryption and Decryption Processes gateways.
In this paper we proposed four security levels each level The RSA Handshake Database Protocol saves the selected
has own database and consists of many sets, these levels security level (database), which set selected in the security
identifiers by possibility of e values and the key length see level (Setid), keys indexes and another data in working
table I. information table.
The gateways (users) must select the same security level or The RSA algorithm starts using the data from working
change the security level before start the encryption and information table for encryption/ decryption processes between
decryption processes. network gateways.
We select SQL Server 2008 R2 as database engine for The RSA Handshake Database Protocol controls all
creation the databases and their sets which contents the keys initially processes and any changes in the security levels and
values, also we select SQL Server 2008 R2 to keep our key length between the gateways or new gateway would like to
database saves and secure, by encrypted all data without join an existing session.
increasing database size or impacting performance and it has
Guard against security breaches if backups or disks are lost or IV. EXCHANGE THE KEYS INDEXES
stolen.
In this paper we proposed a new method called Indexes
TABLE I. SECURITY LEVELS exchange, where we use the Indexes exchange instead of keys
exchange between different gateways, example in table II
Security Level Key Length (bit)
explaining how the indexes will be exchanged instead of n, e
Low 512
Medium 1024
and d values.
Medium-High 2048 TABLE II
High 4096
EXAMPLE OF USE THE INDEXES EXCHANGE INSTATED OF KEYS EXCHANGE
In this paper we proposed to use RSA key pair between Keys Exchange Indexes Exchange
n 160 Nid 00000001
LAN's / WAN's gateways instead of users.
e 7 Eid 000001010010
Using of private and public keys between gateways that d 23 Did 110000000001
means the RSA encryption/decryption algorithm now is
suitable for large amount of data flow between gateways and By using the indexes exchange instead of keys exchange it
this infer of uses the RSA-Key Generations Offline Algorithm, will be very hard to get the n, e and d values even if you know
in figure 2 we explain schematic of RSA Algorithm Processes. the indexes of these values.
641
ACKNOWLEDGMENT
The authors wish to thanks Dr. Izzeldin Ibrahi
Mohamed Abdelaziz and Dr. Mohammed Nadzier b.
Marsono from Faculty of Electrical Engineering University
Technology Malaysia (UTM), Johor Malaysia for their
comments and valuable suggestion.
The authors wish to thank the management of YIC
Foundation for their continued support and understanding.
REFERENCES
[1] M. Bahadori, M. R. Mali, O. Sarbishei, M. Atarodi and M.
Sharifkhani “A novel approach for secure and fast generation of RSA
public and private keys on SmartCard” NEWCAS Conference
(NEWCAS), 2010 8th IEEE International, 2010, pp. 265-268.
[2] S. R. Blackburn and S. D. Galbraith “Certificationof secure RSA
keys” Electronics Letters, vol. 36, pp. 29-30, 2000.
[3] H. Ge and S. R. Tate “Efficient Authenticated Key-Exchange for
Devices with a Trusted Manager” Information Technology: New
Generations, 2006 (ITNG2006). Third International Conference on,
2006, pp.198-203.
Figure 3. Compare between decryption processes using online and
offline RSA- key generations [4] J. Joshi, et al. “Network Security” Morgan Kaufmann, 2008.
[5] C. Nagel, B. Evjen, J. Glynn, K. Watson and m. Skinner
“Professional C# 2008” Wrox, 2011.
VI. CONCLUSION [6] H. Ren-Junn, S. Feng-Fu, Y. Yi-Shiung and C. Chia-Yao “An
In this paper, we speedup the RSA algorithm through efficient decryption method for RSA cryptosystem” Advanced
Information Networking and Applications, 2005 (AINA 2005). 19th
developed a new generation keys method called RSA-Key International Conference on, 2005, pp. 585-590 vol.1.
Generations Offline to generate and saved all keys values in
[7] R. L. Rivest, A. Shamir and L. Adleman “A method for obtaining
tables within database. digital signatures and public-key cryptosystems” Communications of
the ACM, vol. 21, pp. 120-126, 1978.
We proposed four security levels, each level has its own
database and numbers of sets, these levels identified [8] A. Selby and C. Mitchell “Algorithms for software implementations
of RSA” Computers and Digital Techniques, IEE Proceedings E, vol.
according to the e values and keys length, before start using 136, pp. 166-170, 1989.
the RSA algorithm between gateways must get a Ready [9] W. Stallings “Network security Essentials: Applications and
Acknowledgment from RSA Handshake Database protocol, Standards” Pearson Education India, 2000.
this protocol responsible for creation or update the identical [10] W. Stallings “Cryptography and network security vol. 2” prentice
gateways database, level selections (Setid) and establishment hall, 2003.
the algorithm between gateways. [11] W. Stallings “Network and internetwork security: principles and
practice” Prentice-Hall, Inc., 1995.
In this paper we proposed a new method of keys [12] C. Tianjie and M. Xianping “Collusion Attack on a Server-Aided
exchange to increase the difficulty for any one knows the Unbalanced RSA Key Generation Protocol” Communication
exchanged values between gateways, and then try to get the Technology, 2006(ICCT 2006). International Conference on, 2006,
n, e and values, this method we called Indexes exchange, pp. 1-3.
where we exchange the indexes Nid, Eid, Did instead of n, e, [13] M. Welschenbach “Cryptography in C and C++” Springer-Verlag
d values. New York, 2001.
642