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

Download Presentation

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

Loading in 2 Seconds...

- 115 Views
- Uploaded on
- Presentation posted in: General

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

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

DTTF/NB479: DszquphsbqizDay 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

- 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 = ???

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

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?

- 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

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

- 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