Parcours Mathématiques, Cryptologie, Codage et Applications

Enseignements

Les enseignements sont organisés en 4 semestres, chaque semestre permettant de valider 30 crédits ECTS. L'obtention du master nécessite la validation de 120 crédits ECTS. Chaque semestre, un certain nombre d'unités d'enseignement (UE) sont proposées, certaines étant obligatoires, d'autres à choisir parmi un ensemble d'options.

1ÈRE ANNÉE > tout déplier > tout refermer

SEMESTRE 1

UE obligatoires (30 crédits) ECTS COURS TD TP
Introduction à la cryptologie 3 12 18

Ce module est accessible aux étudiants de niveau licence de mathématiques ou licence d'informatique.

  • Fondements de la cryptographie: problématique. Théorie de l'information, entropie.
  • Point de vue historique, cryptanalyse des systèmes historiques. One Time Pad, sécurité parfaite.
  • Services de sécurité rendu par la cryptographie: authentification, intégrité, confidentialité, preuve.
  • Principes: diffusion, confusion, principe de kerckhoffs.
  • Cryptographie à clé secrète, chiffrement par blocs et à flot, (exemples: DES/3DES, AES, RC4,...), fonction de hachage: SHA-1,...
  • Cryptographie clé publique: fonctions trappe, « one-way », partage de secret, exemples (RSA, Diffie-Hellman, El Gamal, courbes elliptiques).
  • Authentification cryptographique (MAC, défi/réponse,...), principes cryptographiques des signatures électroniques.
  • Problématique de la diffusion, de la gestion et de la protection des clés.

Responsable(s) : Pierre Dusart
Algorithmique des corps finis 6 27 18 15

Les corps finis sont utilisés en cryptographie et pour diverses applications en télécommunication (codes correcteurs d'erreurs,...). Ils sont aussi indispensables pour de nombreux algorithmes du calcul formel (factorisation de polynômes à coefficients rationnels, étude de suites d'entiers,...), ainsi que pour la théorie des nombres et certaines des méthodes de calcul associées.

  • Construction, représentation et calculs dans les corps finis. Comparaison de diverses représentations.
  • Etude du groupe multiplicatif.
  • Algorithmes de base pour le calcul de logarithmes discrets: pas de géant/pas de bébé, algorithme rho de Pollard, Pohlig-Hellman.
  • Algorithmes de factorisation des polynômes: méthode de Berlekamp,  méthode de Zassenhauss.
  • Lien entre corps finis et suites linéaires récurrentes, algorithme de Berlekamp-Massey.
  • Programmation de certains algorithmes.

Responsable(s) : Abdelkader Necer
Complexité et calculabilité 3 12 18

Modèles de calcul: machines de Turing, fonctions récursives, calcul lambda. Calculabilité. Décidabilité. Classe de complexité: P, NP, co-NP, problèmes NP-complets. Complexité des algorithmes.

 


Responsable(s) : Duong Hieu PHAN
Algèbre 1 6 24 36

