doit avoir une, et une seule, solution x. L équation (2) est équivalente à



Documents pareils
MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

ÉPREUVE COMMUNE DE TIPE Partie D

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Chapitre VI - Méthodes de factorisation

Le produit semi-direct

Exercices Corrigés Premières notions sur les espaces vectoriels

Résolution d équations non linéaires

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Probabilités sur un univers fini

Module 16 : Les fonctions de recherche et de référence

Travail d intérêt personnel encadré : La cryptographie

Cours d arithmétique Première partie

0x700. Cryptologie Pearson France Techniques de hacking, 2e éd. Jon Erickson

UNIVERSITE IBN ZOHR Faculté des sciences Agadir. Filière SMA & SMI. Semestre 1. Module : Algèbre 1

Cours 02 : Problème général de la programmation linéaire

Structures algébriques

Cryptographie et fonctions à sens unique

DOCM Solutions officielles = n 2 10.

Théorème du point fixe - Théorème de l inversion locale

Développement décimal d un réel

Université Paris-Dauphine DUMI2E 1ère année, Applications

Introduction à l étude des Corps Finis

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

avec des nombres entiers

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Quelques tests de primalité

Premiers exercices d Algèbre. Anne-Marie Simon

FONDEMENTS DES MATHÉMATIQUES

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Résolution de systèmes linéaires par des méthodes directes

Continuité et dérivabilité d une fonction

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Résumé du cours d algèbre 1, Sandra Rozensztajn. UMPA, ENS de Lyon, sandra.rozensztajn@ens-lyon.fr

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

NOMBRES COMPLEXES. Exercice 1 :

108y= 1 où x et y sont des entiers

Comment tracer une droite représentative d'une fonction et méthode de calcul de l'équation d'une droite.

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Nombre dérivé et tangente

Compter à Babylone. L écriture des nombres

Oscillations libres des systèmes à deux degrés de liberté

Programmation linéaire et Optimisation. Didier Smets

3 Approximation de solutions d équations

Tests de primalité et cryptographie

Chapitre 2. Matrices

1 Définition et premières propriétés des congruences

Cours arithmétique et groupes. Licence première année, premier semestre

Probabilités sur un univers fini

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Relation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices

Algorithmes récursifs

Analyse Combinatoire

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Fiche PanaMaths Calculs avec les fonctions sous Xcas

Cours de mathématiques

Calcul différentiel sur R n Première partie

Nombres premiers. Comment reconnaître un nombre premier? Mais...

CHAPITRE VIII : Les circuits avec résistances ohmiques

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

Capes Première épreuve

Intégration et probabilités TD1 Espaces mesurés Corrigé

Fonction inverse Fonctions homographiques

ANNUITES. Les annuités définissent une suite de versements identiques ou non effectués à intervalles de temps égaux. -annuités non constantes

Problème 1 : applications du plan affine

Pour l épreuve d algèbre, les calculatrices sont interdites.

Correction du baccalauréat S Liban juin 2007

Chapitre 2 Le problème de l unicité des solutions

Extrait du poly de Stage de Grésillon 1, août 2010

= constante et cette constante est a.

Séquence 2. Repérage dans le plan Équations de droites. Sommaire

III- Raisonnement par récurrence

Chapitre 1 : Évolution COURS

Objets Combinatoires élementaires

THEME : CLES DE CONTROLE. Division euclidienne

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

Polynômes à plusieurs variables. Résultant

La mesure de Lebesgue sur la droite réelle

Angles orientés et trigonométrie

Cours d Analyse. Fonctions de plusieurs variables

315 et 495 sont dans la table de 5. 5 est un diviseur commun. Leur PGCD n est pas 1. Il ne sont pas premiers entre eux

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

La Longue Marche à travers la théorie de Galois, Part Ib, 26-37

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Notion de fonction. Résolution graphique. Fonction affine.

Correction de l examen de la première session

Simulation de variables aléatoires

Construction d un cercle tangent à deux cercles donnés.

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

