Université Grenoble I Cours Mat4216 M1 Année

icon

4

pages

icon

Français

icon

Documents

2009

Écrit par

Publié par

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

icon

4

pages

icon

Français

icon

Documents

2009

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

Niveau: Supérieur, Master, Bac+4
Université Grenoble I Cours Mat4216 M1 Année 2008/2009 Introduction à la cryptologie Examen du 4 septembre 2009, de 14h à 17h, durée 3h. Documents et calculatrices interdits. Rédigez les deux parties sur des feuilles séparées. Justifiez vos réponses — brièvement mais suffisamment. Ce sujet comporte 4 pages. Les paragraphes sont indépendants. Première partie — cours de Laurent Fousse 1. CHIFFREMENT PAR BLOC À LA FEISTEL On considère une fonction F de chiffrement par bloc constituée de 16 fois le tour suivant : L 0 R 0 L 1 R 1 f k où fk est une fonction dépendant de la sous-clef secrète de ronde Sk et du numéro de tour k, et les demi-blocs d'entrée L0, R0 et de sortie L1, R1 ont pour longueur n bits. 1.1. Écrire les sorties L1 et R1 en fonction des entrées L0, R0 et de la fonction fk. 1.2. Montrer comment inverser un tel tour, sans hypothèse sur la fonction fk. Dessiner le diagramme correspondant au déchiffrement. 1.3. En supposant que n = 3, calculer tous les chiffrés possibles pour (L0,R0) = (000,111). 1.4. En supposant que n= 5, le chiffré de (00000,01010) peut-il être (11111,00000) ? 1.5.

  • chiffrement par bloc

  • ronde

  • propriétés de diffusion du chiffrement

  • x2 modulo

  • polynôme x2

  • ronde du déchiffrement

  • corps fini

  • bloc


Voir icon arrow

Publié par

Publié le

01 septembre 2009

Nombre de lectures

39

Langue

Français

