CIS 4362/MAT 5932 - Introduction to Cryptology and Information Security
The course gives an introduction to standard techniques for analyzing and designing different types of cryptographic schemes. In particular, the following topics are to be addressed:
- Classical Cryptography (e.g., shift and substitution ciphers, linear feedback shift registers, one time pad)
- Block Ciphers (e.g., DES and AES, modes of operation for block ciphers)
- Public Key Cryptography (e.g., RSA, simple algorithms for factoring integers, generic algorithms for computing discrete logarithms)
- Other Cryptographic Tasks (e.g., digital signing, key establishment, zero-knowledge proofs)
Most of the course material will be taken from the book Cryptography. Theory and Practice (Douglas R. Stinson), Chapman & Hall/CRC. Personally, I use the 3rd edition of this book, which in the sequel is denoted by [Sti06]. However, using an older edition should not cause any relevant difficulties. More information on the course is available in the syllabus.
So far the following topics have been addressed in class:
- Aug 21, 2006: simple examples of classical cryptographic schemes (shift cipher, substitution cipher, Vigenère cipher)
Literature: [St06, Section 1.1.1, 1.1.2, 1.1.4, 1.2.2]
- Aug 23, 2006: further examples of classical cryptographic schemes (affine cipher, Hill cipher), basic types of attacks (ciphertext only, chosen ciphertext, etc.)
Literature: [St06, Section 1.1.3, 1.1.5, 1.2.1]
- Aug 25, 2006: permutation cipher as special case of a Hill cipher, the idea of a stream cipher, implementing a stream cipher with a block cipher
Literature: [St06, Section 1.1.6, 1.1.7]
- Aug 28, 2006: Merkle's puzzle and the idea of public key encryption
Literature: R.C. Merkle, "Secure Communications over Insecure Channels", Communications of the ACM 21(4), pp. 249-299, 1978
- Aug 30, 2006: *** class canceled due to tropical storm Ernesto ***
- Sep 1, 2006: ciphertext only attack on a Vigenère cipher
Literature: [St06, Section 1.2.3]
- Sep 6, 2006: known plaintext analysis of a linear feedback shift register when used as a stream cipher
Literature: [St06, Section 1.1.7, 1.2.5]
- Sep 7, 2006: matrix interpretation of LFSRs, combining LFSRs, basic idea of a substitution permutation network (SPN)
Literature: [St06, Section 3.2]
Those of you who are interested in the use of LFSRs in the context of cell phones, may like to take a look at the stream cipher A5/1 as used in GSM.
- Sep 11, 2006: encrypting and decrypting with a substitution permutation network (SPN)
Literature: [St06, Section 3.2]
- Sep 13, 2006: the idea of a Feistel cipher, Data Encryption Standard (DES), Homework #1 (here is the ciphertext for Problem 1)
Literature: FIPS PUB 46-3
Those of you who are interested in special purpose devices for attacking DES, may like to take a look at the Wikipedia article on the EFF DES cracker.
- Sep 15, 2006: modes of operation for block ciphers: ECB mode, CBC mode, OFB mode, CFB mode, counter mode
Literature: [St06, Section 3.7]
- Sep 18, 2006: Square-and-multiply algorithm, Diffie-Hellman key establishment
Literature: [St06, p. 175], [St06, Section 11.2]
- Sep 20, 2006: Diffie-Hellman key establishment, man-in-the-middle attack, finite fields
Literature: [St06, Section 11.2], [St06, Section 6.4]
- Sep 22, 2006: finite fields, ElGamal cryptosystem
Literature: [St06, Section 6.1, Section 6.4]
- Sep 25, 2006: semantic security of the ElGamal cryptosystem, ElGamal over general cyclic groups using a hash function
Literature: [St06, Section 6.1]
- Sep 27, 2006: basic idea of building a hash function from a block cipher, Advanced Encryption Standard
Literature: [St06, Section 3.6], FIPS PUB 197
- Sep 29, 2006: Advanced Encryption Standard, Exam #1
Literature: [St06, Section 3.6], FIPS PUB 197
- Oct 2, 2006: Shank's baby-step giant-step algorithm for the discrete logarithm problem
Literature: [St06, Section 6.2.1]
Those of you who are interested in more information on sorting algorithms, may like to take a look at the respective Wikipeda article.
- Oct 4, 2006: Pohlig-Hellman algorithm for the discrete logarithm problem
Literature: [St06, Section 6.2.3]
- Oct 6, 2006: Pohlig-Hellman algorithm for the discrete logarithm problem
Literature: [St06, Section 6.2.3]
- Oct 9, 2006: index calculus
Literature: [St06, Section 6.2.4]
- Oct 11, 2006: introduction to elliptic curves
Literature: [St06, Section 6.5.1, Section 6.5.2]
- Oct 13, 2006: properties of elliptic curves; Homework #2 is now online
Literature: [St06, Section 6.5.3]
- Oct 16, 2006: textbook version of RSA encryption
Literature: [St06, Section 5.3]
- Oct 18, 2006: simple attacks on textbook RSA, Euler phi-function
Literature: [St06, Theorem 1.1.2,]
- Oct 20, 2006: quadratic residues, Legendre and Jacobi symbols
Literature: [St06, Section 5.4.1, Section 5.4.2]
- Oct 23, 2006: Solovay-Strassen and Miller-Rabin primality tests
Literature: [St06, Section 5.4.2, Section 5.4.3]
- Oct 25, 2006: Pollard p-1 algorithm for factoring
Literature: [St06, Section 5.6.1]
- Oct 27, 2006: security in the sense of IND-CCA
Literature: [St06, Section 5.9]
- Oct 30, 2006: RSAES-OAEP
Literature: [St06, Section 5.9.2], [PKCS #1 v.2.1: RSA Cryptography Standard, Section 7.1]
- Nov 1, 2006: a short introduction to digital signature schemes
Literature: [St06, Section 7.1, Section 7.2]
- Nov 3, 2006: the idea of a blind signature
- Nov 6, 2006: a short introduction to zero-knowledge proofs
- Nov 8, 2006: digital cash
Literature: [Bruce Schneier: Applied Cryptography, 2nd ed., Section 6.4]
- Nov 13, 2006: digital cash; Homework #3 is now online
Literature: [Bruce Schneier: Applied Cryptography, 2nd ed., Section 6.4]
- Nov 15, 2006: basic ideas for bit (bit) commitment schemes and for secret sharing schemes
Literature: [St06, Section 13.1]
- Nov 17, 2006: Shamir threshold scheme for secret sharing
Literature: [St06, Section 13.1]
- Nov 20-24, 2006: Simple and Differential Power Analysis
- Nov 27-29, 2006: repetition and exercises to prepare for the final exam
- Dec 1, 2006: final exam X2
My sincere thanks to all course participants for their contributions and participation. Thanks for patiently bearing with all the imperfections of the course! If you have comments or questions, or if you are interested in dwelling deeper into one of the subjects, please contact me
(see my homepage for email, phone number, etc.).
Dec 10, 2006