SUPINFO Academic Dept. Séances LABS Activités pratiques Version 1.0 Last update: 20/12/2014 Use: Students/Staff Author: Laurent GODEFROY
SOMMAIRE 1 PREAMBULE... 4 1.1 OBJECTIFS DE CES SEANCES LABS... 4 1.2 REMARQUES SUR CES SEANCES ET EXERCICES... 4 2 QUESTIONS DE DIVISIBILITE... 5 2.1 PGCD ET COEFFICIENTS DE BEZOUT... 5 2.2 DETERMINATION D ENTIERS DONT LE PGCD EST IMPOSE... 5 2.3 ENTIERS PREMIERS ENTRE EUX... 5 2.4 EQUATION DIOPHANTIENNE SIMPLE... 5 2.5 EQUATION DIOPHANTIENNE *... 5 2.6 EQUATION DIOPHANTIENNE *... 5 2.7 UN PETIT PROBLEME DE COLLEGE... 6 2.8 UN PETIT PROBLEME DE LYCEE... 6 3 CONGRUENCE... 6 3.1 CALCULS DE RESTES... 6 3.2 APPLICATION DES REGLES OPERATOIRES... 6 3.3 APPLICATION DES REGLES OPERATOIRES... 6 3.4 APPLICATION DU THEOREME CHINOIS... 7 3.5 CRITERES DE DIVISIBILITE PAR 3 ET 9 *... 7 3.6 CRITERE DE DIVISIBILITE PAR 11 *... 7 4 NOMBRES PREMIERS... 7 4.1 VERIFICATIONS DIRECTE... 7 4.2 CALCULS DE RESTES... 8 4.3 APPLICATION DU PETIT THEOREME DE FERMAT... 8 4.4 APPLICATION DU PETIT THEOREME DE FERMAT **... 8 4.5 NOMBRES DE MERSENNE *... 8 4.6 IRRATIONALITES DES RACINES CARREES DES NOMBRES PREMIERS **... 8 4.7 DECOMPOSITION EN PRODUITS DE NOMBRES PREMIERS... 8 5 CHIFFRE AFFINE ET CHIFFRE DE HILL... 8 5.1 CHIFFREMENT AFFINE... 9 5.2 DECHIFFREMENT AFFINE... 9 5.3 CHIFFREMENT DE HILL... 9 5.4 DECHIFFREMENT DE HILL... 9 Page 2 sur 12
5.5 ANALYSE DES FREQUENCES... 9 5.6 ANALYSE DES FREQUENCES **... 10 6 CHIFFRE AFFINE ET CHIFFRE DE HILL - PROGRAMMATION EN PYTHON... 10 6.1 PROGRAMMATION DU CHIFFRE AFFINE... 10 6.2 PROGRAMMATION DU CHIFFRE DE HILL... 11 6.3 PROGRAMMATION DE LA METHODE D ANALYSE DES FREQUENCES... 11 7 SYSTEMES R.S.A. ET EL GAMAL... 11 7.1 CHIFFREMENT AVEC L ALGORITHME R.S.A.... 11 7.2 DECHIFFREMENT AVEC L ALGORITHME R.S.A.... 11 7.3 CHIFFREMENT AVEC L ALGORITHME EL- GAMAL... 12 7.4 DECHIFFREMENT AVEC L ALGORITHME EL- GAMAL... 12 Page 3 sur 12
1 PREAMBULE 1.1 OBJECTIFS DE CES SEANCES LABS Les activités pratiques de la matière se déroulent en 6 séances de deux heures. Chaque séance correspond à une partie du présent document. A l issue de ces 6 séances, un étudiant devra : savoir effectuer l algorithme d Euclide et en déduire des coefficients de Bézout. Pouvoir prouver que deux entiers sont premiers entre eux. Connaître le théorème de Gauss et son application à la résolution des équations diophantiennes. Maîtriser les règles opératoires des relations de congruences. Savoir appliquer le théorème chinois. Etre capable de chiffrer, déchiffrer, décrypter des textes en utilisant le chiffre affine. Etre capable de chiffrer et déchiffrer des textes avec les algorithmes de Hill, R.S.A. et El Gamal. Savoir programmer en Python des algorithmes cryptographiques. 1.2 REMARQUES SUR CES SEANCES ET EXERCICES 1. Il y a dans ce document plus d exercices que l on ne peut réellement en faire lors des séances «en classe». Cela permet aux étudiants d avoirs des énoncés afin de s entrainer. Il faut juste veiller pendant les séances à faire des exercices de tous types. 2. Certains titres d exercices sont suivis d étoiles. Une étoile signifie exercice difficile, et deux étoiles exercice très difficile. Ces derniers sont destinés aux étudiants les plus à l aise dans cette matière et ayant déjà résolu les autres énoncés. Page 4 sur 12
2 QUESTIONS DE DIVISIBILITE 2.1 PGCD ET COEFFICIENTS DE BEZOUT Calculer le PGCD et les coefficients de Bézout des nombres 712 et 114. 2.2 DETERMINATION D ENTIERS DONT LE PGCD EST IMPOSE Déterminer tous les couples d entiers naturels (a, b) non nuls tels que PGCD(a, b) = 15 et ab = 2700. Indication : on pourra se ramener à des entiers premiers entre eux à l aide d une des propriétés du PGCD énoncée dans le cours. 2.3 ENTIERS PREMIERS ENTRE EUX Montrer que si n est un entier naturel, a = n 2 + 2n 2 et b = n 1 sont premiers entre eux. On pourra utiliser le théorème de Bézout. 2.4 EQUATION DIOPHANTIENNE SIMPLE Résoudre dans Z 2 l équation 33x = 27y. On adaptera la méthode vue en cours. 2.5 EQUATION DIOPHANTIENNE * On s intéresse à l équation diophantienne 33x + 27y = 12 (E). 1. Déterminer les coefficients de Bézout de 33 et 27. 2. En déduire une solution de l équation (E). 3. Soustraire à l équation (E) l égalité donnée par la solution trouvée à la question précédente. 4. Se ramener à l équation de l exercice précédent. 5. Conclure. 2.6 EQUATION DIOPHANTIENNE * Page 5 sur 12
En utilisant la méthode de l exercice précédent, résoudre l équation diophantienne 8x + 5y = 100. Au 8 ième siècle, un groupe composé d hommes et de femmes a dépensé 100 pièces de monnaie dans une auberge. Les hommes ont dépensé 8 pièces chacun et les femmes 5 pièces chacune. Combien pouvait- il avoir d hommes et de femmes dans le groupe? 2.7 UN PETIT PROBLEME DE COLLEGE Un philatéliste possède 1631 timbres français et 932 timbres étrangers. Il souhaite vendre sa collection en réalisant des lots identiques, c est- à- dire comportant le même nombre de timbres et la même répartition de timbres français et étrangers. Calculer le nombre maximal de lots qu il pourra réaliser. Combien y aura t- il, dans ce cas, de timbres français et étrangers par lot? 2.8 UN PETIT PROBLEME DE LYCEE Si on divise 6381 et 3954 par un même entier naturel non nul a, on obtient respectivement 9 et 6 pour restes. Quel est ce nombre a? 3 CONGRUENCE 3.1 CALCULS DE RESTES Soit n un entier naturel. Quels sont les restes possibles des divisions euclidiennes de n 2 par 5? De n 3 par 7? 3.2 APPLICATION DES REGLES OPERATOIRES Montrer que 1 2015 + 2 2015 + 3 2015 + 4 2015 + 5 2015 + 6 2015 + 7 2015 +8 2015 est divisible par 9. 3.3 APPLICATION DES REGLES OPERATOIRES Quel est le reste de la division euclidienne de 23 41 par 7? Page 6 sur 12
3.4 APPLICATION DU THEOREME CHINOIS Une bande de 17 pirates possède un trésor constitué de pièces d'or d égale valeur. Ils projettent de se les partager également, et de donner le reste au cuisinier chinois. Celui- ci recevrait alors 3 pièces. Mais les pirates se querellent, et six d'entre eux sont tués. Un nouveau partage donnerait au cuisinier 4 pièces. Dans un naufrage ultérieur, seuls le trésor, six pirates et le cuisinier sont sauvés, et le partage donnerait alors 5 pièces d'or à ce dernier. Quelle est la fortune minimale que peut espérer le cuisinier s'il décide d'empoisonner le reste des pirates? 3.5 CRITERES DE DIVISIBILITE PAR 3 ET 9 * Montrer que si k est un entier naturel 10 k 1 3. En déduire qu un entier est divisible par 3 si et seulement si la somme de ses chiffres dans son écriture décimale est divisible par 3. Énoncer et démontrer sur le même principe un critère de divisibilité par 9. Indication : on rappelle que l écriture d un nombre entier en base 10 est : a a n 10 n + a n 1 10 n 1 +... + a 2 10 2 + a 1 10 + a 0 [ ] 3.6 CRITERE DE DIVISIBILITE PAR 11 * Montrer que si k est un entier naturel 10 k 1 ( ) k [ 11] En déduire qu un entier est divisible par 11 si et seulement si la somme alternée de ses chiffres dans son écriture décimale est divisible par 11 (par «somme alternée» on entend additionner et soustraire en alternant).. 4 NOMBRES PREMIERS 4.1 VERIFICATIONS DIRECTE Les nombres 367 et 511 sont- ils premiers? Page 7 sur 12
4.2 CALCULS DE RESTES Quels sont les restes possibles dans la division euclidienne d un nombre premier par 4? Par 6? 4.3 APPLICATION DU PETIT THEOREME DE FERMAT Montrer que pour tout entier naturel n, n 7 n est divisible par 21. 4.4 APPLICATION DU PETIT THEOREME DE FERMAT ** Montrer que 300 3000 1 est divisible par 1001. 4.5 NOMBRES DE MERSENNE * Vérifier que pour tout nombre a : a n - 1 = (a - 1)(a n- 1 + a n- 2 + + a + 1). En déduire que si n n est pas premier, alors 2 n - 1 n est pas premier. Vérifier que la réciproque est fausse en considérant 2 11-1. 4.6 IRRATIONALITES DES RACINES CARREES DES NOMBRES PREMIERS ** Montrer en raisonnant par l absurde que si p est un nombre premier p est irrationnel, i.e. p ne peut s écrire sous la forme d une fraction a/b, avec a et b entiers naturels. (On supposera qu une telle fraction existe, qu elle est irréductible et on montrera une absurdité). 4.7 DECOMPOSITION EN PRODUITS DE NOMBRES PREMIERS Décomposer les entiers 280 et 300 en produits de nombres premiers. Donner la liste des diviseurs de 280. Même question avec 300. Se servir des décompositions précédentes pour calculer le PGCD de 280 et 300. 5 CHIFFRE AFFINE ET CHIFFRE DE HILL Page 8 sur 12
5.1 CHIFFREMENT AFFINE Chiffrer avec un algorithme de chiffrement affine et la clé a = 7, b = 8, le texte suivant : «Je ne suis pas assez sérieux pour donner des conseils et je suis trop pour en recevoir». Extrait de «Sous le signe du Capricorne» de Hugo Pratt. 5.2 DECHIFFREMENT AFFINE Déchiffrer le texte suivant sachant qu il a été chiffré avec un algorithme de chiffrement affine et la clé a = 5, b = 10. On commencera par écrire la relation affine de déchiffrement. YN JKGB HNGW ZE UCGRKOE HCGR LYLRE EX NKUTE MGE HCGR SCGRYR EX TERCW Extrait de «Corto toujours un peu plus loin» de Hugo Pratt. 5.3 CHIFFREMENT DE HILL Chiffrer avec un chiffre de Hill et la clé a = 9, b = 4, c = 5, d = 7, le texte suivant : «Ce que tu cherches n existe pas». Extrait de «Sous le signe du Capricorne» de Hugo Pratt. 5.4 DECHIFFREMENT DE HILL Déchiffrer le texte suivant sachant qu il a été chiffré avec un algorithme de Hill et la clé a = 4, b = 5, c = 1, d = 2 : RQCGWC MHO EQKK DRO VOKM Extrait de «Corto toujours un peu plus loin» de Hugo Pratt. 5.5 ANALYSE DES FREQUENCES En utilisant la méthode d analyse des fréquences, décrypter le message suivant, chiffré par un algorithme de substitution monoalphabétique. Page 9 sur 12
PKZXC XYDGF CGPKN FCRDZ YFCZP FZFZZ PEYXT PNEKF RYXDK IRCOR CKPTR COPFO YXZGK RDXZZ XZIPC ZORDZ YXZUR DKCPD WIXGD FZIXZ NRFZY XCFBN POFVD XGXKZ RCCPB XPSXT VDFYX SFXDW BPCFN PKICR OKXNX FYYXD KGRYF TFXKP SPFOX CBPBX TXIDX YPNRK OIRCO YXZGX KFGXO FXZZX IXKRD YPFXC OIXMP TRCZF GFOOR KXZVD XPKZX CXYDG FCYXM PCOPF ZFZOX BXCOY XNPCV DFCRG XKXVD XIPCZ YXZTQ POXPD WXOYX ZZPYR CZXOV DFDCX CDFOR DFYPS PFOGX CXOKX TQXAY XEPKR CZTQR KNPCC XCXOP FOGPK OFYXZ NPFCZ SFIXZ XOPSP FOYPF ZZXZP TPKOX RKCXX IXTXO OXMRK NDYXP KZXCX YDGFC BXCOY XNPCT PNEKF RYXDK KXSFX CIKPV DPCIY XZNXD EYXZZ XKRCO PDOQX COFVD XZPKZ XCXYD GFCYQ RNNXP DWNFY YXIXB DFZXN XCOZO RDKPO RDKTQ PDMMX DKOXC RKERR JNPJX KMFYZ IXMPN FYYXP IRYXZ TXCOS FXFYY PKITR NNFZS RLPBX DKNPK ZXFYY PFZNX IXTFC KDZZX ORKXK RXZGP BCRY 5.6 ANALYSE DES FREQUENCES ** En utilisant la méthode d analyse des fréquences, décrypter le message suivant, chiffré par un algorithme de substitution monoalphabétique. (Toute ma reconnaissance à qui décrypte ce petit texte ) 6 CHIFFRE AFFINE ET CHIFFRE DE HILL - PROGRAMMATION EN PYTHON 6.1 PROGRAMMATION DU CHIFFRE AFFINE Ecrire en Python des fonctions permettant de chiffrer/déchiffrer des textes avec l algorithme de chiffrage affine : Page 10 sur 12
Saisie d une clé valide Chiffrage d une lettre Chiffrage d un texte Calcul de l inverse multiplicatif Déchiffrage d un texte 6.2 PROGRAMMATION DU CHIFFRE DE HILL Ecrire en Python des fonctions permettant de chiffrer/déchiffrer des textes avec l algorithme de chiffrage de Hill : Saisie d une clé valide Chiffrage d un bigramme Ajout éventuel d un x à la fin d un texte Chiffrage d un texte Calcul de l inverse multiplicatif Déchiffrage d un texte 6.3 PROGRAMMATION DE LA METHODE D ANALYSE DES FREQUENCES Ecrire en Python une fonction permettant de décrypter un texte selon la méthode d analyse des fréquences. On remplacera dans l ordre les lettres les plus fréquentes du texte chiffré par les lettres les plus fréquentes de la langue française. 7 SYSTEMES R.S.A. ET EL GAMAL 7.1 CHIFFREMENT AVEC L ALGORITHME R.S.A. Chiffrer le message suivant avec la clé publique (3,55) : «Raspoutine est un traître». 7.2 DECHIFFREMENT AVEC L ALGORITHME R.S.A. Page 11 sur 12
Montrer que si l on considère les entiers p = 3 et q = 13, on peut choisir c = 29 et d = 5 comme clé publique et secrète (voir les notations dans le cours). Déchiffrer alors le message suivant : 28 01 13 01 18 20 01 14 10. 7.3 CHIFFREMENT AVEC L ALGORITHME EL- GAMAL Chiffrer le message suivant avec la clé publique (911,22,224) et l entier k = 13 : «Bobby Keys». 7.4 DECHIFFREMENT AVEC L ALGORITHME EL- GAMAL Déchiffrer le texte suivant sachant qu il a été chiffré avec un algorithme El- Gamal et la clé a = 11, p = 911 : (7,808) (7,337) (7,534) (7,211) Page 12 sur 12