Des codes secrets dans la carte bleue. François Dubois 1

Suites numériques 4. 1 Autres recettes pour calculer les limites

Mathématiques Algèbre et géométrie

Chapitre 1 I:\ Soyez courageux!

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Initiation à l algorithmique

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Raisonnement par récurrence Suites numériques

Transcription:

Travaux dirigés : Cryptanalyse du chiffrement affine SéCrypt Chiffrement affine : définition Le chiffrement par décalage est un cas particulier du chiffrement par substitution dans lequel on utilise une translation comme substitution. Un autre cas particulier du chiffrement par substitution est le chiffrement affine. Dans ce procédé, on limite les fonctions de chiffrement à certaines fonctions de la forme E (a,b) (x) = ax + b mod 26 (1) où a, b Z 26. Ces fonctions sont appelées des fonctions affines, d où l on a tiré le nom du procédé. On remarque que l on retrouve le chiffrement par décalage pour a = 1. Pour que l opération de déchiffrement soit possible, il est nécessaire que la fonction affine soit bijective. Autrement dit, pour tout y Z 26, l équation ax + b = y mod 26 (2) doit avoir une, et une seule, solution x. L équation (2) est équivalente à ax = y b mod 26. (3) Lorsque y parcourt l ensemble Z 26, y b décrit également ce même ensemble. Donc, il suffit d étudier l équation ax = z mod 26 pour tout z Z 26. On démontre que cette équation admet une unique solution pour tout z fixé, si, et seulement si, pgcd(a, 26) = 1 (où pgcd est le plus grand diviseur commun de ses arguments) ; au passage on dit que a et 26 sont premiers entre eux. En effet si a et 26 sont premiers entre eux (et seulement dans ce cas), alors a admet un inverse a 1 Z 26 (i.e., aa 1 = a 1 a = 1 mod 26), et l unique solution de l équation ax = z mod 26 est x = a 1 z mod 26. En particulier, x = a 1 (y b) mod 26 est l unique solution a l équation (2). Supposons donc que a et 26 sont premiers entre eux. On vient de voir que, dans ce cas, l application E (a,b) est inversible. Sa bijection réciproque est donnée par D (a,b) (y) = a 1 (y b) mod 26. Nous pouvons maintenant décrire complétement le chiffrement affine. Les ensembles de textes clairs P et chiffrés C sont tous les deux égaux à Z 26. L espace des clefs secrètes est quant à lui donné par Pour tout (a, b) K, on définit K := {(a, b) Z 26 Z 26 : pgcd(a, 26) = 1}. (4) E (a,b) (x) := ax + b mod 26 (5) et D (a,b) (y) := a 1 (y b) mod 26. (6) 1

1 Exercice : Mise en œuvre du chiffrement affine (CORRECTION) Soit (a, b) = (7, 3). 1. Montrer que (a, b) K et calculer a 1 dans Z 26. Correction : Pour montrer que (a, b) est une clef valide, il suffit de vérifier que a et 26 sont premiers entre eux, ce qui est ici le cas car 7 est un nombre premier. 2. Vérifier par calcul que D (a,b) (E (a,b) (x)) = x pour x quelconque dans Z 26. Correction : Il faut que l on calcule b = 3 dans Z 26 : b = 26 3 = 23 mod 26. Il faut également calculer a 1 = 7 1. Il s agit de trouver un élément b Z 26 pour lequel ab = 1 mod 26. Or on a 7 15 = 105 = 4 26 + 1, d où 7 15 = 1 mod 26 et a 1 = 15. Calculons maintenant (modulo 26). E (a,b) (x) = 7x + 3 D (a,b) (E (a,b) (x)) = D (a,b) (7x + 3) = 15(7x + 3 + 23) = 15(7x + 0) = x. 3. Chiffrer le mot hot avec cette clef. Correction : On commence par coder les lettres en élément de Z 26 de la façon habituelle. On a alors h 7, o 14 et t 19. Puis on applique la règle de chiffrement. 7 7 + 3 mod 26 = 52 mod 26 = 0, 7 14 + 3 mod 26 = 101 mod 26 = 23, 7 19 + 3 mod 26 = 136 mod 26 = 6. On obtient donc le texte chiffré 0 23 6 qui, en lettres, donne axg. 4. Énumérer les a Z 26 qui sont premiers avec 26. Correction : Il est facile de vérifier que les éléments de Z 26 qui sont premiers avec 26 sont 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 et 25. En effet ce sont les seuls éléments de Z 26 qui ne sont divisibles ni par 2 ni par 13 (les seuls diviseurs différents de 1 de Z 26 ). 5. Pour chacun des éléments a Z 26 premiers avec 26, calculer son inverse (modulo 26). Correction Pour a {1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25}, il s agit de trouver b Z 26 tel que ab = 1 mod 26 ou, en d autres termes, ab = q26+1, pour un certain q (c est-à-dire que le reste de ab par 26 est égal à 1, donc ab est congru à 1 modulo 26). On obtient ainsi a a 1 1 1 3 9 5 21 7 15 9 3 11 19 (7) 15 7 17 23 19 11 21 5 23 17 25 25 2

