This course gives an introduction of the theory of cryptography. The topics discussed in this course include coin-flipping protocol, computational complexity, secret-key encryption, public-key encryption, stream cipher, block cipher, mode of operation, message authentication code, RSA encryption, extended Euclidean algorithm, primality test, Chinese remainder theorem, RSA-OAEP, random oracle, hash function, signature, RSA-FDH, identification, zero-knowledge proof.
This course aims to help students to understand models, schemes, proofs appeared in the above topics. By understanding the contents of this course, students will also understand the basics of information security and cybersecurity for computer software, hardware, and network.
By the end of this course, students will be able to understand:
1) models in cryptography
2) systems and algorithms in cryptography
3) techniques for security proofs in cryptography.
cryptography, security, information security, cybersecurity, coin-flipping protocol, computational complexity, secret-key encryption, public-key encryption, stream cipher, block cipher, mode of operation, message authentication code, RSA encryption, extended Euclidean algorithm, primality test, Chinese remainder theorem, RSA-OAEP, random oracle, hash function, signature, RSA-FDH, identification, zero-knowledge proof
✔ Specialist skills | Intercultural skills | Communication skills | ✔ Critical thinking skills | ✔ Practical and/or problem-solving skills |
The class offers either a standard lecture or that with exercise. A lecture with exercise includes supplementary materials and the answers for the quizzes. Each class gives quizzes on the contents of the previous classes.
Course schedule | Required learning | |
---|---|---|
Class 1 | Overview of this course, the coin-flipping protocol, relation between cryptography and complexity theory | Understand the description of the coin-flipping protocol |
Class 2 | Models and security properties of secret-key encryption and public-key encryption | Understand the models and the security properties. |
Class 3 | Modes of operations on secret-key encryption and message authentication code | Understand the properties of the modes of operations and the notion of message authentication code 概念について理解する。 Understanding its notion. |
Class 4 | Exercise-style lecture on simple cryptographic protocols | Understand the schemes of simple cryptographic protocols |
Class 5 | Mathematical backgrounds for the RSA encryption scheme | Understand the elements appeared in the RSA encryption scheme |
Class 6 | The extended Euclidean algorithm and the key generation algorithm of the RSA encryption scheme | Understand the scheme and the analysis of the extended Euclidean algorithm |
Class 7 | Primality tests, the Chinese remainder theorem, the decryption of the RSA encryption scheme | Understand the relation between the RSA encryption scheme and the Chinese remainder theorem |
Class 8 | Security of the RSA encryption scheme, the random oracle model | Understand the notion of the random oracle model |
Class 9 | Exercise-style lecture on the RSA encryption scheme | Understand the properties of the RSA encryption scheme |
Class 10 | The Elgamal encryption scheme and its security proof by reduction | Understand the notion of reduction |
Class 11 | Signature | Understand the notion and the schemes of signature |
Class 12 | Identification | Understand the notion and the schemes of identification |
Class 13 | Zero-knowledge proofs | Understand the notion and the schemes of zero-knowledge proofs |
Class 14 | Exercise-style lecture on signature and identification | Understand the schemes and the security properties of signature and identification |
Class 15 | Advanced topics | Understand the advanced topics |
References will be announced in the first class.
References will be announced in the first class.
The evaluation consists of the quizzes in classes (60%) and the final exam (40%).
It is preferable to have the knowledge on the basics of algorithms and data structures, the theory of automata and languages, and the theory of computation.