Licence d’Algèbre etCryptographie

Contenu des cours

Algèbre linéaire: Rang d’une matrice. Déterminants. Applications linéaires. Représentation matricielle, changement de bases. Réduction des matrices et des endomorphismes : valeurs et vecteurs propres, polynôme caractéristique, polynôme minimal, diagonalisation, trigonalisation. Application.

 

Groupes et anneaux : Groupes : sous-groupes, théorème de Lagrange, intersection de sous-groupes, générateurs, sous-groupe cycliques, sous-groupes de type fini. Sous-groupes normaux, groupes quotients, exemples de groupes (groupe symétrique, groupes abéliens de type fini). Homomorphisme de groupes. Automorphismes intérieurs. Centre d’un groupe. Groupe opérant dans un ensemble. Stabilisateur. Classes de conjugaison. Equation des classes. Théorèmes de Sylow. Anneau, homomorphisme d’anneaux, idéal d’un anneau, anneau quotient. Etude de l’anneau Z : division euclidienne, idéaux de Z, pgcd et ppcm, calcul du PGCD et de coefficients de Bézout dans Z. Le théorème fondamental de l'arithmétique. L’anneau Z/nZ.

 

Intégrales et séries numériques : Intégrales impropres, intégrales dépendant d’un paramètre, fonctions définies par une intégrale, exemple : étude de la fonction Gamma. Séries numériques. Transformation d'Abel.

 

Géométrie : Géométries vectorielle et affine en dimension 3. Barycentres, repères affines. Projections et symétries. Perpendiculaire commune à 2 droites. Distance d'un point à un plan ou à une droite. Courbes paramétrées, courbes en coordonnées polaires. Abscisse curviligne, longueur d’un arc. Surfaces paramétrées : exemples.

 

Architecture et systèmes : Connaissances de base en architecture et architecture fonctionnelle d'un processeur (central et/ou vidéo) : pipelining, architectures super-scalaire, vectorielle. Mémoire et stratégies de cache.

 

Algorithmique et structures de données des systèmes d'exploitation : système de fichiers, gestion des processus, partage de ressource et synchronisation.

 

Programmation en langage C : Cet enseignement est une introduction au langage le plus répandu actuellement, le langage C. Seront abordés les types, les expressions, les structures de contrôle, les fonctions et leurs modes de passages de paramètres. Les exemples, applications et TP seront orientés vers l’algèbre et l’arithmétique.

 

Corps et polynômes : Corps, caractéristique d’un corps, corps finis, Frobenius, existence de corps finis, éléments primitifs. Etude de l’anneau K[x] des polynômes à une indéterminée à coefficients dans un corps commutatif : algorithme d’Euclide, théorème de Bezout, théorème de Gauss, idéaux de K[x], pgcd, ppcm, polynômes irréductibles. Cas particuliers : K=C, K=R, K=Q (on énoncera le théorème fondamental de l’algèbre). Cas où le corps K est fini : polynôme minimal d’un élément x, corps de rupture. Calcul dans K[t]/(f) où f est un polynôme irréductible, calcul dans Fq, où q est une puissance d’un nombre premier. Application à la cryptographie : le système AES.

 

Algèbre et géométrie : Espaces euclidiens, dualité, formes quadratiques, orthogonalité. Bases orthogonales. Endomorphismes orthogonaux, matrices orthogonales. Réduction des matrices symétriques. Isométries.

 

Séries de fonctions : Suites et séries de fonctions. Convergence uniforme. Dérivation d'une série de fonctions. Espaces vectoriels hermitiens. Séries de Fourier. Séries entières, application aux équations différentielles.

 

Topologie : Espaces topologiques, exemples : espaces métriques, espaces vectoriels normés. Voisinages, adhérence, intérieur, topologie induite, topologie produit. Applications continues, homéomorphismes. Topologie quotient. Compacité. Connexité. Espaces métriques complets. Norme d’une application linéaire continue. Espace de Banach.

 

Algorithmique arithmétique : Notions générales. Algorithmes. Complexité. Listes à la caml. Liste tableaux. Tris simples, tri rapide, tri par tas. Arbres, arbres binaires de recherche. Programmation dynamique. Théorie de la complexité : Machines de Turing déterministes. Indécidabilité - Ensembles décidables et récursivement énumérables. Machines de Turing non déterministes. Les exemples, applications et TD seront orientés vers l’arithmétique et la cryptographie.

 

