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:

- Choose two different prime numbers; say P and Q (P not equal to Q).
- Calculate the product of the two prime numbers (N= P x Q, where n is used as mod for both the public and private keys.
- Select the encrypting (public) key E, and the decrypting (private) key D to satisfy the equation (D x E) mod (P -1) x (Q -1) = 1.
- Calculate the cipher text CT for encryption from the plain text PT using the equation CT = PTE mod N. The value obtained for CT is sent to the receiver as the cipher text
- For decryption key, the plain text PT is calculated from the cipher text CT using the equation PT = CTD mod N

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 = M^{e} 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=C^{d} 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:

- Choosing two large numbers P and Q and computing their products (N =P x Q)
- Selecting a public key E. (E is not a factor of (P – 1) and (Q -1)).
- Selecting the private key D to satisfy the equation (true (D x E) mod (P – 1) x (Q – 1) = 1 Suppose R, S and G is automatic generated prime constants and put the value of E and D from above as secret number such that A=E and B=D.

- Calculating the following as public numbers

X= GA mod R

Y= GB mod R

- Calculating the session key with formula

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.

- Session key K with plain text PT is used for encryption. A new cipher text CT is generated and sent to the receiver for decryption. The plain text PT is calculated from the cipher text CT

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:

- Selecting any three prime numbers: p, q and r, such that p ≠q ≠r
- Calculating the product of the three prime number (n = p x q x r). The length of n is the key length expressed in bits
- calculate
*Ø*(n) = (*p*-1)*x*(*q*-1)*x*(*r*-1) - Calculating integer e which is based on

- √
*n*<*e*<*Ø*(*n*) - GCD (
*Ø (n), e) =*1 that is e and*Ø*(n) are co-prime - e is short bit length and small hamming weight

- Compute X to replace n

- If p > q, then consider X such that n-p <X<n and GCD (X, n) = 1
- If p<q, then consider X such that n-q <X< n and GCD (X, n) = 1

- Calculate d such that d = e
^{-1}(mod*Ø*(n)) - Now the public key PU = [e, X]
- Now the private key PR = [d, X]
- Consider plain text M, M < n
- Find cipher of plain text by C =M
^{e}mod X - Transmit the coded message to receiver by sender
- Find plain text from cipher by receiver using M =C
^{d}mod X

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:

- select the random values p, q and r
- calculate n=p x q x r
- calculate Ø (n) = (p-1) (q-1) (r-1)
- Calculate e such that GCD (e, Ø (n)) =1 and 1<e<Ø(n).
- Encrypt the message M where M<n and encrypt with public key e such that C= M
^{e}mod n. - Calculate private key d = ℮
^{-1}(mod Ø (n)). - Decrypt the message M such that M=C
^{d}mod n.

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:

- Under key generation, two different prime numbers are selected randomly A and B
- Calculate N= A x B.
- Calculate Ø (N) = (A -1) x (B – 1)
- Calculate k1 based on the following conditions

- √
*N*<*k1*<*Ø*(*n*) - GCD (k1,
*Ø (N)) =*1 that is k1 and*Ø*(N) are co-prime - k1 is short bit length and small hamming weight

- Compute X to replace N.

If A > B then consider X such that

- N –A < X < N
- GCD(X, N) = 1.

If A < B then, consider X such that

- N – B < X < N
- GCD (X, N) = 1

- Find k2 such that k1 x k2 Mod (X) = 1

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 = PT^{k1} 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 = √ (CT^{k2} 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.

- Select four prime numbers w, x, y and z
- n = wxyz
*f*(*n*) = (*w*– 1)(*x*– 1)(*y*– 1)(*z*– 1);- Select an integer e, where 1 < p < f (n), such that GCD ( p, (f(n)) =1 and p and f(n) are co –prime
- Compute the secret exponent d, where 1 < d < f(n) such that (p x d) mod f(n) = a
- d should be kept private
- (p, n) is the public key, and (d, n) is the private key
- Encryption:
*CT*= (*m*) mod^{p }*n.* - Decryption:
*m*= (*CT*) mod^{d }*n*

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

- select four prime numbers A, B, C, and D
- Calculate L = A x B x C x D
- Calculate Ø(L)= (A- 1) x (B -1) x (C -1) x (D- 1)
- Calculate J (public key), such that GCD (J, Ø (L)) = 1
- Calculate K (private key), such that K x J mod Ø (L) = 1
- Choose random number N and O. O should not be relative prime to Ø (L)
- Choose two numbers P and Q, such that Q = PJ

Encryption

- Convert the message that has to be encrypting into their respective ASCII values
- Calculate ‘E’ for each ASCII value, such that E = (ASCII VALUE
^{Q/P) K}mod L) - Calculate R1, as it encrypts the message and gives back cipher text of given plain text R1 = (message)
^{K}mod L - If the ASCII values and values of R1 comes same then apply K- Nearest Neighbour algorithm
- After that calculate R2 – R2 = (message * NR1) mod L
- Verification –H(m) Y= (R2O * ER1) mod L

Decryption

- Calculate plain text back again from cipher text- (m) = R1
^{J }mod L - Verification – H (m)
^{Y }mod L

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= m^{e} 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 = g^{x }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:

Basic features

- Free title page and bibliography
- Unlimited revisions
- Plagiarism-free guarantee
- Money-back guarantee
- 24/7 support

On-demand options

- Writer’s samples
- Part-by-part delivery
- Overnight delivery
- Copies of used sources
- Expert Proofreading

Paper format

- 275 words per page
- 12 pt Arial/Times New Roman
- Double line spacing
- Any citation style (APA, MLA, Chicago/Turabian, Harvard)

At Solution Essays, we are determined to deliver high-quality papers to our clients at a fair price. To ensure this happens effectively, we have developed 5 beneficial guarantees. This guarantees will ensure you enjoy using our website which is secure and easy to use.

Most companies do not offer a money-back guarantee but with Solution Essays, it’s either a quality paper or your money back. Our customers are assured of high-quality papers and thus there are very rare cases of refund requests due to quality concern.

Read moreAll our papers are written from scratch and according to your specific paper instructions. This minimizes any chance of plagiarism. The papers are also passed through a plagiarism-detecting software thus ruling out any chance of plagiarism.

Read moreWe offer free revisions in all orders delivered as long as there is no alteration in the initial order instruction. We will revise your paper until you are fully satisfied with the order delivered to you.

Read moreAll data on our website is stored as per international data protection rules. This ensures that any personal data you share with us is stored safely. We never share your personal data with third parties without your consent.

Read moreOrdering and sending money to us is an indication that you are purchasing our products and services. To have business talks laid out in the official language, you can check on our terms and conditions and get more information about this.

Read more
The price is based on these factors:

Academic level

Number of pages

Urgency