Cryptography and security
Summary
This course introduces the basics of cryptography. We review several types of cryptographic primitives, when it is safe to use them and how to select the appropriate security parameters. We detail how they work and sketch how they can be implemented.
Content
- Ancient cryptography: Vigenère, Enigma, Vernam cipher, Shannon theory
- Diffie-Hellman cryptography: algebra, Diffie-Hellman, ElGamal
- RSA cryptography: number theory, RSA, factoring
- Elliptic curve cryptography: elliptic curves over a finite field, ECDH, ECIES, pairing
- Symmetric encryption: block ciphers, stream ciphers, exhaustive search
- Integrity and authentication: hashing, MAC, birthday paradox
- Public-key cryptography: cryptosystem, digital signature, post-quantum cryptography
- Trust establishment: password-based cryptography, secure communication, trust setups
- Case studies: WiFI, bitcoin, mobile telephony, WhatsApp, EMV, Bluetooth, biometric passport, TLS
Keywords
cryptography, encryption, secure communication
Learning Prerequisites
Required courses
MATH-310 Algebra
MATH-232 Probability and statistics for IC
CS-250 Algorithms I
Recommended courses
COM-301 Computer security and privacy
Important concepts to start the course
- Mathematical reasoning
- Probabilities
- Algebra, arithmetics
- Algorithmics
Learning Outcomes
By the end of the course, the student must be able to:
- Choose the appropriate cryptographic primitive in a security infrastructure
- Judge the strength of existing standards
- Assess / Evaluate the security based on key length
- Implement algorithms manipulating big numbers and use number theory
- Use algebra and probability theory to analyze cryptographic algorithms
- Identify the techniques to secure the communication and establish trust
Teaching methods
ex-cathedra
Expected student activities
- active participation during the course
- take notes during the course
- do the exercises during the exercise sessions
- complete the regular tests and homework
- read the material from the course
- self-train using the provided material
- do the midterm exam and final exam
Assessment methods
Mandatory continuous evaluation:
- homework (30%)
- regular graded tests (30%)
- midterm exam (40%)
Final exam averaged (same weight) with the contiuous evaluation, but with final grade between final_exam-1 and final_exam+1.
Supervision
Forum | Yes |
Others | Lecturers and assistants are available upon appointment. |
Resources
Bibliography
- Communication security: an introduction to cryptography. Serge Vaudenay. Springer 2004.
- A computational introduction to number theory and algebra. Victor Shoup. Cambridge University Press 2005.
Ressources en bibliothèque
- A Classical Introduction to Cryptography / Vaudenay
- A computational introduction to number theory and algebra / Shoup
Websites
Moodle Link
Videos
Prerequisite for
- Advanced cryptography (COM-501)
- Student seminar: security protocols and applications (COM-506)
In the programs
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: mandatory
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: mandatory
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: mandatory
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: mandatory
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: mandatory
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: mandatory
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: optional
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Cryptography and security
- Courses: 4 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Type: optional