Mar 27
crypto basics
Discuss material in chap 10 and 11 in text, "old-style" crypto.
Make sure that the basic terms and ideas are clear, and do some
of those problems as class exercises.
I hope this will be a discussion, not a lecture;
I want to see how much background folks have with these topics.
Ideas and vocabulary :
- source (and stationary source)
- frequency table
- digrams
- entropy per symbol of "english"
- "meaning"
- redundancy = 1 - (entropy per symbol base N), N symbol alphabet
- (experimental approach to removing letters and having people guess meaning)
- alice, bob, eve
- encryption function and key (symmetric)
- security by obscurity (trying to hide the method) isn't generally practical
- ... but security by secret key is.
- attack; formal definition
- brute force approach
- frequency analysis
- symmetric key
- poly-alphabetic (Vigenere) system
- ... which falls to "index of coincidence"
- "playfair system" ... and digram
- permutation ciphers (not discussed in text)
- linear algebra transformations
- methods of attack:
- ciphertext only
- known plaintext
- chosen plaintext
"codes" : as used by cryptographers, means phrase-substitution; no longer used much.
Modern crypto - mid 1970's to now - explosion in the field; all sorts of crazy stuff now possible.
desired properties :
- secrecy
- authenticity
- integrity
- non-repudiation
1-time pad: unbreakable (!)
resources
symmetric key
If we get this far ...
"symmetric key ciphers"
Several themes:
- more math ... more trickiness
- building blocks are (like old ones) substitutions and permutations
- can also think as multiple folding and stretching operations to diffuse information (Shannon's description)
read chapter 11, particularly "Hill system". (1930; wikipedia "Hill cipher")
- explain why it isn't vulnerable to "ciphertext only" attack (no frequencies left)
- but *is* vulnerable to "known plaintext" (invert the matrix)
- Do 11.10, 11.11, pg 89
browse chapter 12, particularly 12.4, 12.5
follow-up with a look at modern symmetric key systems,
and a few examples: DES, AES, Blowfish, Serpent
Mention the large number of these things.
Pick one to look at (implement?) in more detail. (blowfish?)
Implementation notes: "chaining"
Assignment coming ... likely some sort of "install and test"
and some toy problems like the ones in the text.
Coming: RSA, chapter 13.