Lecture 3 INTRODUCTION TO MODERN CRYPTOGRAPHY MODERN CRYPTOGRAPHIC ERA Standardization of cryptographic primitives Invention of public key cryptography Formalization of security definitions Growth of computing and the internet Liberalization of cryptographic restrictions Modern cryptography concerns itself with the following four objectives: 1. Confidentiality (the information cannot be understood by anyone for whom it was unintended) 2. Integrity (the information cannot be altered in storage or transit between sender and intended receiver without the alteration being detected) 3. Non-repudiation (the creator/sender of the information cannot deny at a later stage his or her intentions in the creation or transmission of the information) 4. Authentication (the sender and receiver can confirm each other’s identity and the origin/destination of the information) 1 Government Standardization Data Encryption Standard (DES): A strong, standardized 56-bit cipher designed for modern computers Originally designed by IBM and called "Lucifer". Tweaked by the NSA and published in 1975. In 1999, a DES key was brute forced in 24 hours for $100K Triple DES (3DES): Effectively 112-bit cipher. Still in use. Advanced Encryption Standard (AES) is modern heir to DES, and was designed by academics in a public competition. AES supports 128-bit and larger keys. APPLICATIONS 1. Encryption is used to protect data in transit, data being transferred via networks such as the Internet, mobile telephones, wireless intercom systems, Bluetooth devices and bank automatic teller machines (ATM). 2. Encryption can be used to protect data such as files on computers and storage devices. 2 EXAMPLE Secure Sockets Layer (SSL) SSL is the common encryption protocol used in e-commerce. When you make a purchase over the Internet, this is the technology the merchant uses to make sure you can safely transmit your credit card information. Using this protocol, your computer and the online merchant's computer agree to create a type of private "tunnel" through the public Internet. This process is called the "handshake". When you see a URL in your Web browser that starts with "https" instead of "http", it is a secure connection that is using SSL. SOME ISSUES Key Distribution Problem How do Alice and Bob first agree on a shared key? What happens if either party is compromised? What happens when Carol wants to talk to Alice and Bob? Possible Solution: 1. Diffie-Hellman Key Exchange 2. Public Key Encryption 3. RSA Encryption What about authentication? How do we know Alice is Alice? How do we know a message originated from Alice? How do we know Alice's message was not altered in transit? 3 Message Authentication Codes (MAC) Alice and Bob share a secret key k. Either can sign (or MAC) a message: Sign(k, m)→ σ The recipient can verify the signature: Verify(k, m, σ) Often built from other primitives Similar key distribution problems to ciphers Public Key Signatures Is a public key signature scheme possible? How do we distribute verification keys? RSA is fixed size. How do we sign big messages? Message Digests Message digests compress input to fixed length strings. No keys involved. One-wayness: It is hard to find an input that hashes to a pre-specified value. Collision resistance: Finding any two inputs having the same hashvalue is difficult. Fixed-length public signature schemes can sign digests instead of the actual message. 4