1 / 8

Announcements: Matlab : tutorial available at math.ufl/help/matlab-tutorial/

DTTF/NB479: Dszquphsbqiz Day 5. Announcements: Matlab : tutorial available at http://www.math.ufl.edu/help/matlab-tutorial/ Questions? Today: Wrap up Hill ciphers One-time pads and LFSR Schedule change: skip Playfair cipher, start ch 3 tomorrow. Next: one time pads.

yagil
Download Presentation

Announcements: Matlab : tutorial available at math.ufl/help/matlab-tutorial/

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. DTTF/NB479: Dszquphsbqiz Day 5 • Announcements: • Matlab: tutorial available at http://www.math.ufl.edu/help/matlab-tutorial/ • Questions? • Today: • Wrap up Hill ciphers • One-time pads and LFSR • Schedule change: skip Playfair cipher, start ch 3 tomorrow

  2. Next: one time pads • Back to Vigenere: if the codeword were really long, say 25% as long as the entire plaintext, how many characters would contribute to each dot product? ____ • What does this say about our ability to do a frequency analysis? • Now consider the extreme case, the one-time pad…

  3. One-time pads • Represent the plaintext in binary, length n • Works for text (from ASCII), images, music, etc • The key is a random vector of length n • Ciphertext = plaintext XOR key • Do • message = 1000011, key = 1110010 • Cipher = ??? • ciphertext XOR key = ???

  4. Unbreakable? • Yes, for ciphertext only… Ciphertext: EOFMCKSSDKIVPSSAD Could be: thephoneisringing meetmeinthegarage … I need the whole key to decrypt. • What’s the downside to using a one-time pad? Variation: Maurer, Rabin, Ding et al’s satellite method • If I’m willing to compromise some security…

  5. Linear Feedback Shift Register (LFSR) Sequences Name comes from hardware implementation Generated bit stream Shift register b1 b2 b3 b4 … bm-1 bm To encrypt plaintext of length n, generate an n-bit sequence and XOR with the plaintext. Feedback function • Need initial conditions (bits in register) and a function to generate more terms. • Example: • x1 = 0, x2 = 1, x3 = 0, x4 = 0, x5 = 0; • xn+5 = xn + xn+2 (mod 2) • What does this remind you of in math?

  6. Linear Feedback Shift Register (LFSR) Sequences • A recurrence relation! • Specify initial conditions and coefficients, for example: • x1 = 0, x2 = 1, x3 = 0, x4 = 0, x5 = 0; • xn+5 = xn + xn+2 (mod 2) • Another way to write is xn+5 = 1xn + 0xn+1 + 1xn+2 +0xn+3 + 0xn+4 (mod 2) • In general, • Generate some more terms • How long until it repeats? (the period of the sequence) • 10 bits (0100010100) generates ____ bits • Demo

  7. Long periods • LFSR can generate sequences with long periods • Like Vigenere with long key: hard to decrypt! • Lots of “bang for the buck”! • But it depends on the key • Good example:xn+31=xn + xn+3 (mod 2) • How many bits do we need to represent this recurrence? • 62 bits • How long is the period? • Over 2 billion! Why? • There exist (231 – 1) 31-bit words • Why “-1”? • If it cycles through all of these, it’s maximal. Related to Mersenne primes • See http://www.ece.cmu.edu/~koopman/lfsr/index.html for a list of maximal-period generators • Can you devise a bad example (one with period << 2n-1)?

  8. LFSR Demo • Downside: very vulnerable to known plaintext attacks. • Determine key length by computing determinants • Theorem: If N is the length of the shortest recurrence that generates the sequence, then det(MN) = 1 (mod 2) and det(Mn)=0 (mod 2) for all n > N. • 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 …  length = 5 • Use the key length to solve for the recurrence. • Verify your solution by using the solution to generate the whole key

More Related