public key cryptography & rsa Algorithm
The most common public key algorithm is RSA, named for its inventors Rivest, Shamir and Adleman(RSA). It uses two numbers, e and d, as the public and private keys.
=> Each user generates a public/private key pair by: Selecting two large primes at random - p, q
=> Keep secret private decryption key: KR={d,p,q}
=> Choose p = 3 and q = 11
=> Compute n = p * q = 3 * 11 = 33
=> Compute k(n) = (p - 1) * (q - 1) = 2 * 10 = 20
=> Choose e, e and n are coprime. Let e = 7
=> Compute a value for d such that (d * e) % k(n) = 1.
One solution is d = 3 [(3 * 7) % 20 = 1]
=> Public key is (e, n) => (7, 33)
=> Private key is (d, n) => (3, 33)
=> The encryption of m = 2 is c = 27 % 33 = 29
=> The decryption of c = 29 is m = 293 % 33 = 2