Introduction à LaTeX : LaTeX est un système de traitement de texte très puissant servant mettre en forme et mettre en page, utile dans de nombreux domaines (littérature, textes scientifiques, etc.). Il est particulièrement adapté à l'écriture des symboles mathématiques et est utilisé dans la plupart des revues scientifiques. Le logiciel LaTeX appartient au monde du logiciel libre.

 

Arithmétique : Division euclidienne, calcul du PGCD et de coefficients de Bézout dans Z. Le théorème fondamental de l'arithmétique. Congruences : le théorème des restes " chinois ", résolution de systèmes, calcul modulaire. Le petit théorème de Fermat, la fonction d'Euler. Groupe multiplicatif du corps premier, multiplication dans les entiers modulo n. La loi de réciprocité quadratique, symboles de Legendre et de Jacobi. Nombres premiers : les nombres de Fermat et de Mersenne, aperçus sur les tests de primalité, absolus ou probabilistes. Les nombres de Fermat et de Mersenne (test de Lucas). La fonction de densité (théorème de Chebychev). Application en cryptographie : le système RSA. On présentera aussi les algorithmes de calcul et on utilisera des logiciels comme Maple.

 

Algèbre et codage : Codes détecteurs d'erreurs et codes correcteurs d'erreurs: généralités. Codes linéaires. Matrices génératrices et de parité. Décodage général des codes linéaires. Codes cycliques. Décodage général des codes cycliques.

Principales classes de codes linéaires (Hamming, Reed-Muller, BCH, Reed-Solomon ...) et non-linéaires (Kerdock, Preparata). Décodages spécifiques de ces codes. Code de Goppa. Mise en œuvre en Maple du codage et du décodage sur des exemples.

 

Fonctions de plusieurs variables : Fonctions de plusieurs variables : continuité, différentiabilité, gradient, formule de Taylor. Inversion locale. Fonctions implicites. Extrema, extrema liés. Intégrales doubles et triples, intégrales curvilignes, intégrales de surfaces. Formules de Stokes, d’Ostrogradsky et de Green-Riemann (sans démonstration). Equations différentielles y’=f(x,y). Théorème d’existence et d’unicité de Cauchy.

 

Mesure et intégration : Introduction à la théorie de la mesure et de l'intégration. Intégrale de Lebesgue. Convergences monotone et dominée. Intégrales dépendant d'un paramètre. Théorème de Fubini.

 

Programmation en langage C++ : Cet enseignement vise à présenter les principes et les concepts de la programmation. L'objectif du cours est de former les étudiants à la programmation orientée objets à l’aide du langage C++. Les exemples, applications et TP seront orientés vers l’algèbre et l’arithmétique.

 

Anneaux et extensions de corps : Anneaux noethériens, théorème de Hilbert. Propriétés arithmétiques des anneaux. Anneaux euclidiens, anneaux factoriels, anneaux principaux. Théorème de Gauss. Exemples. Extensions de corps : extensions finies, extensions algébriques. Construction à la règle et au compas. Corps de rupture, corps de décomposition, exemples. Extensions des corps finis. Irréductibilité des polynômes de K[x], où K est un corps. Cyclotomie.

 

Cryptographie : Chiffrement, cryptographie à clé secrète: schémas par blocs (présentation du DES et de l'AES). Cryptographie à clé publique : RSA, Diffie-Hellman, El Gamal. Définition d’une courbe elliptique sur un corps, loi de groupe, cryptosystèmes sur les courbes elliptiques sur un corps fini. Authentification, signature, fonctions de hachage. Les TD porteront en partie sur la cryptanalyse.

 

Analyse complexe : Fonctions analytiques. Principe des zéros isolés. Principe du maximum. Fonctions holomorphes. Théorème et formule de Cauchy. Théorème et calcul des résidus. Suites de fonctions analytiques. Théorème de Rouché. Théorème d’inversion locale, théorème d’inversion globale. Séries de fonctions holomorphes, produits infinis de fonctions holomorphes, séries de fonctions méromorphes, exemples.

 

Probabilités : Probabilités élémentaires : événements, indépendance, variables aléatoires, espérance, variance. Vecteurs aléatoires. Conditionnement élémentaire. Lois. Lois usuelles. Indépendance, corrélation de 2 variables aléatoires. Loi des grands nombres, et énoncé du théorème limite central.

 

Calcul formel : Illustrations des enseignements d'algèbre, d’arithmétique et de cryptographie à l'aide d'un logiciel de calcul formel comme Maple ou Magma.

 

Stage pratique: Il s’agit de rédiger un mémoire scientifique sous la direction d’un membre de l’équipe pédagogique de la licence « Algèbre et cryptographie ».