Presented by Katherine Heller COSC 4765 University of Wyoming April 26, 2011 Image source: PC Dynamics, Inc.
Introduced 1970’s Whitfield Diffie and Martin Hellman Known as Public Key Encryption (PKE) Eliminated need for shared private keys
Rivest, Shamir and Adleman First asymmetric encryption algorithm Encryption and authentication Used with DES, SSL, CDPD and PGP Most widely used asymmetric cipher
A function (F) + A plaintext message (m) + An encryption key (k) = Ciphertext (c)
Two keys: one public (k p ) one private (k s ) F(m, k p ) = c and F -1 (c, k s ) = m F -1 (F(m, k p ), k s ) = m
Select two large prime numbers: p and q. Find the product, n, of p and q: n = pq. Choose a number, e, which is less than n and relatively prime to (p-1)(q-1). Find a number d, such that (ed - 1) is evenly divisible by (p-1)(q-1). e is the public exponent, d is the private exponent. Public key: (n, e) Private key: (n, d)
Using real numbers: p = 5077 and q = 4999 n = pq = e = 5 ( p – 1 ) = ( 5077 – 1 ) = 5076 ( q – 1 ) = ( 4999 – 1 ) = * 4998 = d = ( 5 ( ) – 1 ) / = 3
What are the keys? n = , e = 5 and d = Public Key is the pair (n, e) or ( , 5) Used to encrypt Private Key is the pair (n, d) or ( , ) Used to decrypt
Creating the ciphertext c = m e mod n Decrypting the message m = c d mod n Remember, n is really, really huge!
Larger modulus (n) increases security Large keys Commonly 1024, 2048 and 4096 bits Keys ≥ 2048 bits for extremely valuable data Difficult to compare to other methods Security comes from how the keys are generated, as well as key length
Produces ciphertext without patterns Very random Hard to exploit Larger modulus = greater security
Modular exponentiation slows it down Longer key = slower operations ◦ 2 x modulus ⇒ time for public key ops x 4 time for private key ops x 8 time for key generation x 16 ◦ Public key ops take O(k 2 ) steps ◦ Private key ops take O(k 4 ) steps (where k = number of bits in modulus n) DES 1000 times faster
The de facto standard for cryptography Combines authentication with encryption Allows world-wide use of one system regardless of software or platforms
LARGE PRIME NUMBERS 100 digits long, or longer (each!) Factoring very difficult Security in the mathematical difficulty Resistant to key search attacks
RSA can still be broken, with the key Discovering a private key corresponding to its paired public key “Guessed Plaintext Attack” ◦ Guess the message ◦ Run the encryption to see if it matches ciphertext Even so – RSA isn’t going anywhere
RSA Algorithm Demo by Richard Holowczak: classes/9444/rsademo/#overview RSA.com FAQ document: =2152#
Coated.com. (2010). GSM Security Encryption Code Hacked. Retrieved April 23, 2011, from Coated.com: hacked / Daswani, N., Kern, C., & Kesavan, A. (2007). Foundations of Security: What Every Programmer Needs to Know. Berkeley: Apress. PC Dynamics, Inc. (2011). File Encryption. Retrieved April 23, 2011, from SafeHouseSoftware.com: Richard Holowczak, P. (2002, September 12). RSA Demo Applet. Retrieved April 16, 2011, from cisnet.baruch.cuny.edu: RSA Laboratories. (2000). RSA Laboratories' Frequently Asked Questions About Today's Cryptography, Version 4.1. Retrieved April 16, 2011, from RSA Laboratories: Welschenbach, M. (2005). Cryptography in C and C++. New York: Apress.
Questions? Image source: Coated.com