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

1 / 8

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

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about ' Announcements: Matlab : tutorial available at math.ufl/help/matlab-tutorial/' - yagil

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

DTTF/NB479: Dszquphsbqiz Day 5

• Announcements:
• Matlab: tutorial available at http://www.math.ufl.edu/help/matlab-tutorial/
• Questions?
• Today:
• Wrap up Hill ciphers
• Schedule change: skip Playfair cipher, start ch 3 tomorrow
• 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…
• 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 = ???
Unbreakable?
• Yes, for ciphertext only…

Ciphertext:

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…
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?
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
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)?
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