1 / 66

Lecture 3 Overview

Lecture 3 Overview. Ciphers. The intent of cryptography is to provide secrecy to messages and data Substitutions ‘hide’ letters of plaintext Transposition scramble adjacent characters. Entropy.

kina
Download Presentation

Lecture 3 Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 3 Overview

  2. Ciphers • The intent of cryptography is to provide secrecy to messages and data • Substitutions • ‘hide’ letters of plaintext • Transposition • scramble adjacent characters CS 450/650 – Lecture 3: Entropy

  3. Entropy • Shannon demonstrated mathematical methods of treating communication channels, bandwidth, and the effects of random noise on signals • pi is the probability of a given message (or piece of information) • n is the number of possible messages (or pieces of information) CS 450/650 – Lecture 3: Entropy

  4. Entropy • Entropy gives an indication of the complexity, or randomness, of a message or a data set. • Generally, signals or data sets with high entropy, • Have a greater chance of a data transmission error • Require greater bandwidth to transmit • Have smaller capacity for compression • Appear to have a greater degree of "disorder” CS 450/650 – Lecture 3: Entropy

  5. Entropy and Cryptography • Through cryptography, we increase the uncertainty in the message for those who do not know the key • Plaintext has an entropy of zero as there is no uncertainty about it. • This class is CS 450 • Encryption using one of x equally probable keys increases the entropy to x • KBXT LWER ACMF OSJU CS 450/650 – Lecture 3: Entropy

  6. Entropy and Cryptography • With a perfect cipher “all keys are essentially equivalent” • A good cipher will make a message look like noise • Encryption should "scramble" the original message to the maximum possible extent • Algorithms should take a message through a sequence of substitutions and transpositions CS 450/650 – Lecture 3: Entropy

  7. Shannon Characteristics of ‘Good’ Ciphers • “The amount of secrecy needed should determine the amount of labor appropriate for the encryption and decryption” • Hold off the interceptor for required time duration • “The set of keys and enciphering algorithm should be free from complexity” • There should not be restriction on choice of keys or types of plaintext • “The implementation of the process should be as simple as possible” • Hand implementation, software bugs CS 450/650 – Lecture 3: Entropy

  8. Shannon Characteristics of ‘Good’ Ciphers • “Errors in ciphering should not propagate and cause corruption of further information in the message” • An error early in the process should not throw off the entire remaining cipher text • “The size of the enciphered text should be no larger than the text of original message” • A ciphertext that expands in size cannot possibly carry more information than the plaintext CS 450/650 – Lecture 3: Entropy

  9. Trustworthy Encryption Systems • Commercial grade encryption • Based on sound mathematics • Analyzed by competent experts • Test of time DES: Data Encryption Standard RSA: River-Shamir-Adelman AES: Advanced Encryption Standard CS 450/650 – Lecture 3: Entropy

  10. Confusion and Diffusion • Confusion • Has complex relation between plaintext, key, and ciphertext • The interceptor should not be able to predict what will happen to ciphertext by changing one chatracter in plaintext • Diffusion • Cipher should spread information from plaintext over entire ciphertext • The interceptor should require access to much of ciphertext to infer algorithm CS 450/650 – Lecture 3: Entropy

  11. Lecture 4 Data Encryption Standard (DES) CS 450/650 Fundamentals of Integrated Computer Security Slides are modified from Hesham El-Rewini and J. Orlin Grabbe

  12. Data Encryption Standard • Combination of substitution and transposition • Repeated for 16 cycles • Provides confusion and diffusion • Product cipher • Two weak but complementary ciphers can be made more secure by being applied together CS 450/650 – Lecture 4: DES

  13. A High Level Description of DES Input - P IP 16 Cycles Key Inverse IP Output - C CS 450/650 – Lecture 4: DES

  14. A Cycle in DES Left half Right half Key shifted And Permuted f New L-half New R-half CS 450/650 – Lecture 4: DES

  15. Key Summary K 64 bits PC-1 K+ 56 bits C0 28 bits D0 28 bits Shift C1 28 bits C2 28 bits C16 28 bits D1 28 bits D2 28 bits D16 28 bits PC-2 K1 48 bits K2 48 bits K16 48 bits CS 450/650 – Lecture 4: DES

  16. f E E(Rn-1) 48 bits Kn 48 bits E(Rn-1)+Kn 48 bits S Boxes 32 bits P CS 450/650 – Lecture 4: DES

  17. Cycle 1 M 64 bits I-P IP 64 bits L0 32 bits R0 32 bits f K1 48 bits L1 32 bits R1 32 bits CS 450/650 – Lecture 4: DES

  18. Cycle 2 L1 32 bits R1 32 bits f K2 48 bits L2 32 bits R2 32 bits CS 450/650 – Lecture 4: DES

  19. Cycle 3 L2 32 bits R2 32 bits f K3 48 bits L3 32 bits R3 32 bits CS 450/650 – Lecture 4: DES

  20. Cycle 16 L15 32 bits R15 32 bits f K16 48 bits L16 32 bits R16 32 bits R16 32 bits L16 32 bits IP-1 C 64 bits CS 450/650 – Lecture 4: DES

  21. DES CS 450/650 Fundamentals of Integrated Computer Security

  22. Design of the Algorithm • key elements of the algorithm design were "sensitive" and would not be made public • the rationale behind transformations by the S-boxes, the P-boxes, and the key changes • trapdoors? • Congressional inquiry • design flaw would be discovered by a cryptanalyst • to date, no serious flaws have been published CS 450/650 Fundamentals of Integrated Computer Security

  23. Does DES Work? • Differential Cryptanalysis Idea • Use two plaintext that barely differ • Study the difference in the corresponding cipher text • Collect the keys that could accomplish the change • Repeat CS 450/650 – Lecture 4: DES

  24. Cracking DES • During the period NBS was soliciting comments on the proposed algorithm, the creators of public key cryptography registered some objections to the use of DES. • Hellman wrote: "Whit Diffie and I have become concerned that the proposed data encryption standard, while probably secure against commercial assault, may be extremely vulnerable to attack by an intelligence organization" • letter to NBS, October 22, 1975 CS 450/650 – Lecture 4: DES

  25. Cracking DES (cont.) • Diffie and Hellman then outlined a "brute force" attack on DES • By "brute force" is meant that you try as many of the 256 possible keys as you have to before decrypting the ciphertext into a sensible plaintext message • They proposed a special purpose "parallel computer using one million chips to try one million keys each" per second CS 450/650 – Lecture 4: DES

  26. Cracking DES (cont.) • In 1998, Electronic Frontier Foundation spent $220K and built a machine that could go through the entire 56-bit DES key space in an average of 4.5 days • On July 17, 1998, they announced they had cracked a 56-bit key in 56 hours • The computer, called Deep Crack • used 27 boards each containing 64 chips • was capable of testing 90 billion keys a second CS 450/650 – Lecture 4: DES

  27. Cracking DES (cont.) • In early 1999, Distributed.net used the DES Cracker and a worldwide network of nearly 100K PCs to break DES in 22 hours • combined they were testing 245 billion keys per second • It has been shown that a dedicated hardware device with a cost of $1M (is much less in 2011) can search all possible DES keys in about 3.5 hours • This just serves to illustrate that any organization with moderate resources can break through DES with very little effort these days CS 450/650 – Lecture 4: DES

  28. Triple DES • Triple-DES is just DES with two 56-bit keys applied. • Given a plaintext message, the first key is used to DES- encrypt the message. • The second key is used to DES-decrypt the encrypted message. • Since the second key is not the right key, this decryption just scrambles the data further. • The twice-scrambled message is then encrypted again with the first key to yield the final ciphertext. • This three-step procedure is called triple-DES. CS 450/650 – Lecture 4: DES

  29. Detailed DES Example Plain text message M M = 0123456789ABCDEF (hexadecimal format) M in binary format: M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Left Half (L) and Right Half (R) L = 0000 0001 0010 0011 0100 0101 0110 0111 R = 1000 1001 1010 1011 1100 1101 1110 1111 CS 450/650 – Lecture 4: DES

  30. Key Key K K = K = 133457799BBCDFF1 (hexadecimal format) K in binary format: K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001 Note:DES operates on the 64-bit blocks using key sizes of 56- bits. The keys are actually stored as being 64 bits long, but every 8th bit in the key is not used (i.e. bits numbered 8, 16, 24, 32, 40, 48, 56, and 64). CS 450/650 – Lecture 4: DES

  31. Step 1: Create 16 sub-keys (48-bits) • 1.1 The 64-bit key is permuted according to table PC-1. CS 450/650 – Lecture 4: DES

  32. Example (cont.) From the original 64-bit key K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001 Using PC-1, we get the 56-bit permutation K+ = 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111 CS 450/650 – Lecture 4: DES

  33. Split this key 1.2 Split this key into left and right halves, C0 and D0, where each half has 28 bits K+ = 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111 From the permuted key K+, we get C0 = 1111000 0110011 0010101 0101111 D0 = 0101010 1011001 1001111 0001111 CS 450/650 – Lecture 4: DES

  34. Create 16 blocks 1.3 Create 16 blocks Cn and Dn, 1<=n<=16. Cn and Dn are obtained from Cn-1 and Dn-1 using the following schedule of "left shifts". CS 450/650 – Lecture 4: DES

  35. Example (Cont.) C0 = 1111000 0110011 0010101 0101111 D0 = 0101010 1011001 1001111 0001111 C1 = 1110000110011001010101011111 D1 = 1010101011001100111100011110 C2 = 1100001100110010101010111111 D2 = 0101010110011001111000111101 C3 = 0000110011001010101011111111 D3 = 0101011001100111100011110101 CS 450/650 – Lecture 4: DES

  36. Example (Cont.) C4 = 0011001100101010101111111100 D4 = 0101100110011110001111010101 C5 = 1100110010101010111111110000 D5 = 0110011001111000111101010101 C6 = 0011001010101011111111000011 D6 = 1001100111100011110101010101 C7 = 1100101010101111111100001100 D7 = 0110011110001111010101010110 CS 450/650 – Lecture 4: DES

  37. Example (Cont.) C8 = 0010101010111111110000110011 D8 = 1001111000111101010101011001 C9 = 0101010101111111100001100110 D9 = 0011110001111010101010110011 C10 = 0101010111111110000110011001 D10 = 1111000111101010101011001100 C11 = 0101011111111000011001100101 D11 = 1100011110101010101100110011 CS 450/650 – Lecture 4: DES

  38. Example (Cont.) C12 = 0101111111100001100110010101 D12 = 0001111010101010110011001111 C13 = 0111111110000110011001010101 D13 = 0111101010101011001100111100 C14 = 1111111000011001100101010101 D14 = 1110101010101100110011110001 C15 = 1111100001100110010101010111 D15 = 1010101010110011001111000111 CS 450/650 – Lecture 4: DES

  39. Form the keys Kn • 1.4 Form the keys Kn, for 1<=n<=16, by applying the following permutation table to each of the concatenated pairs CnDn. • Each pair has 56 bits, but PC-2 only uses 48 of these. CS 450/650 – Lecture 4: DES

  40. Example (Cont.) For the first key we have C1D1 = 1110000 1100110 0101010 1011111 1010101 0110011 0011110 0011110 which, after we apply the permutation PC-2, becomes K1 = 000110 110000 001011 101111 111111 000111 000001 110010 CS 450/650 – Lecture 4: DES

  41. Example (Cont.) K2 = 011110 011010 111011 011001 110110 111100 100111 100101 K3 = 010101 011111 110010 001010 010000 101100 111110 011001 K4 = 011100 101010 110111 010110 110110 110011 010100 011101 K5 = 011111 001110 110000 000111 111010 110101 001110 101000 K6 = 011000 111010 010100 111110 010100 000111 101100 101111 K7 = 111011 001000 010010 110111 111101 100001 100010 111100 CS 450/650 – Lecture 4: DES

  42. Example (Cont.) K8 = 111101 111000 101000 111010 110000 010011 101111 111011 K9 = 111000 001101 101111 101011 111011 011110 011110 000001 K10 = 101100 011111 001101 000111 101110 100100 011001 001111 K11 = 001000 010101 111111 010011 110111 101101 001110 000110 K12 = 011101 010111 000111 110101 100101 000110 011111 101001 CS 450/650 – Lecture 4: DES

  43. Example (Cont.) K13 = 100101 111100 010111 010001 111110 101011 101001 000001 K14 = 010111 110100 001110 110111 111100 101110 011100 111010 K15 = 101111 111001 000110 001101 001111 010011 111100 001010 K16 = 110010 110011 110110 001011 000011 100001 011111 110101 CS 450/650 – Lecture 4: DES

  44. Step 2: Encode each 64-bit block of data 2.1 Do initial permutation IP of M to the following IP table. CS 450/650 – Lecture 4: DES

  45. Example (Cont.) Applying the initial permutation to the block of text M, we get M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 IP = 1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 1111 0000 1010 1010 CS 450/650 – Lecture 4: DES

  46. Divide the permuted block IP 2.2 Divide the permuted block IP into a left half L0 of 32 bits, and a right half R0 of 32 bits IP = 1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 1111 0000 1010 1010 From IP we get L0 = 1100 1100 0000 0000 1100 1100 1111 1111 R0 = 1111 0000 1010 1010 1111 0000 1010 1010 CS 450/650 – Lecture 4: DES

  47. Proceed through 16 iterations of f 2.3 Proceed through 16 iterations, for 1<=n<=16, using a function f which operates on two blocks— a data block of 32 bits and a key Kn of 48 bits to produce a block of 32 bits. Ln = Rn-1 Rn = Ln-1 + f(Rn-1,Kn) -- + denote XOR K1 = 000110 110000 001011 101111 111111 000111 000001 110010L1 = R0 = 1111 0000 1010 1010 1111 0000 1010 1010 R1 = L0 + f(R0,K1) CS 450/650 – Lecture 4: DES

  48. The Calculation of the function f 1- Expand Rn-1 E(Rn-1 ) 2- XOR Kn + E(Rn-1) = B1B2B3B4B5B6B7B8 3- Substitution S-Boxes  S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8) 4- P permutation  f = P(S1(B1)S2(B2)...S8(B8)) CS 450/650 – Lecture 4: DES

  49. Expand each block Rn-1 • 2.4 Expand each block Rn-1 from 32 bits to 48 bits using a selection table that repeats some of the bits in Rn-1 . CS 450/650 – Lecture 4: DES

  50. Example (Cont.) • We'll call the use of this selection table the function E. • Thus E(Rn-1) has a 32 bit input block, and a 48 bit output block. E Rn-1 E(Rn-1 ) CS 450/650 – Lecture 4: DES

More Related