But du cours
This course aims to provide essential cryptography knowledge for any computer science engineer, enabling them to select appropriate security tools for software or hardware systems, considering technical constraints (real-time data, energy-autonomous devices, etc.) and ANSSI recommendations to account for known weaknesses in certain protocols.
Acquis d'apprentissage visés
- Select cryptographic tools suited to a specification requirement
- List and implement network protocols for IoT
- Design, from concept to production deployment, a company’s IT network while integrating QoS and security considerations
- Manually deploy and administer services
Prérequis
Modules "Discrete Mathematics for Computer Science" (S5) and "Cybersecurity Principles 1" (S6).
Programme
- Introduction to cryptography: basic vocabulary, key concepts.
- Classical cryptography: mono- and polyalphabetic substitutions, transposition, cryptanalysis.
- Symmetric block cryptography (AES), stream cryptography (ChaCha20).
- Asymmetric cryptography: Diffie-Hellman, RSA, ElGamal, elliptic curves.
- Hash functions, applications for integrity and authenticity: signatures, HMAC.
- Certificates, key management infrastructures.
- Use in classic protocols: SSH, TLS.
- Application examples: blockchain, anonymization on the Internet (Tor).
- Cryptanalysis: studying weaknesses in cryptographic tools and protocols.
- Introduction to SMPC and homomorphic encryption capabilities.
- Post-quantum cryptography: the quantum threat, post-quantum algorithms.
- Steganography.
Modalités d'évaluation
At least two written continuous assessments, and a lab report.
Bibliographie
Johannes Buchmann - Introduction to Cryptography - Sciences Sup Collection - Dunod Editions
Supports
Slides, directed and practical work sheets, online learning platforms (CryptoHack, Root-Me).