RSA Algorithm Date: 96/10/17 Wun-Long Yang
Outline Introduction to RSA algorithm RSA efficient implementation & profiling
Introduction to RSA An algorithm for public-key cryptography Publicly described in 1997 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT
RSA Algorithm Select 2 prime numbers p and q, p≠q Calculate n=p * q Calculate ф(n)=(p-1) * (q-1) Select integer e, GCD(ф(n), e)=1, 1<e<ф(n) Calculate d=e -1 (mod ф(n)) Public key = {e, n}, Private key = {d, n} encryptionPlain Text MCipher Text C =M e mod n decryptionCipher Text CPlain Text M=C d mod n
Efficient Implementation RSA is much slower than symmetric cryptosystems. Encryption: To speed up the operation of RSA using public key, a specific choice of e is usually used. i.e. e=3, 17,or 65537( ) with padding. Decryption: With Chinese Remainder Theorem, the result is that the calculation is approximately four times as fast as evaluating M = C d mod n directly.
My Implementation Originally with C language, but the computations usually result in overflow. I use C++ to implement it with a numeric library, NTL.
The End Thanks for your listening