Introduction to Cryptography
Tom Kelliher, CS 325
Sept. 14, 2011
Choose presentation topics. Grading criteria.
- Basic terminology.
- What makes a good cipher?
- Plain text, cipher text.
- Interceptor aims: block, intercept, modify, fabricate.
- Symmetric cipher:
One key. Key distribution and management issues. Private key
- Asymmetric cipher:
Two keys: private and public. Public key cryptography.
- Product Ciphers -- application of two or more ciphers:
The result is not necessarily ``better.''
- Diffusion: A plain text character has a functional impact on multiple
cipher text characters.
This forces the cryptanalyst to have access to large amounts of cipher
- Confusion: A cryptanalyst should not be able to predict the changes
that occur when one character of the plain text is changed. (Consider a
This property makes it harder to understand the relationship between the
plain text and the cipher text.
- Stream cipher: One plain text character is used to produce one cipher
Fast; no latency.
Poor diffusion; possibly little confusion.
- Block cipher: A block of plain text is used to produce a block of
Excellent diffusion and confusion.
- Exchange one character for another, using a table. Many variations.
- Simple examples: Caesar rotation, ROT13.
- Permutation and keys. possible permutations.
Simple permutation scheme using ``tolerant'' as key: toleranbcdfgh...
(Use key and follow up with remaining letters.)
- One time pad. Components:
- A set of permutations.
- An infinite string of random numbers, modulo .
For each plaintext character, use the next random number to select the
permutation to apply.
Keeping the pads in synch.
- Other methods: Vernam cipher, book cipher.
- Columnar technique.
- Re-arrange the plaintext characters.
- Primitive example: Pig Latin.
- General idea:
- Construct a matrix with columns.
- Length of plain text should be . If not, pad out.
- Write plain text across rows of matrix.
- Read cipher text across columns of matrix.
- According to Shannon:
- Amount of secrecy should be proportional to amount of labor.
- Keys, algorithms should be free from complexity.
- Implementation process should be KISS.
- Error in encrypting should not propagate.
- Length of cipher text should match length of plain text.
- ``Trustworthy'' encryption:
- Based on sound mathematics.
- Analyzed by experts and found to be sound.
- Has withstood the ``test of time.''
Thomas P. Kelliher