Vous êtes ici : FIL > Portail > Master Informatique > M1S2 > PAC

PAC : Principes et Algorithmes Cryptographiques

Charles Bouillaguet

Volume horaire

Cette unité est une unité optionnelle du M1S2 du master science - mention informatique.

Il est organisé en une séance de cours et une séance de TD hebdomadaire. Cinq séances de TP permettent la mise en pratique des notions abordées. Volume horaire total : 46h.

Crédits

5 ECTS
Charles Bouillaguet
dernière modification : 21/01/2015 à 08:40:48

Objectifs

  • Connaître les systèmes classiques (pré-informatiques) de chiffrement ainsi que leur faiblesse
  • Donner un aperçu des principes et des algorithmes utilisés en cryptographie contemporaine.
  • Amener les étudiants à comprendre et analyser, voire critiquer, les systèmes de chiffrement, signature... disponibles sur le marché.

Contenu

  • Systèmes cryptographiques classiques : méthodes de substititution et de transposition. Cryptanalyse de ces systèmes.
  • Éléments de théorie de l'information, notion d'entropie. Le masque jetable comme seul système de chiffrement inconditionnellement sûr.
  • Génération d'alea.
  • Systèmes de chiffrement contemporains. Systèmes par blocs et modes opératoires. Systèmes par flot.
  • Cryptographie à clef publique.
  • Fonctions de hachage. Signature numérique.
  • Problèmes d'identification et d'authentification.
  • Certification des clés
  • Partage de secret.
  • Preuve sans transfert de connaissance.

Bibliographie

  • En Français
    • Cryptographie : principes et mises en œuvre de Pierre Barthélemy, Robert Rolland et Pascal Véron. Hermes.
    • Cryptographie : théorie et pratique de Douglas Stinson, ITP/Vuibert.
    • Cours de cryptographie de Gilles Zemor, Cassini.
    • Histoire des codes secrets de l'Égypte des pharaons à l'ordinateur de Simon Singh, Lattès (Existe aussi au format poche), histoires et anecdotes.
  • En Anglais
    • A classical introduction to cryptography : applcations for communication security de Serge Vaudenay, Springer
    • Handbook of applied cryptography : Ouvrage de référence en anglais. Version PDF accessible ici.
    • The codebreakers de D. Kahn, Macmillan Publishing : histoires, anecdotes, mais aussi détails techniques.

Emploi du temps 2015

NATURE JOUR DEBUT FIN SALLE ENSEIGNANT EMAIL
Cours Jeudi 13:30 15:00 M5 A1 Charles Bouillaguet charles.bouillaguet@univ-lille1.fr
TD 15:15 16:45
TP 17:00 19:00 M5 A11 (5 fois dans le semestre, voir semainier)
Charles Bouillaguet
dernière modification : 23/01/2015 à 10:31:52
Séance Cours TD TP
1 15/01/2015 Chiffrement et protocoles à clef secrète
2 22/01/2015 Chiffrement à clef publique, signature électronique TD 1 Chiffrement & signature, mise en oeuvre
3 29/01/2015 certificats, fonctions de hachage (usage) TD 2
4 4/02/2015 Notions de sécurité, One-time pad, modes opératoires à clef secrète TD 3
5 12/02/2015 Chiffrement par blocs. L'AES (les dessins) TD 4 Introduction à la cryptanalyse.
6 19/02/2015 Fonctions de hachage (sécurité, fonctionnement)
26/02/2015 DS #1 - la correction ni TD, ni TP
5/03/2015 "interruption pédagogique" d'hiver
7 12/03/2015 Notions de sécurité à clef publique
8 19/03 arithmétique et algorithmes pour les grands entiers. inversion modulaire, factorisation p-1. Malléabilité de RSA. Transformation de pointcheval ?
9 26/03/2015 Logarithme discret. Échange de clef Diffie-Hellman.
10 2/04/2015 Chiffrement et signature ElGamal Implémentation de DH et ElGamal. Problème de la Playstation 3. Sécurité sémantique.
11 9/04/2015 Chiffrement et signature de Rabbin. Générateur d'aléa BBS
12 16/04/2015 Chiffrement et signature RSA Réductions autour de Rabbin. vitesse de BBS. Attaque de Bleichenbacher (pour les experts)
23/04/2015
30/04/2015 interruption pédagogique de printemps
7/05/2015 interruption pédagogique de printemps
La première session d'examen aura lieu du 12 au 24 mai 2014
Charles Bouillaguet
dernière modification : 02/03/2015 à 18:32:34

