130 likes | 235 Views
cryptography Readings. Encryption, Decryption, & Digital Certificates. R IVEST S HAMIR A DLEMAN. Problem Exchanging Key for encryption securely Signing a message (proving the true-party sent it) Solution (confidentiality) M^e mod n = C iphertext
E N D
cryptography Readings • Encryption, Decryption, & Digital Certificates
RIVESTSHAMIRADLEMAN • Problem • Exchanging Key for encryption securely • Signing a message (proving the true-party sent it) • Solution (confidentiality) • M^e mod n = Ciphertext • n = (p * q) where p & q are 2 very large ‘random’ prime numbers • e is derived from p and q • C^d mod n = M • d is derived from p and q • Anyone can know (e,n) • d must be secret • Solution (signing) • S = DB(M) (D = decrypt with private key = encrypt plaintext with private key) • E(S) = EA(S) (EA = Encrypt with public) • S = DA(E(S) • M = EB(S)
Requirements For RSA to be Secure • You can decrypt an encrypted message back to its original plaintext. • Encryption for Confidentiality • Both the public (e) and private (d) keys are easy to compute. • By making the (e) key public, there is no easy way to compute (d). • You can encrypt a decrypted message back to its original plaintext. • Encryption for Authentication (Integrity)
PROBLEM • How do you exchange the key(s) necessary for encryption? • Solution: • Diffie-Hellman math – don’t ask me to explain • Requirements: • p and q • Two random very large numbers 100’s of digits long or longer • n = p * q • if p and q are sufficiently large it is almost impossible to factor n and come up with p and q; thus almost impossible to determine d! • d = private key; derived from p and q (see wikipedia) • e = public key; derived from p and q (see wikipedia)
THE MATH • Plaintext Message = M • Convert PlainText to number (binary) = M • M^e (mod n) = CipherText(C) • e and n are publicly known, either sent to party for communication or stored publicly (CA’s) • C^d (mod n) = M
WEAKEST LINK FAILURE • What is the weakest link in RSA?
FEBRUARY 2012 • What did security researchers allege? • Were they right? • What is a Pseudo-Random Number Generator? • What size keys should be in use today?
What does SSL/TLS Assure? • Encrypted message between browser and server • Authentication of server • Depends on..... • What are root certificate authorities? • How are they used? • Can the system be made more secure? If so, How?