� � Crypto intro Crypto intro Symmetric crypto Symmetric crypto Achieving security goals with symmetric crypto Radboud University Nijmegen Achieving security goals with symmetric crypto Radboud University Nijmegen e-Passport example e-Passport example Outline Crypto intro Computer Security: Secret Key Crypto Symmetric crypto Bart Jacobs Achieving security goals with symmetric crypto Confidentiality Institute for Computing and Information Sciences – Digital Security Radboud University Nijmegen Integrity Authentication Version: fall 2010 e-Passport example Bart Jacobs Version: fall 2010 Computer Security 1 / 44 Bart Jacobs Version: fall 2010 Computer Security 2 / 44 Crypto intro Crypto intro Symmetric crypto Symmetric crypto Radboud University Nijmegen Radboud University Nijmegen Achieving security goals with symmetric crypto Achieving security goals with symmetric crypto e-Passport example e-Passport example Situation & terminology Example encryption ☛ ✟ original Example: the message: encryption decryption plaintext ciphertext plaintext ✡ ✠ Dit wil ik versleutelen! topic of topic of becomes (with PGP-encrypt, in hexadecimals): cryptography cryptanalysis 30a4 efde f665 d409 4946 c8b0 d82b 7620 312c bf1b 7f3a 8781 086d 069b b6e0 60a2 Officially, 94c2 9b27 440c affd 5343 ca47 d0b4 afce 5719 = cryptography + cryptanalysis cryptology This is the official, somewhat outdated terminology. But often “crypto” or “cryptography” is used for “cryptology”. Bart Jacobs Version: fall 2010 Computer Security 4 / 44 Bart Jacobs Version: fall 2010 Computer Security 5 / 44 Crypto intro Crypto intro Symmetric crypto Symmetric crypto Radboud University Nijmegen Radboud University Nijmegen Achieving security goals with symmetric crypto Achieving security goals with symmetric crypto e-Passport example e-Passport example Crypto system Ordering crypto primitives via numbers of keys The en/de-cryption is done with: algorithm crypto system number = + name key names notation (or secret code, or cipher) of keys key (parameter of the algorithm) 0 hash functions — h ( m ) 1 symmetric crypto shared, secret K { m } Kerckhoffs principle asymmetric crypto public & private The strength of the crypto system must rely solely on the strength 2 { m } K (or public key crypto) keypair of the key; the algorithm must be (assumed to be) public. Modern interpretation of this principle: We start with symmetric key crypto. • Algorithm must arise from public competition (organised by NIST for AES & next hash) • Non-public algorithms must be distrusted (think of DVD-encryption, GSM, Mifare, . . . , all broken) Bart Jacobs Version: fall 2010 Computer Security 6 / 44 Bart Jacobs Version: fall 2010 Computer Security 7 / 44
Crypto intro Crypto intro Symmetric crypto Symmetric crypto Achieving security goals with symmetric crypto Radboud University Nijmegen Achieving security goals with symmetric crypto Radboud University Nijmegen e-Passport example e-Passport example Alphabets Words In principle, an alphabet is an arbitrary set A . In this context, the A word over an alphabet A is a finite sequence w = a 1 a 2 · · · a n of elements a ∈ A are called letters. letters a i ∈ A . The length of this w is n , obviously. In practice, an alphabet is a finite set A = { a 1 , . . . , a n } of letters. One writes A ⋆ for the set of words over A . Examples: (aka. the Kleene star) • A = { 0 , 1 } , the alphabet of bits For instance, { 0 , 1 } ⋆ is the set of binary words. • A = { a , b , c , . . . , z } , the alphabet of lowercase Latin characters; We write | , or sometimes just a comma, for concatenation of • A = { 00 , 01 , . . . , 7 F } the ASCII alphabet, as hexadecimals; words. Hence: (Recall: 7 F = 127 = 2 7 − 1.) � � b 1 b 2 · · · b m a 1 a 2 · · · a n = a 1 a 2 · · · a n b 1 b 2 · · · b m . • The extended ASCII alphabet of 256 characters Encryption/decryption are functions from words to words • UTF alphabets involve even more characters (usually binary). (depending on version, like UTF-16, UTF-32) Bart Jacobs Version: fall 2010 Computer Security 8 / 44 Bart Jacobs Version: fall 2010 Computer Security 9 / 44 Crypto intro Crypto intro Symmetric crypto Symmetric crypto Radboud University Nijmegen Radboud University Nijmegen Achieving security goals with symmetric crypto Achieving security goals with symmetric crypto e-Passport example e-Passport example Symmetric crypto: two basic techniques Substitution: exchange of characters Suppose we have a message/word m and wish to (symmetrically) The key is a function K : A − → A , which is bijective: it has an encrypt it to K { m } , using key K . We discuss two basic techniques: inverse K − 1 : A − → A , satisfying 1 Substitution: exchange characters from the alphabet, like in K − 1 ◦ K = identity = K ◦ K − 1 . Caesar’s cipher. The key K is: the character substitution/exchange function This reversibility is needed for decryption. 2 Transposition: exchange positions of characters, block-by-block. This substition function K is extended to words via: The key K is: the position exchange function m = a 1 a 2 · · · a n becomes K { m } = K ( a 1 ) K ( a 2 ) · · · K ( a n ) . Ciphers like DES and AES involve repeated combinations of substitution and transposition, depending on a secret key Bart Jacobs Version: fall 2010 Computer Security 11 / 44 Bart Jacobs Version: fall 2010 Computer Security 12 / 44 Crypto intro Crypto intro Symmetric crypto Symmetric crypto Radboud University Nijmegen Radboud University Nijmegen Achieving security goals with symmetric crypto Achieving security goals with symmetric crypto e-Passport example e-Passport example Substitution: Example Substitution: weakness Caesar’s cipher is determined by the substitution function/key C : { a , b , . . . , z } − → { a , b , . . . , z } , The main attack on substitution ciphers is frequency analysis. given by: In English, e is the most common letter, followed by t, o, a, n, i, C ( a ) = d , C ( b ) = e , C ( z ) = c . . . . etc. There are frequency tables on the web. The most frequently occurring letter in a (substitution) ciphertext Hence: corresponds thus most probably to e. You will see this most clearly by doing an exercise. C { ikbengek } = C (i) C (k) C (b) C (e) C (n) C (g) C (e) C (k) = lnehqjhn . What is the inverse function C − 1 : { a , b , . . . , z } − → { a , b , . . . , z } ? Use it to describe decryption! Bart Jacobs Version: fall 2010 Computer Security 13 / 44 Bart Jacobs Version: fall 2010 Computer Security 14 / 44
Recommend
More recommend