Cryptography is a field in computer science and mathematics that entails techniques of securing communication between two parties in the presence of a third part. This is achieved through use of several methods, such as encryption, decryption, signing, generating of pseudo random numbers, among many others. Cryptography uses a key, or some sort of a password to either encrypt or decrypt a message that need to be kept secret. This is made possible using two classes of key-based encryption and decryption algorithms, namely symmetric and asymmetric algorithms. The best known and the most widely used public key system is RSA. This algorithm comprises of three phases, which are the key generation phase, encryption phase, and the decryption phase. Owing to the advancement in the computing technology, RSA is prone to some security risks, which makes it less secure. The following paper preview different proposals on different methods used to enhance RSA algorithm to increase its security. Some of these enhancements include combining the RSA algorithm with Diffie-Hellman algorithm, modification of RSA to include three prime numbers, offline storage of generated keys, a hybrid security algorithm for RSA where the computation of public key P and private key Q depends on the value of M, where M is the product of four prime numbers, etc.
The use of cryptography to conceal information dates back thousands of years ago. The oldest recorded application of cryptography is the protection of military secrets. A good example here is the Caesar Cipher used by Julius Caesar to send confidential information to his commanders and soldiers in the battle field. Since then the encoded messages have been used by government, private entities, and militaries around the world to protect sensitive information. Barakat et al. in defined cryptography as a field in computer science and mathematics that entails techniques of securing communication between two parties in the presence of a third part [10]. This is achieved through use of several methods, such as encryption, decryption, signing, generating of pseudo random numbers, among many others. Cryptography is anchored in four major principles whose main objectives include ensuring confidentiality, data integrity, authenticity, and non-repudiation. Cryptography ensures confidentiality by defining a set of rules that limits access to certain information. On the other hand, data integrity is upheld by ensuring consistency and accuracy of data during its entire life-cycle. Authentication, on the other hand, helps in confirming the truth of an attribute of a datum that claims to be true by some entity. Under non-repudiation, cryptography ensures that an author of a given statement or piece of data cannot deny it. Through cryptographic technology, communication or transfer of data electronically can be done without any worry of deceit or deception (confidentiality), while at the same time maintaining the integrity of the message and the authenticity of the sender. This is achieved through conversion of data unto different forms that are incomprehensible (ciphertext or code). The process through which data is converted into ciphertext is called encryption, while the process through which the ciphertext id converted to comprehensible information is called decryption. Both encryption and decryption processes are done using secret information such as passwords or keys.
In the modern world, cryptography is applied in areas such as the internet, secure email, password security, and business data. The most area where cryptography has been applied in the modern world is on the internet. Here, cryptography is used in the form of HTTPS (HyperText Transfer Protocol Secure). Each time a website is visited, the cryptographic ciphers are initiated in the bid to protect the flow of data between the user and the website. Under password protection, different entities use password management systems to handle different types of passwords for different sites and for different personnel. A compromise to password management system in such an organization means a compromise to the confidentiality, integrity and availability of almost, if not all, the data and systems used by the entity. This therefore calls for extra caution and extra protective layer to ensure that the passwords do not get in the hand of malicious parties. This is achieved through storing of the passwords in an encrypted format. As such, even if the malicious parties are able to gain access to the system, they will still need to decrypt the passwords in order to make use of them. The encryptions in the password management systems are done using a master password, which is regularly changed as per the policy of the company in question. The HTTPs protocol is also used to encrypt emails in a secure email. Other common tools here include the PGP (pretty good privacy) that ensure that only the sender and the recipient have access to the information therein. Under business data, cryptography is used to ensure that some valuable information such as customers’ data and intellectual properties are kept secret. In some cases, business are required by the law to keep sensitive data about their customers in an encrypted format for confidentiality and any breach of data confidentiality should immediately be disclosed into the public domain.
As indicated in the discussion above, cryptography uses a key, or some sort of a password to either encrypt or decrypt a message that need to be kept secret. This is made possible using two classes of key-based encryption and decryption algorithms, namely symmetric, also known as secret-key, and asymmetric, which is also known as public –key.
Before 1970s, the symmetric key encryption, also known as the secret-key encryption, or conventional system was the only encryption technology in use, and still remain by far the most widely used method of encryption. Before the advent of computers, the ciphertext used in symmetric key encryption were called the classical encryption algorithms. Currently, and with the advent of computing technology, symmetric encryption uses bits and bytes as the encryption keys, together with various encryption algorithms to transform plaintext into ciphertext. The recovery process of plaintext from the ciphertext in symmetric key cryptography is done using the same key used in encryption, and a different decryption algorithm. This is made possible by sharing of the secret key between the sender and the receiver. Given the fact that anyone who gains access to the key can decrypt the information, the key is usually highly secured, and is kept as a secret between the two parties sharing information. The figure below illustrates the encryption and decryption process in symmetric key cryptography:
Some of the most common symmetric key algorithms include Data Encryption Standard (DES), Triple Data Encryption Standard (TRIPLEDES), Advanced Encryption Standard (AES), RC2, RC4, RC5, RC6, Blowfish, and Twofish. Triple DES algorithm was developed in response to the increase in the computational power that made brute-force attacks feasible. As such, this algorithm was designed to maximize the security of DES against such attacks. AES on the other hand allows use of three different key lengths, including: 128, 192, or 256 bits. The encryption process for AES comprises of 10 rounds of processing for the 128-bit keys, 12 rounds of processing for 192-bit key, and 14 rounds of processing for the 256-bit keys.
Unlike symmetric key cryptography, asymmetric key cryptography uses two separate keys, where one is a private key and the other one is a public key. The public key is used in encrypting of the data, while the corresponding private key is used to decrypt the data. This implies that the public key is published for anyone to see, but the private key is kept a secret. As such, anyone with a copy of the public key can encrypt a message, but only the person holding the private key can decrypt the message. The figure below is an illustration of how asymmetrical cryptography works:
One of key advantage of asymmetric cryptography as compared to symmetric cryptography is the fact that asymmetric eliminates the need for the sender and the receiver to share the private key. All communication involves only public keys and no private key is transmitted or shared. Some examples of areas in which asymmetric is applied include Elgamal, RSA, Diffie-Hellman, and DSA.
At the moment, the best known and the most widely used public key system is RSA. It was developed in 1978 by Ronald Rivest, Adi Shamir, and Leonard Adleman. RSA formed the basis for developed of other algorithms such as the PGP (preety good algorithm) used in secured email. RSA is based on number theory, was the first algorithm known to be suitable for signing as well as encryption, and one of the first great advances in public key encryption. RSA is a public key cryptographic system that uses the concept of number theory. Its security, therefore, depends on the complexity of prime factorization of large numbers, which is a well-known mathematical problem with no known effective solution. This makes RSA one of the most widely used technique for asymmetric key cryptography in encryption and digital signature standards. RSA algorithm comprises of three phases, which are the key generation phase, encryption phase, and the decryption phase.
The key generation phases comprises of a process through which cryptographic keys are generated. The generated keys are then used in encrypting and decrypting of the data that need to by encrypted or decrypted. Both private and public key are generated and used in cryptography in RSA algorithm. The public key is made available to everyone by means of a digital certificate. Any data to be sent using RSA algorithm is encrypted using the public key. However, it is only a person with a corresponding public key can be able to decrypt the data. The steps involved in in key generation are as follows:
In RSA algorithm, encryption is used to define the process through which a message is encoded in such a way that only the authorized parties can read it. In an encryption scheme, the message or the information that need to be sent is presented in plaintext format. The plaintext message is then encrypted using an encryption algorithm to generate cipher text that can only be comprehendible if decrypted. This is usually done using a pseudo-random encryption key that is generated by the algorithm. With the private key provided by the originator of the message, the recipient can easily decrypt the message. However, any third party, or a person that does not have access to the private key cannot decrypt the message. The plain text is encrypted in block with each block having value less than some number n.
Encryption: C = Me mod N
Where: M=Block of plain text
C: block of cipher text
The process through which cipher text is decoded to get the plaintext message in a format that can be comprehended is called decryption. In RSA algorithm, decryption can only be done by an authorized person using a private key. As such, anybody else without the private key can intercept the message or hack it, but cannot comprehend the text without decrypting it using the private key generated by the sender. The decryption algorithm is given by:
M=Cd mod N
Where: C = cipher text,
M= the message,
P and Q = prime numbers,
N=common module,
e and d = the public and private keys.
Here, the sender and the receiver must know value of n. However, only the sender knows the value of e while only the receiver knows the value of d
According to Gupta and Sharma, some of the limitations associated with RSA include the fact that if any of p, q, e, and d is known, then the other values can be calculated, and therefore, eliminating the secrecy [1]. Also, RSA requires that the length of the message be less than bit length, otherwise the algorithm is likely to fail. Another limitation of RSA is based on the fact that it since it uses public key, it is much slower as compared to all other symmetric cryptographic systems. In addition, the length of plain text that can be encrypted is limited to the size of N = P x Q. Gupta and Sharma pointed out that each initialization of RSA process requires random selection of two very large prime numbers (P and Q) [1]. Another 2013 study by Patidar and Bhartiya identified several limitations associated with RSA [3]. These included the issue of speed as described by Gupta and Sharma and computational cost due to the need for two different keys. There is also the issue of loss of private key, which may break the security. Here, RSA is criticized based on its application of private key [3]. Patidar and Bhartiya points out that during the decryption process, the private key is used, as such, if any unauthorized person knows the value of the private key, then the entire security of RSA algorithm is compromised [3]. Other researchers such as Minni et al argues that RSA as it is, is prone to mathematical factorization attacks and therefore needs further enhancements [4]. This was the same argument by Jaju and Chowhan who pointed out that based on the overall execution time, RSA algorithm takes more time as compared to other algorithms [2]. The algorithm also requires storage for both plain text and cipher text. Panda and Chattopadhyay found out that RSA algorithm was easy to factorize since modulo n used is the product of two prime numbers only and therefore making it easy to obtain the decrypted original message [5]. Chaudhury et al. also identified several limitations to the RSA algorithm [6]. These included the fact that it is prone to various types of attack such as forward search attack common modulus attack, among others. It was also pointed out that RSA is disadvantaged owing to its factorization problem and computational speed. Others researchers who pinpointed several limitations in regard to RSA algorithm included Hussein [8] who delved in to improving the model by enhancing security and elimination of redundant messahes using K-nearest neighbor alorthm, This was the same case with others such as Mathur et al. and Iswari whose work led to development of more enhanced RSA algorithm [7] [9]
In their work Gupta and Sharma suggested a new hybrid encryption algorithm based on RSA and Diffie-Hellman algorithm to address some of the major issues identified in the RSA algorithm [1]. The steps involved in the algorithm included:
X= GA mod R
Y= GB mod R
KA = YA mod R or KA = (GB mod R) A mod R
Or
KA= (GB) A mod R or KA = GBA mod P.
KB = XB mod R or KB = (GA mod R) B mod R
Or
KB = (GA) B mod R or KB = GAB mod R.
Such that KA = KB = K.
One of the disadvantages of this algorithm is that it is not efficient in terms of time complexity [1].
In the bid to increase speed and enhance security of the RSA algorithm, Jaju and Chowhan modified the RSA algorithm to include three prime numbers instead of two prime random numbers for calculating n and passing value of x instead of n in public key and private key [2]. The following is a summary of modified RSA algorithm:
Although the modified algorithm addresses the issue of security, it takes longer time to decrypt text as compared to the RSA algorithm [2].
Patidar and Bhartiya also proposed new algorithm concept to presents the modified form of RSA algorithm to speed up the implementation of RSA algorithm during data exchange across the network [3]. The proposed modification comprised of the architectural design and an enhanced form of RSA algorithm through the use of a third prime number to make a modulus n which is not easily decomposed by intruders [3]. In the proposed method, keys are stored offline before the process is started. As such, the speed of the process is increased as compared to the original RSA algorithm [3] The limitation of this algorithm is that it takes time to compute the results. The following is the summary of the proposed algorithm:
Additionally, Minni et al. proposed another secure algorithm by eliminating the distribution of n which is the large number whose factor if found compromises the RSA algorithm [4]. The following are the major steps in the implementation of the proposed algorithm:
If A > B then consider X such that
If A < B then, consider X such that
The public key therefore consists of (k1, X) while the private key is (K2, X).
To encipher the plain text PT, the sender use public key (K1, x) by CT = PTk1 Mod(X) where CT is the cipher text that is generated after encryption. The receiver decipher the cipher text CT using the private key (K2, X) by PT = √ (CTk2 Mod(X)) [4]. One disadvantage of the modified algorithm is that it takes a lot of time as compared to the RSA method.
In another work, Panda and Chattopadhyay proposes a new hybrid security algorithm for RSA where the computation of public key P and private key Q depends on the value of M, where M is the product of four prime numbers [5]. This increases the complexity of factorizing the variable M, and therefore enhancing the security. The disadvantage of the proposed algorithm is that it increases the time required for key generation. The follow is a summary of the new hybrid security algorithm for RSA.
Key Generation ()
Select four random distinct prime numbers a,b, c and d.
Find Public Key (P), Private Key (Q), and random number (w).
Procedure (a, b, c, d, P, Q and w)
1. x ← a * b
2. y ← c * d
3. M ← x * y
4. Calculate Euler Ø () of x, y and M
a. Ø (x) ← (a-1) * (b-1)
b. Ø (y) ← (c-1) * (d-1)
c. Ø (M) ← Ø (x) * Ø (y)
5. Generate a random number p1, such that,
gcd (p1, Ø (x)) = 1, 1< p1 < Ø (x)
6. Generate a random number p2, such that,
gcd (p2, Ø (y)) = 1, 1< p2 < Ø (y)
7. Calculate P1 ← p1
p2 mod M
8. Generate a public key P, such that,
gcd (P, Ø (M) * P1) = 1, 1< P < Ø (M) * P1
9. Calculate the private key Q, such that,
Q ← P-1 mod (Ø (M) * P1)
10. Compute a random number w, such that,
If a>b
Satisfy x -a < w < x and gcd (w, x) = 1
Else if a<b
Satisfy x− b < w < x and gcd (w, x) = 1
Encryption ()
INPUT: Select Plain text (T), Public key (P)
and Random number (w).
OUTPUT: Find Cipher text (C).
Begin
Procedure (T, P, w and C)
C ← TP mod w
End Procedure
End
Decryption ()
INPUT: Select Cipher text (C), Private key (Q) and Random number (w).
OUTPUT: Find Plain text (T).
Begin
Procedure (C, Q, w and T)
T ← CQ mod w
End Procedure
End
Chaudhury et al. uses a modified RSA cryptosystem algorithm to handle four prime numbers and enhance the security of the RSA algorithm [6]. The security of the modified RSA depends on the complexity of disintegrating the four prime numbers used. Compared to other proposed modifications of RSA [1] [2] [3], the complexity is reduced, and therefore less secure. The following is the summary for the algorithm.
Mathur et al presents a modified approach to RSA, which is an enhancement to the traditional RSA method [7]. The enhancement includes exponential powers, n prime numbers, multiple public keys, and K-NN algorithm. The modified approach also provides feature of verification at both side of the sender and the receiver. The limitation of the proposed approach is that the time required for encryption and decryption is higher than in the original RSA [9]. The following steps summarize the proposed approach:
Key Generation
Encryption
Decryption
Abdulameer proposed another effective solution to enhance the security of RSA method to solve the issue of having cipher text being the same as the plain text in some values of n, which is the product of p and q. This was done by eliminating the redundant messages which occurred in some values of n and the product of two prime numbers [8]. The proposed solution depends on replacement of the value of n using a secure agreement distance in a set of all available prime numbers. The next step is selection of either one of the primes responsible for generating an alternative n or both primes from the set. The method also helps to eliminate one parameter of the public key which is the value of n and therefore making the method more secure [8]. The following is a summary of the proposed algorithm:
Select PR (a set of prime number p and q)
PR = p1, q1, p2, q2…pn ,qn}
Divide PR into subsets S= {s1,s2,….Sn} such that each Si contains a limited numbers of primes .
Each Si={psi1,psi2, …..psin}
Choose two prime numbers from PR
n= p*q
Ø (n) = (p-1)*(q-1)
Let e be the public key
Let d be the private key
c= me mod n.
If c=m then
Sender operation:
1: Choose d1 of the one of subsets si in S for the secure class
2: Choose d2 inside si to pick one alternative prime p’
3: Compute n’=p’*q
4: Compute Ø (n’)=(p’-1)*(q-1)
5: Choose alternative public key , lets e’
6: Generate the corresponding private key d’
7: Compute the ciphertext C’=me’ mod n’
8: Combine the agreement factor f with the new ciphertext and send C”” as :C”=[C’,f ]
Owing to its complexity, and compared to other proposed algorithms, the above algorithm takes a long time to be executed [8]
Iswari also proposed another enhancement to the RSA algorithm by combining it with Elgamal algorithm [9]. This helps to improve on the time required to generate key. The following is the summary of the algorithm:
Select two prime numbers p and q
r = p x q
Ø (r) = (p -1) (q-1)
PK (encryption key)
SK (decryption key)
X (plain text)
Y (ciphertext)
Some of the concepts used in this algorithm from ElGamal Algorithm include
Prime number, pEL
Random number, g, (g< pEL)
Random number x, (X< pEL
Y = gx mod pEL
One of the limitation of this algorithm is that it requires a lot of space and takes longer time to execute as compared to other proposed algorithm [9]
In conclusion, upholding the confidentiality, integrity, availability, and non-repudiation of information and data sent across networks requires more than just cryptography. Over the years, RSA algorithm has been applied in different areas to enhance security of information through encryption and decryptions. However, the advancement in the computing technology and hacking methods has rendered the original RSA algorithm ineffective in data protection. It is in the light of this that different researchers have focused on the method to enhance the RSA algorithm through addition of more complexity to the algorithm.
[1] S. Gupta and J. Sharma, “A hybrid encryption algorithm based on RSA and Diffie-Hellman,” 2012 IEEE International Conference on Computational Intelligence and Computing Research, Coimbatore, 2012, pp. 1-4. doi: 10.1109/ICCIC.2012.6510190
URL: http://0-ieeexplore.ieee.org.library.qnl.qa/stamp/stamp.jsp?tp=&arnumber=6510190&isnumber=6510164
[2] S. A. Jaju and S. S. Chowhan, “A Modified RSA algorithm to enhance security for digital signature,” 2015 International Conference and Workshop on Computing and Communication (IEMCON), Vancouver, BC, 2015, pp. 1-5. doi: 10.1109/IEMCON.2015.7344493
URL: http://0-ieeexplore.ieee.org.library.qnl.qa/stamp/stamp.jsp?tp=&arnumber=7344493&isnumber=7344420
[3] R. Patidar and R. Bhartiya, “Modified RSA cryptosystem based on offline storage and prime number,” 2013 IEEE International Conference on Computational Intelligence and Computing Research, Enathi, 2013, pp. 1-6. doi: 10.1109/ICCIC.2013.6724176
URL: http://0-ieeexplore.ieee.org.library.qnl.qa/stamp/stamp.jsp?tp=&arnumber=6724176&isnumber=6724108
[4] R. Minni, K. Sultania, S. Mishra and D. R. Vincent, “An algorithm to enhance security in RSA,” 2013 Fourth International Conference on Computing, Communications and Networking Technologies (ICCCNT), Tiruchengode, 2013, pp. 1-4. doi: 10.1109/ICCCNT.2013.6726517
URL: http://0-ieeexplore.ieee.org.library.qnl.qa/stamp/stamp.jsp?tp=&arnumber=6726517&isnumber=6726462
[5] P. K. Panda and S. Chattopadhyay, “A hybrid security algorithm for RSA cryptosystem,” 2017 4th International Conference on Advanced Computing and Communication Systems (ICACCS), Coimbatore, 2017, pp. 1-6. doi: 10.1109/ICACCS.2017.8014644
URL: http://0-ieeexplore.ieee.org.library.qnl.qa/stamp/stamp.jsp?tp=&arnumber=8014644&isnumber=8014556
[6] P. Chaudhury et al., “ACAFP: Asymmetric key based cryptographic algorithm using four prime numbers to secure message communication. A review on RSA algorithm,” 2017 8th Annual Industrial Automation and Electromechanical Engineering Conference (IEMECON), Bangkok, 2017, pp. 332-337. doi: 10.1109/IEMECON.2017.8079618
URL: http://0-ieeexplore.ieee.org.library.qnl.qa/stamp/stamp.jsp?tp=&arnumber=8079618&isnumber=8079550
[7] S. Mathur, D. Gupta, V. Goar and M. Kuri, “Analysis and design of enhanced RSA algorithm to improve the security,” 2017 3rd International Conference on Computational Intelligence & Communication Technology (CICT), Ghaziabad, 2017, pp. 1-5. doi: 10.1109/CIACT.2017.7977330
URL: http://0-ieeexplore.ieee.org.library.qnl.qa/stamp/stamp.jsp?tp=&arnumber=7977330&isnumber=7977256
[8] Abdulameer K. Hussain, “A Modified RSA Algorithm for Security Enhancement and Redundant Messages Elimination Using K-Nearest Neighbor Algorithm”, IJISET – International Journal of Innovative Science Engineering & Technology, vol. 2, no. 1, January 2015, ISBN 2348-7968.
[9] N. M. S. Iswari, “Key generation algorithm design combination of RSA and ElGamal algorithm,” 2016 8th International Conference on Information Technology and Electrical Engineering (ICITEE), Yogyakarta, 2016, pp. 1-5. doi: 10.1109/ICITEED.2016.7863255
URL: http://0-ieeexplore.ieee.org.library.qnl.qa/stamp/stamp.jsp?tp=&arnumber=7863255&isnumber=7863216
[10] Barakat, Mohamed, Christian Eder, and Timo Hanke. “An Introduction to Cryptography.” (2018). retrieved from:
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more