L'évaluation s'effectue avec deux DS : DS1 à mi parcours et DS2 en fin de semestre.

La note finale sur 20 (N) est calculée comme une moyenne des notes des deux DS augmentée d'un bonus compris entre 0 et 2 établi en fonction du travail réalisé en TP :

N = (DS1 + DS2 + TP)/3

Pour la seconde session d'examen, les deux DS sont remplacés par le rattrapage et la note de TP est conservée.

L'unité acquise apporte 5 ECTS.

Charles Bouillaguet
dernière modification : 21/01/2015 à 08:40:46

Programmes grand public pour la crypto

  • Pretty Good Privacy (PGP) a été le premier programme largement distribué à contenir de la crypto raisonnablement forte. Aujourd'hui, il est exploité commercialement. Cependant, GNU Privacy Guard (GPG) est une version open-source. Ces programmes sont inter-opérables car plusieurs aspects de leur fonctionnement sont standardisés. Des plugins permettent d'envoyer des courriers électroniques signés et chiffrés de manière compatible.

  • OpenSSL (wikipédia) est une librairie open-source qui implémente des opérations crypto. Elle sert à implémenter les connection "sécurisées" dans les 2/3 des serveurs web du monde entier.

  • dm-crypt est un système de chiffrement de disque-dur incorporé dans les versions récentes du noyau Linux.

  • Mécanismes de chiffrement à clef secrète

    Il en existe un bon paquet... Voici une petite liste pas exhaustive.

    Mécanismes de chiffrement par bloc : AES, Blowfish, Camellia, CAST, DES, Triple-DES, IDEA, TEA (et ses variantes).

    Mécanismes de chiffrement à clef publique

    Là aussi il en existe de nombreux. Cependant les plus utilisés sont de très loin RSA (chiffrement et signature), ElGamal (chiffrement et signature). Les schémas de signature DSA et ECDSA sont des variantes de la signature ElGamal. On trouve aussi le Système de Rabin, utilisé par exemple dans les badges Vigik d'accès aux immeubles.

    Mécanisme de gestion des clefs publiques : certificats ou bien Réseau de confiance.

    Protocoles cryptographiques

    • Le chiffrement hybride combine les avantages des sytèmes symétriques et asymétriques.

    • Kerberos est un protocole (à clef secrète) qui permet à un utilisateur de s'identifier une seule fois, mais d'accéder ensuite à de multiples ressources en ligne de manière sûre.

    • Echange de clef : on a vu le Protocole de Needham-Schroeder pour l'échange de clef authentifié, qui fonctionne quand les deux utilisateurs possèdent leurs clefs publiques réciproques. Ensuite, on a vu un protocole de "Password-based Authenticated Key-Exchange" (PAKE), qui permet de s'accorder sur une clef secrète alors qu'on ne possède en commun qu'un secret faible (un mot de passe). La méthode particulière vue en TD est en fait maintenant standardisé.

    • Le Protocole à 3 passes de Shamir permet d'envoyer un message chiffré alors qu'on ne possède aucune information commune à l'avance.

    Fonctions de hachage

    Il y a notamment MD4 (cassé), MD5 (cassé), SHA-0 (cassé), SHA-1 (bientôt cassé), SHA-2 (c'est-à-dire SHA-256 et SHA-512, sûrs), SHA-3 (sûr).

    Pour hacher un mot de passe en vue de la production d'une clef symétrique, on peut par exemple utiliser PBKDF2 une méthode standardisée qui repose sur l'utilisation d'une fonction de hachage.

    Anciens documents

    Annales

    Ces documents sont partiellement périmés, dans la mesure où le contenu du cours évolue un peu chaque année.

    Bibliographie

    • En Français
      • Cryptographie : principes et mises en œuvre de Pierre Barthélemy, Robert Rolland et Pascal Véron. Hermes.
      • Cryptographie : théorie et pratique de Douglas Stinson, ITP/Vuibert.
      • Cours de cryptographie de Gilles Zemor, Cassini.
      • Histoire des codes secrets de l'Égypte des pharaons à l'ordinateur de Simon Singh, Lattès (Existe aussi au format poche), histoires et anecdotes.
    • En Anglais
      • A classical introduction to cryptography : applcations for communication security de Serge Vaudenay, Springer
      • Handbook of applied cryptography : Ouvrage de référence en anglais. Version PDF accessible ici.
      • The codebreakers de D. Kahn, Macmillan Publishing : histoires, anecdotes, mais aussi détails techniques.

    Pointeurs