6. Calculer le nombre de clefs possibles. Qu en déduisez-vous quant à la solidité de ce procédé de chiffrement? Correction Le nombre de clef possible est le nombre de a premiers avec 26 (qui est égal à 12 d après la question précédente) multiplié par 26 (le nombre de b) soit 12 26 = 312. Le nombre de clefs est trop petits pour assurer la solidité du cryptosystème. 2 Exercice : Cryptanalyse du chiffrement affine (COR- RECTION) Dans cet exercice, on s intéresse à une technique de cryptanalyse permettant de casser un procédé de chiffrement affine. Cette technique est basée sur l analyse des fréquences d occurrence des lettres dans un texte écrit dans une langue donnée (par exemple, l anglais ou le français). Dans le cas présent, on effectue une hypothèse simplificatrice : on suppose que le texte clair est un message rédigé en anglais sans ponctuations ni espaces. Plusieurs personnes ont estimé la probabilité d apparition des vingt-six lettres de l alphabet en faisant des statistiques sur de nombreux romans, magazines et journaux quotidiens écrits en anglais. Les estimations suivantes sur la langue anglaise ont été obtenues par Beker et Piper. Fréquences d occurrences des lettres dans les textes écrits en anglais (Beker & Piper) lettre proba lettre proba a 0, 082 n 0, 067 b 0, 015 o 0, 075 c 0, 028 p 0, 019 d 0, 043 q 0, 001 e 0, 127 r 0, 060 f 0, 022 s 0, 063 g 0, 020 t 0, 091 h 0, 061 u 0, 028 i 0, 070 v 0, 010 j 0, 002 w 0, 023 k 0, 008 x 0, 001 l 0, 040 y 0, 020 m 0, 024 z 0, 001 Nous allons utiliser ces statistiques pour déchiffrer un cryptogramme provenant d un message écrit en anglais. Supposons donc qu Oscar ait intercepté le message suivant (sans espaces ni signes de ponctuation) : FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHRH. 1. Calculer le nombre d occurrences de chacune des lettres de l alphabet dans ce mes- 3

