As we know, RSA encryption is an asymmetric cryptography method which uses two different keys for encryption and decryption purpose. Moreover, RSA is an acronym for Rivest, Adi Shamir and Len Adleman.
Asymmetric key cryptography is the one which uses a secret key (private key) and public key for encrypting and decryption. In addition, public key will encrypt the plaintext and private key will decrypt the cipher text.
RSA encryption method
Firstly, take a look at the following example:
- p and q are two prime numbers where p =7 and q= 19.
- Firstly we calculate modulus as n = p*q = 133. Secondly, find Euler’s quotient = (p-1)(q-1) = 6*18 = 108.
- Let’s assume public key e as 5. Thus, d *e mod(n) is congruent to 1, which means d = 65.
- Hence, public key = {e, n} = {5, 133}.
- Private key = {d, n} = {65, 133}.
Common attacks
- Plain text attack
- Chosen cipher text attack
- Factorization attack
In plain text attack, attacker knows some block of plain text and tries to convert it into cipher text. We can prevent this attack by using padding bits for encryption.
Plain text attack can be further classified into three major attacks. One is short message attack. Second is cycling attack and last one is unconcealed message attack.
In chosen cipher attack, an attacker can try to find plain text from given cipher text using extended euclidean algorithm.
In factorization attack, attacker will impersonate the key owner and using stolen data, he can decrypt sensitive information.
Evaluation of RSA Encryption Attacks and Its variants
- Low decryption exponent attack against RSA
- Partial Key Exposure Attack
- Common modulus attack
- Blinding attack
Most low power devices use small d to improve computational efficiency. However, small d can result in complete breakdown of the cryptosystem. This is low decryption exponent attack. If n is the modulus and d is the private exponent, an attacker can very easily recover d.
In addition, if modulus n is k bits long, k/4 is least significant bits of d, an attacker can reconstruct all of d in time linear to e(loge) where e is the public exponent. This is partial key exposure attack.
To defend against common modulus attack, we can make sure that the set of encryption exponents has number larger than 1 as a common factor.
To defend against Blinding attack, we can use one way hash function first.
Implementation Attacks on RSA
- Timing attack
- Fault Analysis attack
- Failure Analysis attack
Prevention and measures
- Firstly, use a long key for encryption purpose.
- Secondly, use strong primes.
- Thirdly, use multi prime RSA.
Summary
In conclusion, we have learnt that RSA encryption is an asymmetric cryptography method which uses two different keys for encryption and decryption purpose. It is an acronym for Rivest, Adi Shamir and Len Adleman.
Common attacks are plaintext attack, chose cipher and factorization attacks on RSA. Its variants include low decryption exponent attack, partial key exposure attack, common modulus attack and blinding attack. Moreover, the implementation attacks are timing attack, fault analysis and failure analysis attack.
[…] 6.Encryption phase masks […]