Universit Grenoble I
Cours Mat4216 M1
Anne 2008/2009
Introduction À la cryptologie Examen du 4 septembre 2009, de 14h á 17h, dure 3h.
Documents et calculatrices interdits. RÉdigez les deux parties sur des feuilles sÉparÉes. Justifiez vos rÉponses — briÈvement mais suffisamment. Ce sujet comporte 4 pages. Les paragraphes sont indÉpendants.
PremiÈre partie — cours de Laurent Fousse
1. CHIFFREMENT PAR BLOC â LAFEISTEL On considre une fonctionFde chiffrement par bloc constitue de 16 fois le tour suivant :
fkest une fonction dpendant de la sous-clef secrte de rondeSket du numro de tour k, et les demi-blocs d’entreL0,R0et de sortieL1,R1ont pour longueurnbits.
1.1.Ècrire les sortiesL1etR1en fonction des entresL0,R0et de la fonctionfk.
1.2.Montrer comment inverser un tel tour, sans hypothse sur la fonctionfk. Dessiner le diagramme correspondant au dchiffrement.
1.3.En supposant quen=3, calculer tous les chiffrs possibles pour(L0,R0) = (000,111).
1.4.En supposant quen=5, le chiffr de(00000,01010)peut-il tre(11111,00000)?
1.5.En dduire une attaque á clairs et chiffrs connus permettant de distinguer la fonctionFde chiffrement (utilisant 16 tours) d’une fonction alatoire.
page 1/4
Universit Grenoble I
Cours Mat4216 M1
Anne 2008/2009
2. HACHAGE On considre la fonctionhsuivante : 128 32 h:{0,1{} →0,1} x1||x2||x3||x47→x1g(x2||g(x3||x4)) |x1|=|x2|=|x3|=|x4|=32 64 32 x||yreprsente la concatnation des blocsxety, etg:{0,1{} →0,1}est une fonction de compression rsistant aux collisions au sens fort (c’est-á-dire qu’il est calcu-0 00 0 latoirement difficile de trouverx1||x2etx||xdistinctstels queg(x1||x2) =g(x||x)). 1 21 2 2.1.La fonctionhest-elle une fonction de hachage ou une fonction de compression? 2.2.Ètant donn un messagex=x1||x2||x3||x4, est-il facile de trouver un message 0 00 0 00 x=x||x||x||x6=xtel queh(x) =h(x)? 1 2 3 4 2.3.Est-il facile d’inverser la fonctionh? Si oui, proposer un algorithme qui calcule un messagexpour une entreyavech(x) =y. 3. CHIFFREMENT PAR BLOC â LAAES On considre le chiffrement par bloc «NonAES» oprant sur des blocs de 9 bits (l’tat) que l’on dispose en un carr de 3 sur 3 : a00a01a02 a10a11a12 a20a21a22 Les oprations d’une ronde sont les suivantes : ShiftRows: la deuxime ligne est dcale cycliquement d’une position vers la droite, et la troisime ligne d’une position vers la gauche. MixColumns: chaque colonne est vue comme un polynme de degr 2 dansF2, les 2 3 coefficients faibles á forts de haut en bas, et multipli parXmoduloX+X+1. Le polynme obtenu est crit dans la colonne correspondante. AddRoundKey: la clef de ronde, de taille 9 bits, est ajout case par case. 3.1.On choisit comme message clairm= (001010100)et comme clef de rondek= (110001011). Calculer le bloc chiffr correspondant aprs une ronde (on lit le tableau ligne par ligne, de gauche á droite). 3.2.Montrer qu’il est possible de dchiffrer en connaissant la clef, et dcrire une ronde du dchiffrement. 3.3.On essaie de mesurer les proprits de diffusion du chiffrement. Pour cela on simule le chiffrement de deux messages, avec la mme clef, ne diffrant que du premier bit. â partir de combien de rondes compltes est-ce que la diffrence initiale se sera potentiellement propage á tout l’tat? Dtailler. 3.4.Par rapport au vrai AES, et en plus de calculer dans un corps plus petit et sur un tat de seulement 3 sur 3 lments, le chiffrement NonAES n’a pas d’opration SubBytes. Quelle vulnrabilit ce manque introduit-il, et comment l’exploiter sur AES ?
page 2/4
Universit Grenoble I
Cours Mat4216 M1
Seconde partie — cours de Michael Eisermann
Anne 2008/2009
2 4. RACINES DEX+1 2 Rappelons que le polynmeX+1 est irrductible surRalors que surCil se dcom-2 2 pose enX+1= (Xi)(X+i)i=1. L’objectif de cet exercice est d’tudier la 2 dcomposition deX+1 sur un corps finiFqá lments. 2 4.1.DcomposerX+1 en facteurs irrductibles dansF2[X]. × 4.2.Ènoncer l’ordre et la structure du groupeF. q 2 4.3.Supposons qu’il existexFqtel quex+1=0. × Quel est l’ordre dexdans le groupeF? q Que conclure pour la valeur deqmodulo 4 ? Ènoncer avec prcision le thorme qui sert ici. 2 4.4.Rciproquement, sous quelle condition surqmodulo 4 le polynmeX+1 admet-il une racine dansFq?? Justifiez votre rponse. Quel rsultat sert ici 2 Pour conclure, expliciter (tant que possible) la dcomposition deX+1 en facteurs irrductibles dansFq[X]en fonction deq.
5. ISOMORPHISMES ENTRE CORPS FINIS 5.1.Ènoncer (avec prcision mais sans preuve) la classification des corps finis. Dans la suite on travaille sur le corpsF7=Z/7Zá 7 lments. 5.2.Les anneaux quotients 2 2 F=F7[X]/(X+1)etG=F7[X]/(X1) sont-ils isomorphes ? Justifiez votre rponse. 5.3.Les anneaux quotients 2 2 E=F7[X]/(X+X1)etF=F7[X]/(X+1) sont-ils isomorphes ? Justifiez votre rponse. Soitxl’image deXdans le quotientEet soity=ax+ba,bF7. 2 5.4.DansEcalculerysous la formecx+dc,dF7. 2 5.5.Trouvera,bF7de sorte quey=1 dansE. 5.6.?En quoi ce calcul permet-il d’expliciter la rponse á la question 5.3
page 3/4
Universit Grenoble I
Cours Mat4216 M1
Anne 2008/2009
6. CORPS FINIS ET POLYNMES IRRÈDUCTIBLES Soitp2 un nombre premier et soitFp=Z/pZle corps áplments. n p 6.1.Ènoncer (sans preuve) la dcomposition du polynmeXX, oÙnN, en facteurs irrductibles unitaires dansFp[X]. 6.2.En dduire une formule rcursive pour le nombreandes polynmes unitaires irrductibles de degrnsurFp. 6.3.Quel est le comportement asymptotique deanpourn? (sans preuve)
L’algorithme suivant n’est pas correct :
Algorithme 1Tester l’irrductibilit dePFp[X] EntrÉe:un polynmePFp[X]de degrn2. Sortie:« irrductible » siPest irrductible, « compos » sinon. pourkde1Ànfaire k p QXX Rpgcd(P,Q) siR6=1alors retourner« compos »fin si fin pour retourner« irrductible »
6.4.Expliciter un exemple oÙ cet algorithme donne la mauvaise rponse. 6.5.Rectifier (lgrement) la mthode pour qu’elle donne toujours la bonne rponse. Justifier ensuite la validit de votre algorithme rectifi. 6.6.Telle qu’elle est crite, la mthode est inefficace. Expliquer pourquoi. 6.7.Amliorer la mthode pour qu’elle soit efficace (tout en restant correcte).
Fin.
page 4/4
Voir icon more
Alternate Text