RSA Cryptosystem by Drs Charles Tappert and Ron
RSA Cryptosystem by Drs. Charles Tappert and Ron Frank The information presented here comes primarily from https: //en. wikipedia. org/wiki/RSA_(cryptosystem) and http: //www. math. uchicago. edu/~may/VIGRE 2007/ REUPapers/FINALAPP/Calderbank. pdf
RSA Cryptosystem n n RSA is the most commonly used public-key cryptosystem Named after its developers: Rivest, Shamir, Adleman n Developed when they were in their early 20 s and researchers at the MIT Lab Algorithm announced in Scientific American in 1977 RSA is based on Euler’s number theoretic result n n n If p and q are prime numbers and a is an integer not divisible by either p or q, then a(p-1)(q-1) = 1 mod pq φ (pq) = φ(p) φ(q) = (p-1)(q-1)
RSA Cryptosystem n The principle behind RSA is to find 3 very large positive integers n, e, and d such that n n (me)d = m (mod n) where m = the message < n e encodes, d (difficult to find unless provided) decodes and n is the product of two very large integers p and q The RSA algorithm involves four steps n n Key generation Key distribution Encryption Decryption
RSA Cryptosystem Key generation n Choose two distinct large prime numbers p and q n n Compute l(n) = lcm(f(p), f(q)) = lcm(p-1, q-1) n n Where l is Carmichael’s totient function Choose an integer e such that 1 < e < l(n) and gcd(e, l(n)) = 1 (that is, e and l(n) are coprime) Determine d as d = e-1 (mod l(n)) n n n = pq is the modulus for both public & private keys That is, solve for d from de = (mod l(n)) e = public key exponent, d = private key exponent Public key = (n, e), Private key = (n, d)
RSA Cryptosystem Key Distribution, Encryption, Decryption n Distribution: the public key (n, e) is distributed Encryption: plaintext message is converted into an integer m, then encrypted into code c = me (mod n) Decryption: m = cd (mod n)
RSA Cryptosystem Example n n n n Choose two distinct prime numbers p=61 & q= 53 Compute n = pq = 61*53 = 3233 Compute l(n) = lcm(p-1, q-1) = lcm(60, 52) = 780 Choose any integer e < 780 coprime to 780, let e=17 Compute d from de = 1 mod l(n) to get d = 413 Public key (n=3233, e=17) Send plaintext message “A”, m = 65 (ASCII for “A”) n n n Encode c = 6517 mod 3233 = 2790 Private key (n=3233, d=413) Decode c=2790: m = 2790413 mod 3233 = 65
RSA Cryptosystem Calculator n n http: //umaranis. com/rsa_calculator_demo. html https: //www. cs. drexel. edu/~jpopyack/Intro. CS/HW/RS AWorksheet. html
- Slides: 7