Applied Cryptography Main goal Give some practical experience on cryptographic technics used today. Show how to use existing cryptographic software. Examination: Practical assignments and written exam Homepage containg latest course information: http://www.nada.kth.se/~marten/AC/2003 Check course program (from homepage) for detailed information Homepage mirror at http://students.mii.lu.lv/user/AC/2003/ Feb 11, 2003 Mårten Trolin
Requirements Attend lectures (if you want to) Collect at least 30 points Two practical assignments give up to 20 points each Written exam gives up to 20 points. Feb 11, 2003 Mårten Trolin
Outline of course program N.B. Course program is subject to change. Check the home page for the latest information Lectures 1-5: Basic cryptographic functions and principles Lectures 6-8: Smartcards in financial transactions Lectures 9-11: SSL and PGP Lectures 12: Passwords Exam on April 29th. Feb 11, 2003 Mårten Trolin
Why cryptography Reason for using cryptography Protect from eaves-dropping (confidentiality) Ensure data is not modified (integrity) Certify identity of sender (authenticity) Requirements (application dependent) Simple key management Low hardware requirements (smart card applications, mobile phones) Cost of bandwidth Feb 11, 2003 Mårten Trolin
Simple example – substitution cipher The key is a permutation of the letters of the alphabet, i.e. a bijection Encryption is performed by substituting each letter for its corresponding letter Decryption is the same as encryption with the difference that the inverse is used Feb 11, 2003 Mårten Trolin
Substitution cipher – example Example: Encrypt MY DOG ATE YOUR CAT using the key ABCDEFGHIJKLMNOPQRSTUVWXYZ UWGRPNQSBJXMECAIZOYTDFHKLV Feb 11, 2003 Mårten Trolin U
Breaking the substitution cipher Substitution ciphers are easily broken using frequency analysis We use the fact that different letters (or combination of letters) occur with different probability Example – break TK IL KQ JKT TK IL TBST CR TBL OULRTCKJ Frequency of letters in English: ETAOINSHRDLU Most common two letter words: OF TO IN IS IT BE BY HE AS ON AT OR AN SO IF NO Feb 11, 2003 Mårten Trolin
Symmetric vs. asymmetric cryptography Symmetric ciphers – sender and recipient use the same key Dkey(Ekey(m)) = m Substitution cipher is an example of a symmetric cipher Impractical for big systems – number of keys is quadratic in the number of users The solution – asymmtric algorithms. Think of a locked mailbox! Different keys for encryption and decryption Dprivate key(Epublic key(m)) = m Feb 11, 2003 Mårten Trolin
Asymmetric cryptography Each user has a public and a private key The public key is published in a “phone book” The private key is kept secret Messages encrypted with the public key can be decrypted with the private key To send a message to Mårten, look up Mårten’s public key in the “phone book”. Mårten can then decrypt the message with his private key Number of keys is linear in the number of users Feb 11, 2003 Mårten Trolin
RSA Asymmetric cryptographic algorithm published in 1978 The most popular asymmetric algorithm used today Now free to use – patent expired in 2000 Relies on the hardness of factoring a number consisting of two primes Feb 11, 2003 Mårten Trolin
The RSA algorithm – key generation Generate two primes p, q and set n = pq Choose e such that gcd(e, (p – 1)(q – 1)) = 1 Compute d such that ed = 1 mod ((p – 1)(q – 1)) The public key is the pair (e, n) The private key is the pair (d, n) Feb 11, 2003 Mårten Trolin
RSA – encryption and decryption Message m – number 0 < m < n Encryption E(m) = me mod n Decryption D(m) = md mod n Number theoretical exercise – check that D(E(m)) = m. Feb 11, 2003 Mårten Trolin
Breaking RSA If we can factor n we can break RSA Suppose we know p, q such that pq = n We can compute (p – 1)(q – 1) It is now trivial to compute d = e-1 mod ((p – 1)(q – 1)) The largest number that is (publicly) known to have been factored today is 512 bits Other attacks exist for certain uses of RSA Feb 11, 2003 Mårten Trolin