Master 1 informatique - Semestre 2 - Année 2018-2019
Responsable: Rémi MORIN: remi.morin(at)univ-amu.fr
Cette UE propose un tour d'horizon de la cryptographie moderne:
il s'agit d'initier les étudiants du Master Informatique aux problématiques
fondamentales de confidentialité, d’authentification et
d’intégrité, illustrées sur des cas concrets.
Une attention particulière est portée sur la mise-en-oeuvre de primitives cryptographiques
à l'aide de librairies spécifiques afin d'être en mesure d'incorporer des fonctionnalités
cryptographiques dans un logiciel sécurisé.
Les différents types de solutions sont présentés:
chiffrements symétrique, asymétrique, par flot, par blocs,
ou hybride pour la confidentialité; les fonctions de hachage courantes et leurs
applications à l'intégrité, au stockage des mots-de-passe,
au chiffrement par mot-de-passe, ou à l'authentification
non-interactive; les certificats, les autorités de confiance et les
trousseaux de clefs pour la sécurité des protocoles.
Le détail de plusieurs fonctions considérées comme sûres, et recommandées par
l'ANSSI, telles que l'AES, le RSA, le DSA font l'objet d'un codage complet en C
ou en Java (au choix) afin de développer une expertise technique de base.
En particulier, les Travaux Pratiques permettent de s'initier à l'utilisation de
librairies standards pour le calcul sur de grands entiers, à savoir GMP en C ou
BigInteger en Java. La phase de bourrage, dans l'AES ou le RSA,
et l'emploi d'un mode opératoire sont également implémentés.
Enfin, l'utilisation de l’API JCE
(Java Cryptography Extension) ou de la librairie OPENSSL
permet de consolider les connaissances et
les savoir-faire acquis mais aussi d'explorer de nouvelles primitives.
Quelques protocoles d'échange de clefs de session et d'authentification interactive
sont étudiés en fin de cours.
Présentation de l'option:
Emploi du temps prévisionnel:
Le module consiste en 9 cours de 1h et 10 TD/TP de 2h. Il faut ajouter à ceci 2h de travail personnel par semaine afin de préparer quelques exercices chez soi avant les Travaux Pratiques.
|
Cours (1h) |
TD/TP (2h) |
Cours 0 |
Introduction aux concepts cryptographiques |
|
Cours 1 |
Fonctions de hachage cryptographiques |
Authentification artisanale d'email
|
Cours 2 |
Cryptographie symétrique par flot |
Application de la clef longue du RC4
|
Cours 3 |
Cryptographie symétrique par blocs |
Implémentation de l'AES:
|
Cours 4 |
Arithmétique et algorithmique |
Calcul de grands nombres premiers
|
Cours 5 |
RSA: protocole
|
Fabrique de clefs RSA de taille réaliste |
Cours 6 |
Signatures et certificats |
Diplômes en PDF authentifiés
|
Cours 7 |
Introduction à la JCE
|
Décryptage d'un chiffré hybride à l'aide
|
Cours 8 |
Logarithme discret – applications |
Implémentation du DSA dans
|
Cours 9 |
Bourrages PKCS5 et OAEP |
|
Projet |
|
Quelques techniques d'accélération |