sage. Correction : lettre fréquence lettre fréquence A 2 N 1 B 1 O 1 C 0 P 2 D 6 Q 0 E 5 R 8 F 4 S 3 G 0 T 0 H 5 U 2 I 0 V 4 J 0 W 0 K 5 X 2 L 2 Y 1 M 2 Z 0 2. Expliquer pourquoi on peut supposer que la lettre R se déchiffre en E. Correction : Le caractère le plus fréquent est R (8 occurrences) suivi de D (6 occurrences), et, E, F et K (5 occurrences chacun). Comme en anglais la lettre la plus courante est E, on peut supposer que R se déchiffre en E. La seconde lettre la plus fréquence est T qui pourrait donc se chiffrer en D. 3. Supposons que la lettre D se déchiffre en T (et R en E). Trouver la clef (a, b) qui en résulte, et expliquer pourquoi cette clef n est pas valide. Correction : En transformant les lettres en des nombres, dire que R se déchiffre en E est équivalent à E (a,b) (17) = 4 (R = 17, E = 4). Dire que D se déchiffre en T signifie E (a,b) (3) = 19 (D = 3, T = 19). En se souvenant que E (a,b) (x) = ax + b, où a, b sont inconnus, on obtient un système de deux équations à deux inconnues 4a + b = 17 19a + b = 3. Il nous faut résoudre ce système dans Z 26. Prenons la seconde équation 19a + b = 3 soit a = 11(3 b) (car 19 1 = 11). On a donc a = 33 11b = 7 11b mod 26. On injecte cela dans la première équation et il en résulte que l on a 4(7 11b) + b = 17 soit 28 43b = 17 2 17b = 17 (car 28 = 2 mod 26 et 43 = 17 mod 26) ce qui est équivalent à 17b = 15. Or 17 = 26 17 = 9, et on a donc 9b = 15. On résoud cela pour trouver b = 19 (en effet 9 1 = 3, donc on doit calculer b = 3 15 = 45 = 19 mod 26). On trouve alors a = 7 11 19 mod 26 = 6. Cette clef n est pas valide car a et 26 ne sont pas premiers entre eux. 4. Supposons que la lettre R se déchiffre en E, et K en T. Trouver la clef (a, b) qui en résulte, et expliquer pourquoi cette fois-ci la clef est valide. Correction : Cette fois on obtient a = 3 et b = 5. En effet, il s agit de résoudre dans Z 26 le système de deux équations à deux inconnues a et b : 4a + b = 17 19a + b = 10 puisque la lettre K correspond au nombre 10 (4 E, 17 R, 19 T ). De l équation 19a + b = 10, on en déduit que a = 19 1 (10 b) = 11(10 b) (puisque 4

19 1 = 11) = 110 11b = 6 11b (puisque 110 = 6 mod 26) = 6 + 15b (puisque 11 = 26 11 = 15 mod 26). En injectant cela dans l équation 4a + b = 17, on obtient 4(6 + 15b) + b = 17 24 + 61b = 17 24 + 9b = 17 (puisque 61 = 9 mod 26) 9b = 17 24 9b = 17 + 26 24 9b = 19 b = 9 1 19 b = 3 19 b = 57 b = 5 d où a = 6 + 15 5 = 6 + 75 = 81 = 3 mod 26. Enfin 3 est premier avec 26. Donc (3, 5) est une clef valide. 5. En vous basant sur ce que vous avez trouvé pour a à la question précédente, calculer a 1 (dans Z 26 ). Une fois cela fait, déchiffrer le message afin de vérifier qu il s agit bien d un texte écrit en anglais. Correction : Le déchiffrement est donné par D (a,b) (y) = 9y 19 (car 3 1 = 9 qui avait été calculé au préalable). Comme 19 = 26 19 = 7 mod 26, on a D (a,b) (y) = 9y + 7. On déchiffre les lettres num lettre D (a,b) (num) lettre correspondante 0 A 7 H 1 B 16 Q 2 C 25 Z 3 D 8 I 4 E 17 R 5 F 0 A 6 G 9 J 7 H 18 S 8 I 1 B 9 J 10 K 10 K 19 T 11 L 2 C 12 M 11 L 13 N 20 U 14 O 3 D 15 P 12 M 16 Q 21 V 17 R 4 E 18 S 13 N 19 T 22 W 20 U 5 F 21 V 14 O 22 W 23 X 23 X 6 G 24 Y 15 P 25 Z 24 Y (8) En utilisant cette fonction de déchiffrement sur le message chiffré initial on obtient : 5

algorihmsarequitegeneraldefinitionsofarithmeticprocesses. Ce message clair signifiant Les algorithmes définissent de manière assez générale les calculs arithmétiques. 6