Introduction to cryptology

Credits

6 ECTS, CTD 36h, TP 18h

Instructor

Bruno Grenet and Clément Pernet

Description

The goal of this course is to acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.

Content

Part 1. Cryptology

  1. Symmetric cryptography: encryption (AES, block ciphers), Message Authentication Codes (HMAC), hash functions (SHA-2, SHA-3)

  2. Public-Key cryptography: key exchange (Diffie-Hellman), encryption (ElGamal, RSA), signatures (Schnorr, RSA)

  3. TLS protocol

Part 2. Algebraic Algorithms for cryptology

  1. Integer and polynomial arithmetic (multiplication, GCD, exponentiation, …)

  2. Finite groups, rings and fields (mathematical context algorithms and implementation aspects)

  3. Applications: error correcting codes, asymmetric ciphers