130 likes | 238 Vues
Dive into the fundamentals of cryptography with a focus on RSA encryption. This guide explores key concepts such as encryption, decryption, and digital certificates. Learn how the Diffie-Hellman method securely exchanges keys and how public and private key pairs provide confidentiality and integrity in communications. Discover the importance of large prime numbers in RSA and the role of root certificate authorities in SSL/TLS. Equip yourself with the knowledge to enhance security in digital communications.
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?