RSA: The First Homomorphic Encryption Scheme in Cryptography
The RSA algorithm was proposed in 1978 and is named after its inventors: Rivest, Shamir, and Adleman.
RSA: A Cornerstone of Cryptography
In 1976, the first asymmetric key encryption algorithm, Diffie-Hellman, was proposed. However, this algorithm left open the problem of realizing a one-way function — a function that is hard to invert.
The three cryptographers — Ron Rivest, Adi Shamir, and Leonard Adleman — solved the aforementioned problem.
RSA algorithm
This algorithm is divided into three phases, namely, key generation, encryption, and decryption.
A. Key Generation:
1. Select two large prime numbers (say p, and q).
2. Calculate n = pq.
3. Calculate Euler totient function Φ(n) = (p-1)(q-1)
4. Choose value of e (where 1 < e < Φ(n), and gcd(Φ(n),e)=1).
5. Calculate d such that ed = 1 mod Φ(n).
Public key = {e,n}
Private key = {d, n}
B. Encryption:
Consider plaintext m (where m<n). Ciphertext can be obtained as follows.
Ct = me mod n
C. Decryption:
m = Ctd mod n
RSA from a Homomorphic Encryption Perspective
RSA was the first homomorphic encryption algorithm. It is homomorphic with respect to multiplication. Unfortunately, addition cannot be applied to RSA-encrypted data. In other words, it supports only a single type of operation, making it an example of partial homomorphic encryption.
Enc(m1)*Enc(m2) = Enc(m1*m2)
Proof: Enc(m1) = m1e mod n, Enc(m2) = m2e mod n
Enc(m1)*Enc(m2) = m1e * m2emod n = m1*m2e mod n = Enc(m1*m2).
The 1978 discovery raised a fundamental question: is it possible to perform multiple operations on encrypted data within a single encryption scheme?
We thanks to..
1. R Rivest, L Adleman, and ML Dertouzos. "On data banks and privacy homomorphisms." Foundations of secure computation 4.11 (1978): 169-180.
2. R Rivest, A Shamir, and L Adleman. "A method for obtaining digital signatures and public-key cryptosystems." Communications of the ACM 21.2 (1978): 120-126.
Comments
Post a Comment