Théorie de Galois classique, initiation aux corps de nombres (anneaux d'entiers, décomposition en idéaux premiers).


Responsable(s) : A. Chazad Movahhedi
Programmation et algorithmique 6 24 36
  • Eléments d'arithmétique des ordinateurs.
  • Représentations des entiers 
  • Structures de données (listes, arbres, tables de hachage). 
  • Algèbre de Boole, fonctions booléennes. 
  • Algorithmes de tri (insertion, fusion, QuickSort). 
  • Graphes et algorithmes sur les graphes. 
  • Algorithmes classiques d'arithmétique sur les grands entiers (exponentiation, Euclide, symbole de Jacobi, racines carrées modulaires, Montgomery, Karatsuba), 
  • Calculs matriciels. 
  • Preuves d'algorithmes, invariants de boucle, 
  • Calculs de complexité (maximale, en moyenne), récurrences linéaires, séries génératrices.


Programmation en langage C (30 heures).

Projet en langage C.


Responsable(s) : François Arnault
Algèbre 1 6 24 36

Théorie de Galois classique, initiation aux corps de nombres (anneaux d'entiers, décomposition en idéaux premiers).


Responsable(s) : François Laubie
Réseaux et systèmes informatiques 3 9 9 12

Présentation du système d'exploitation Unix

  • processeur, registres, instructions, interruptions
  • mode noyau/utilisateur,
  • organisation mémoire et adressage (segmentation/pagination), système de fichier, appels systèmes cycle de vie du processus, communication inter-processus (tubes, sockets unix)

Illustration par l'utilisation du shell de commande et du système Linux

Présentation du réseau TCP/IP

  • contrôle d'accès au support de communication et multiplexage, adressage de niveau 2 et 3, et correspondance
  • commutation, notion de préfixe, routage direct/indirect (switch, routeur)
  • adressage symbolique et correspondance (DNS) le modèle ISO en couche, multiplexage, protocole orienté datagramme et orienté connexion (UDP et TCP) la notion de protocole de communication de haut niveau (unicast/multicast, smtp/mime, http,
  • récupération et analyse de trafic (tcpdump, nmap)
  • études de quelques exemples de risques et protection (fragmentation, SYN Cookie, Firewall statefull, encapsulation dans un protocole sécurisé)

 Illustration avec le langage Python et les outils en ligne de commande (netcat/socat).


Responsable(s) : Pierre-François Bonnefoi
UE optionnelles (0 crédits à choisir) ECTS COURS TD TP

SEMESTRE 2

UE obligatoires (21 crédits) ECTS COURS TD TP
Anglais 3 36

Formation orientée sur les deux années de façon à préparer les étudiants à atteindre le niveau B2 européen.


Responsable(s) :
Droit et conduite de projet 3 30
  • Droit des brevets et autres droit du transfert
  • Droit des contrats
  • Initiation au droit de l'informatique: propriété intellectuelle, loi « Informatique et Libertés », Loi Godfrain, législation sur la cryptographie, LCEN,...
  • Introduction à la conduite de projet informatique.

Responsable(s) : Benoit Crespin
Initiation à la recherche 2 3 30

Etude d’un problème mathématique ou d’une méthode mathématique, avec éventuellement une mise en œuvre informatique.

 


Responsable(s) : Moulay Barbatou
Sécurité des usages TIC 3 15 15

Cette UE est accessible aux étudiants disposant d'un niveau en mathématique et informatique de seconde année de licence. Il est orienté vers la sécurité des usages de l'Internet et des Technologies de l'Information et de la Communication. Il est illustré par des TP.

  • Menaces Internet et sur les TIC.
  • Protection du poste de travail individuel: protection des documents électroniques, protection contre les « malware » (virus, spyware, rootkit), pare-feux personnels, ...
  • Gestion des droits et des autorisations, principales méthodes d'authentification, mot de passe.
  • Usages des signatures électroniques, certificats électroniques, compréhension des IGC.
  • Sécurité des communications Internet: courrier électronique, connexion distantes, accès aux sites Internet, voix sur IP.
  • Protection de la vie privée: traçabilité des connexions, spyware.

Responsable(s) : Pierre-François Bonnefoi
Calcul formel 4 16 20 8
  • Rappels sur les anneaux. Théorème des restes chinois dans un anneau intègre.
  • Application aux systèmes de congruences, à l'interpolation polynomiale.
  • Applications aux méthodes modulaires de calcul (calcul de pgcd, résultants, ...) pour les polynômes à coefficients entiers.
  • Résultants et applications.
  • Factorisation des polynômes à coefficients entiers, lemme de Hensel et applications.
  • Evaluation des performances des algorithmes en jeu.

Responsable(s) : Moulay Barkatou
Arithmétique et théorie des nombres pour la cryptographie 6 24 36
  • (Z/nZ)^*, structure, indicateur d'Euler et de Carmichael, carrés, symbole de Jacobi, réciprocité quadratique.
  • Corps quadratiques, formes quadratiques, entiers algébriques, fractions continues et applications.
  • Primalité: pseudo-premiers, théorème de Rabin, théorèmes de Pocklington, Morisson, preuves de primalité, AKS,...
  • Factorisation: entiers friables, méthodes de factorisation (Fermat, rho, p-1, Dixon, Morrison-Brilhart, crible quadratique, NFS.
  • Réseaux, LLL.
  • Log discrets. Méthodes avancées.

Responsable(s) : François Arnault & Stéphane Vinatier
Systèmes Polynomiaux 3 8 10 8
  • Résolution de polynômes univariés.
  • Elimination. Introduction aux bases de Gröbner.
  • Application à la résolution de systèmes d'équations polynomiales et interprétations géométriques.
  • Nullstellensatz. Polynôme de Hilbert. Dimension d'une variété algébrique.
  • Systèmes sur les corps finis. Applications à la cryptanalyse algébrique.

Responsable(s) : Thomas Lickteig
Codes correcteurs d'erreurs 2 10 10

Les codes correcteurs d'erreurs permettent de protéger les informations des perturbations lors des transmissions.

  • Présentation du codage, problématique: canal, décodage au maximum de vraisemblance, codes en blocs et codes convolutifs.
  • Codes linéaires en blocs, dual, codes cycliques, bornes.
  • Exemples de codes et constructions: Hamming, Reed Muller, construction (U,U+V), concaténation, poinçonnage, codes raccourcis.
  • Fonctions booléennes et codes de Reed-Muller, forme algébrique normale.

Responsable(s) : Abdelkader NECER
Outils statistiques 3 12 15 3

L'UE sera focalisée sur les besoins en cryptologie et codage (comme par exemple les tests de générateurs pseudo-aléatoires).


Responsable(s) : Jean-Pierre Borel
UE optionnelles (9 crédits à choisir) ECTS COURS TD TP
2ÈME ANNÉE > tout déplier > tout refermer

SEMESTRE 3

UE obligatoires (21 crédits) ECTS COURS TD TP
Organisation de l'entreprise 2 4 16

Responsable :

  • Organisation des entreprises.
  • Eléments de gestion des entreprises.
  • Préparation à la recherche d'emploi: simulation d'entretien, CV et lettre de motivation.
  • Présentation des métiers de la spécialité: tâches, qualités et compétences requises, évolutions, perspectives.

Responsable(s) : Olivier Blazy, Philippe Gaborit
Anglais 3 0 30 0

L'enseignement est orienté sur les deux années de façon à préparer les étudiants à obtenir le meilleur score possible au TOEIC, certificat indispensable pour certains emplois.


Responsable(s) :
Cryptographie à clé secrète 4,5 20 17,7 7,5
  • Schéma de Feistel/distingueurs/Luby-Rackoff, modes de chaînage, cryptanalyse linéraire et différentielle.
  • Analyse et conception des fonctions de hachage. Fonctions itératives/Damgaard-Merkle. Oracle aléatoire. Attaques: multicollisions, long message, messages extensibles, DM, différentielles, quasi-collisions, attaques sur SHA-1.
  • MAC: HMAC, CBC-MAC, attaques spécifiques.
  • Générateurs pseudo-aléatoires: sécurité cryptographique (distingueurs/extrapoleurs/Yao), conception et cryptanalyse.

Responsable(s) : Duong Hieu PHAN
Cryptographie à clé publique 4,5 20 17,5 7,5

Analyse et conception des systèmes à clé publique (RSA, Diffie-Hellman, El Gamal, courbes elliptiques...).

  • Sécurité des schémas à clé publique: équivalence des données secrètes RSA, sécurité sémantique, sécurité RSA naïf, bits de poids faibles, bits sûrs, attaque sur les exposants, attaques existentielles, équivalence entre problèmes. OAEP.
  • Preuves de sécurité. Modèles de l'oracle aléatoire, groupes et anneaux génériques.
  • Zero-Knowledge, Fiat-Shamir, Schnorr, GQ, engagement, preuves interactives, PIZK.
  • Générateurs aléatoires prouvés: BBS, sécurité sous RQ, variante et sécurité sous FACT.
  • Autres systèmes et attaques: XTR, NTRU, HFE...

Responsable(s) : François Arnault
Mécanismes cryptographiques et applications 4 21 15 9

Principes de bases de la cryptologie :

  • cryptologie à clé symétrique et à clé asymétrique,
  • principes du chiffrement, signature, authentification,
  • algorithmes les plus courants (RSA, DSA, Courbes elliptiques, AES, DES, GQ..)

Mise en pratique de la cryptographie :

  • courrier électronique sécurisé, application de la signature électronique,
  • contrôle d'accès aux ressources, sécurisation de réseaux,
  • certificats, gestion des clés, PKI.

Cette UE comprend un projet en petit groupe qui pourra nécessiter de la programmation et faire intervenir des compétences mixtes mathématiques – informatique.


Responsable(s) : Philippe Gaborit
Développement de logiciels cryptographiques 3 13.5 16.5

Le module sera évalué sur la base d'un projet de programmation en langage C. Exemple de sujets abordés:

  • Cryptographie asymétrique :
  • test de primalités,
  • génération de premiers, 
  • logarithme discret, 
  • factorisation, 
  • courbes elliptiques.
  • Cryptographie symétrique :
  • Attaque Squre
  • Attaque par différentielles impossibles sur l'AES

Responsable(s) : Christophe Clavier
UE optionnelles (9 crédits à choisir) ECTS COURS TD TP
Théorie des nombres 3 6 24

Le but de ce cours est une introduction à la théorie algébrique des nombres. On y traite notamment les notions suivantes : anneaux des  entiers des corps de nombres, discriminant et ramification, unités et groupes des classes d'idéaux, exemples des corps quadratiques et  cyclotomiques.

Les notions abordées dans ce cours seront exploitées dans d'autres UE.  En particulier pour la méthode de factorisation NFS (crible sur des corps de nombres ; la plus performante à ce jour) qui est étudiée dans l'UE "cryptographie à clé publique".  Les corps quadratiques et les groupes de classes permettent aussi de définir des cryptosystèmes à clé publique.


Responsable(s) : Abbas Movahhedi
Cartes à puce et développement Java Card 3 12 18 0
  • Norme ISO 7816 régissant l'interopérabilité des cartes à puce.
  • Assembleur carte à puce avec implémentation (partielle) de chiffrements standard.
  • Applications industrielles, architecture, spécifications. Carte bancaire, téléphonie, télévision à péage,…
  • Méthodologie d'évaluation des technologies de sécurité de l'information (Critères Communs ISO 15408).
  • Java Card 3.0. Cartes multi-applicatives.

Responsable(s) : Damien Sauveron
Sécurité et implémentations sur cartes à puce 3 9 15 6
Les attaques physiques en général sont introduite dans ce cours.
Analyses de Canaux auxiliaires, attaques par fautes
Les contremesures ne sont pas oubliées, avec une attention particulière sur le développement sécurisé de l'exponentiation modulaire.
Des intervenants du monde de l'industrie complètent l'enseignement en venant donner une vision en lien avec les containtes du terrain.
  • Les attaques physiques en général sont introduite dans ce cours : Analyses de Canaux auxiliaires, attaques par fautes
  • Les contremesures ne sont pas oubliées, avec une attention particulière sur le développement sécurisé de l'exponentiation modulaire.
  • Des intervenants du monde de l'industrie complètent l'enseignement en venant donner une vision en lien avec les containtes du terrain.

Responsable(s) : Christophe Clavier
Codes correcteurs et cryptologie 3 15 15

Codes MDS, codes de Reed-Solomon, codes de Reed-Solomon généralisés.

  • Sous-codes sur un sous corps, code trace, codes BCH, codes de Goppa.
  • Décodage des codes de la famille Reed-Solomon.
  • Décodage par liste.
  • Codes LDPC, codes convolutifs, décodage souple, décodage itératif.
  • Code de Reed-Muller.
  • Schéma cryptographique de McEliece, signature, schéma de Stern.

Responsable(s) : Philippe GABORIT
Certification et développement sécurisé 3 21 9 0

L'objectif de cette UE est d'apprendre aux étudiants à identifier les points essentiels à sécuriser lors du développement d'un logiciel ou matériel informatique. Pour cela ils seront sensibilisés aux différentes propriétés de sécurité pouvant être mises en œuvre sur un produit et aux méthodes permettant de s'assurer de leur efficacité. En particulier, on abordera :

  • la définition d'une analyse de risque (identification des menaces, des hypothèses d'utilisation du produit, etc.) ;
  • les méthodes de mise en place de contre-mesures efficaces et exhaustives;
  • les méthodologies de développement permettant d'augmenter et d'évaluer la confiance (les Critères Communs par exemple) ;
  • les outils d'analyse statique de code (pour lutter contre les dépassements de tampon et d'autres attaques) mais aussi les systèmes dynamiques de protection.

A la fin de l'UE l'étudiant devrait être à même de pouvoir concevoir un produit grâce à une démarche méthodique qui permettra à un éventuel tiers d'avoir confiance dans le produit en question.

 


Responsable(s) : Damien Sauveron
Outils mathématiques émergents pour la cryptographie 3 6 24 0

Le contenu de cette UE pourra changer d'une année sur l'autre.

Exemples de thèmes possibles: cryptographie basée sur les réseaux euclidiens, chiffrement homomorphe, ...


Responsable(s) : Olivier Ruatta
Méthodologie pour la sécurité 3 30 0 0

Il s'agit de présenter quelques bases méthodologiques pour:

  • l'évaluation des risques dans une organisation ou induits par une solution informatique,
  • la conception de systèmes sécurisés,
  • le management de la sécurité des systèmes d'informations.

Les méthodes, normes et standards suivants, utilisées dans l'industrie et les administrations, pouront être abordés: la série ISO 270xx et les Systèmes de Management de la Sécurité de l'Information (SMSI), le Référentiel Général de Sécurité (RGS), les analyses de risques de type EBIOS, les Politiques de Sécurité des Systèmes d'Information (PSSI)  ), des méthodes formelles ou semi-formelles de conception (UML, Méthode B,...),...


Responsable(s) : Emmanuel Conchon

SEMESTRE 4

UE obligatoires (30 crédits) ECTS COURS TD TP
Stage en entreprise ou laboratoire 30

Stage en entreprise ou laboratoire de recherche, de 4 à 6 mois.


Responsable(s) : Philippe Gaborit
UE optionnelles ECTS COURS TD TP

TÉLÉCHARGEZ LA FICHE DU PARCOURS (à venir).

> Témoignage

vignette témoignage

Caroline, promo 2009

Ingénieur personnalisation cartes à puce.

Lire la suite >

> Séminaires

> À noter

Cryptis sur le réseau LinkedIn !

Diplômés en sécurité de l'information et cryptogaphie de Limoges, rejoignez le groupe Master Cryptis Alumni...

Lire la suite >