1 Le logiciel Pyscripter



Documents pareils
Utilisez Toucan portable pour vos sauvegardes

MO-Call pour les Ordinateurs. Guide de l utilisateur

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

Introduction à l informatique en BCPST

Présentation du langage et premières fonctions

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

Crypter le courrier. Pourquoi crypter? Les clés de cryptage. Supplément au manuel Internet sécurité d'abord!

OUTIL DE CRYPTAGE ET DE COMPRESSION

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Acer edatasecurity Management

Complément d information concernant la fiche de concordance

Guide d utilisation de la clé mémoire USB

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Fiche Pratique. Présentation du problème. Installation du logiciel. Etape 1. MAJ le 17/10/2011

La Clé informatique. Formation Excel XP Aide-mémoire

Mise en route de Cobian Backup

Manuel d utilisation de mon.vie-publique.fr

Les équations différentielles

Crédit Agricole en ligne

SE CONNECTER A LA MESSAGERIE ACADEMIQUE ET A CIRCON SCRIPT

Configuration APN internet Réseau 3G «Terminaux et tablettes sous Android» Configuration APN «internet» sur système Android :

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

[WINDOWS 7 - LES FICHIERS] 28 avril Logiciel / Windows

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

LES NOTES D PROCEDURE DE CONNEXION WIFI AU CAMPUS. Ce document décrit la procédure à suivre pour se connecter en WIFI au campus.

EXERCICES - ANALYSE GÉNÉRALE

Evolutions dans FFBClubNet v :

SUPPRIMER SES COOKIES

Fiche Technique. MAJ le 27/03/2012. Lorsque vous activez l Assistance à distance Windows, vous pouvez effectuer les opérations suivantes :

Lenovo Online Data Backup Guide d'utilisation Version

wxwidgets dans un environnement Microsoft Windows

Manuel Cartes ristournes

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Utilisation du logiciel Epson Easy Interactive Tools

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

KWISATZ MODULE PRESTASHOP

Installation d un poste i. Partage et Portage & permissions NTFS

Powershell. Sommaire. 1) Étude du cahier des charges 2) Veille technologique 3) Administration sur site 4) Automatisation des tâches d administration

Guide d installation de MySQL

Utiliser un client de messagerie

Documentation Ellipses Windows. Auteur : Léonard FRECHET Date : 10/01/07 Diffusion : Publique ELLIPSES Envoi Automatisé de SMS Ellipses SMS

Tutoriel Atout Facture. 14/01/2015 Codelpi

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR CLIENT MAC OS X MANUEL D UTILISATION

Service de certificat

Installation et configuration du logiciel BauBit

Volet de visualisation

L informatique en BCPST

Licence Sciences et Technologies Examen janvier 2010

Paramétrage des navigateurs

Cours d algorithmique pour la classe de 2nde

SAUVEGARDER SES DONNEES PERSONNELLES

RECUPEREZ DES FICHIERS SUPPRIMES AVEC RECUVA

Mise à jour Julie (98)

GUIDE D UTILISATION LE PRESENT DOCUMENT VISE A FACILITER LA PRISE EN MAIN DE L@GOON CLOUD. * Synchroniser votre entreprise

Projet Matlab : un logiciel de cryptage

Atelier Découverte de Windows. janvier 2012

Le gestionnaire de SMS

Manuel d'utilisation d'apimail V3

WinARC Installation et utilisation D un écran déporté (Windows 7)

IV- Comment fonctionne un ordinateur?

Transmission d informations sur le réseau électrique

ApiCrypt - Réception des résultats de biologie

BACCALAURÉAT PROFESSIONNEL SUJET

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

TAGREROUT Seyf Allah TMRIM

Le langage C. Séance n 4

EXCEL TUTORIEL 2012/2013

Microsoft Application Center Test

PROJET ISLAH TEMPUS IT-TEMPUS-SMHES. Projet financé par PLATEFORME ISLAH MANUEL D UTILISATION SECTION ENTREPRISES

Connexion d'un Ordi35 à une ClubInternet Box en WiFi

BTS SIO option SISR Lycée Godefroy de Bouillon Clermont-Ferrand

Documentation du site Mise à jour : Septembre 2013

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

BACCALAURÉAT PROFESSIONNEL ÉPREUVE DE MATHEMATIQUES. EXEMPLE DE SUJET n 2

MANUEL D INSTALLATION LOGICIEL TELEVITALE. Agréé SESAM VITALE 1.40

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Guide d utilisation de PL7 Pro Récupérer ou transférer un programme

Chapitre 1 Qu est-ce qu une expression régulière?

Fiche n 15 : Envoi d , alarme visuelle et synchronisation Outlook

Manuel d utilisation du logiciel RÉSULTATS. Édition destinée aux départements

Formation tableur niveau 1 (Excel 2013)

Les Différents types de Requêtes dans Access

Excel 2007 Niveau 3 Page 1

Qu est ce qu un ?

Formation Word/Excel. Présentateur: Christian Desrochers Baccalauréat en informatique Clé Informatique, 15 février 2007

Baccalauréat technique de la musique et de la danse Métropole septembre 2008

CREG : versailles.fr/spip.php?article803

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

La sécurité dans un réseau Wi-Fi

CAPTURE DES PROFESSIONNELS

Réglages du portail de P&WC

Bienvenue à l historien virtuel 2.0

Les sauvegardes de l ordinateur

Installation d'un Active Directory et DNS sous Windows Server 2008

FEN FICHE EMPLOIS NUISANCES

Installation et utilisation de Cobian Backup 8

Sauvegarder automatiquement ses documents

Idéographix. enseignement de la lecture apprentissage de la lecture plateforme 1 de traitements du texte exerciseur enseignement

Transcription:

Cryptographie 2 : Décodage d un message 1 Le logiciel Pyscripter Nous allons voir quelques commandes du langage de programmation Python et les utiliser pour crypter un message. Pour commencer, ouvrir Pyscripter dans Poste de Travail / Ressources / Portable Python / Pyscripter-Portable. Si un message d erreur s affiche, cliquez sur abort puis attendez l ouverture du logiciel. Dans la zone de saisie taper : p r i n t ( Hello world ) Ce petit bout de code qu on tape dans la zone de saisie est appelé un script. Un script est donc une succession de commandes dont l on va demander à l ordinateur de les exécuter. Cliquer sur l icône play ou appuyer sur les touches [CTRL]+[F9]. Le résultat s affiche dans la fenêtre Python Interpreter. 1) Que fait la commande print? Remarque : Dans le menu : Run / Python Engine cochez la case : Internal. Rang d une lettre et réciproquement Effacer le script précédent et taper le script suivant : d e f rang ( lettre ) : r e t u r n ord ( lettre ) ord ( A ) ; p r i n t ( A :, rang ( A ) ) p r i n t ( B :, rang ( B ) ) p r i n t ( C :, rang ( C ) ) p r i n t ( Z :, rang ( Z ) ) 2) Exécuter le script. 3) Écrire un script qui affiche le rang des lettres R et Y. Recopier votre script sur votre feuille d e f lettre ( x ) : r e t u r n chr ( x + ord ( A ) ) p r i n t ( 0 :, lettre ( 0 ) ) p r i n t ( 1 :, lettre ( 1 ) ) p r i n t ( 2 :, lettre ( 2 ) ) 4) Exécuter le script. 5) Modifier le script précédent pour qu il affiche la lettre de rang 12.Recopier votre script sur votre feuille. Fonction affine d e f f ( x ) : r e t u r n ( a x + b ) % 26 p r i n t ( f ( 1 ) =, f ( 1 ) ) p r i n t ( f ( 2 ) =, f ( 2 ) ) 6) Exécuter le script. 7) Calculer f(9), f(12). Comparer les résultats avec le tableau réalisé lors de la première séance de cryptographie. La commande %26 permet de calculer le reste de la division euclidienne par 26. 1

Le cryptage affine On rappelle que pour coder une lettre L, on procède en trois étapes : on calcul son rang x ; on calcul y l image de x par la fonction f ; on trouve C la lettre de rang y. Compléter le script suivant pour que la fonction crypte réalise bien un cryptage affine associé à la fonction f définie précédemment. x = rang ( ) y = C = lettre ( ) p r i n t ( A >, crypte ( A ) ) p r i n t ( B >, crypte ( B ) ) p r i n t ( C >, crypte ( C ) ) Exécuter le script précédent. code = f o r L i n CRYPTOGRAPHIE : code += crypte ( L ) p r i n t ( code ) 8) Tester le script précédent et expliquer ce qu il fait. L instruction for L in "CRYPTOGRAPHIE" signifie : Pour toutes les lettres L du mot CRYPTOGRAPHIE faire : 9) Comparer le résultat avec le résultat obtenu lors de la première activité. 10) Modifier les paramètres a et b pour que f soit définie par f(x) = 7x + 3. Relancer le script pour coder le mot CRYPTOGRAPHIE et comparer avec votre réponse à l exercice 2 de l activité précédente. Exercice 1. On fixe. 1) Avec a = 0, coder le mot CANDIDE en vous aidant du script précédent. Que remarque-t-on? Est-ce que le cryptage affine avec a = 0 correspond à un cryptage, au sens où l on peut décrypter le message aussi? 2) Avec a = 1, justifier que le cryptage affine est possible. 3) Avec a = 2, coder le mot CANDIDE. Est-ce qu on peut décrypter le code sans faire de choix? En déduire que pour a = 2 aussi le cryptage n est pas valide. 4) Pour a allant de 3 à 25, en codant le mot CANDIDE dites si le cryptage est valide ou pas. 5) Conjecturer une liste des valeurs que a peut prendre pour que le cryptage affine soit valide. On admettra que le cryptage affine de fonction f(x) = ax + b est possible si et seulement si a est premier avec 26. En particulier, la liste des valeurs possibles pour a que vous avez conjecturé est la bonne. 6) Justifier qu il y a 12 26 = 312 façons différentes de coder un message à l aide du cryptage affine f(x) = ax + b. Remarque. On peut montrer qu il y a 26 25 24... 3 2 1 4 10 27 façons différentes de coder un mot en permutant les lettres de l alphabet. 2

Décryptage Dans cette section, on allons admettre que la fonction définie dans le script suivant permet de décrypter un message codé à l aide de la méthode de chiffrement affine de fonction f(x) = ax + b. d e f decrypte ( C ) : i f not ( 0 <= rang ( C ) and rang ( C ) < 26 ) : f o r c i n range ( 2 6 ) : i f ( c a ) % 26 == 1 : break y = rang ( C ) x = ( c y c b ) % 26 L = lettre ( x ) r e t u r n L Exécuter le script précédent. p r i n t ( decrypte ( crypte ( A ) ) ) Exécuter le script précédent et faites le même test avec la lettre B. 2 Analyse fréquentielle Le premier traité exposant une procédure pour décrypter un texte codé a été écrit par Al Kindi au neuvième siècle après J.C. Sa théorie repose sur le fait que dans un texte, les lettres ont des fréquences différentes. Par exemple, en français, la fréquence de la lettre E est, selon le texte, presque toujours supérieure aux fréquences des autres lettres. Selon sa théorie, il y a donc de fortes chances pour que, dans un texte codé, la lettre qui apparaît le plus fréquemment représente un E. Les lettres les moins fréquentes représentent probablement un W, un K ou un X... Le tableau ci-dessous exprime, en pourcentage, les fréquences moyennes, des lettres utilisées dans les textes écrits en français. Lettre A B C D E F G H I J K L M fréquence en % 9,42 1,02 2,64 3,39 15,87 0,95 1,04 0,77 8,41 0,89 0,00 5,34 3,24 N O P Q R S T U V W X Y Z 7,15 5,14 2,86 1,06 6,46 7,90 7,26 6,24 2,15 0,00 0,30 0,24 0,32 On se propose de décoder le code suivant qui a été codé avec une méthode de chiffrement affine : code = QBON LV CPEEBFV, EVN LKVCBEPVIN QPNVOS STXUTXIN EB CVIPSV, VS EVN BISPNBON JVOSVOS STXUTXIN. UVBO POSVIITFV DXBSIV Q VOSIV VXM. ETXPN BAAPIJV DXV YBXE VNS XO BISPNBO; YBXE YIVSVOQ VSIV EV NVXE LKVCBEPVI YBIJP VXM; LKBIEVN QVLEBIV DX BX JTPON XO YBIJP ETXPN VS YPVIIV VNS XO BISPNBO; YPVIIV NTXSPVOS DXV STXN EVN DXBSIV NTOS QVN LKVCBEPVIN. QVSVIJPOVI EV OTJGIV QV LKVCBEPVIN. Exécuter le script précédent et le suivant : x = rang ( L ) i f 0<= x and x < 2 6 : y = f ( x ) C = lettre ( y ) e l s e : C = L d e f effectif ( code, lettre ) : N = 0 f o r L i n code : i f L == lettre : N = N + 1 r e t u r n N 3

Maintenant, pour déterminer le nombre d apparition de la lettre A, il suffit d exécuter le script suivant : p r i n t ( A :, effectif ( code, A ) ) 1) Déterminer le nombre d apparitions de la lettre A dans le code? 2) Déterminer le nombre d apparitions des autres lettres de l alphabet dans le code : Lettre A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Effectif 3) Déterminer les 5 lettres les plus fréquentes du code. 4) Justifier que, sans doute, la lettre E correspond, une fois crypté, à la lettre V. 5) En déduire que f(4) = 21 et donc. 6) Justifier que, sans doute, la lettre A correspond une fois crypté à la lettre I, N, B ou S. 7) Distinguons 4 cas : a) Si A I : i. Justifier qu alors on a la seconde condition f(0) = 8. ii. En déduire que a et b sont solutions du système b 8 modulo 26 iii. En déduire que 4a 13 modulo 26. iv. * Justifier qu il n y a pas de solution. b) Si A N : i. Déduire qu on a le système suivant : b 13 modulo 26 Le résoudre. ii. En déduire que la fonction affine f ne correspond pas à un chiffrement affine. c) Si A B : i. Déduire qu on a le système suivant : b 1 modulo 26 Le résoudre. ii. Compléter le script suivant : a = b = message = f o r L i n code : message += decrypte ( ) p r i n t ( ) * Résoudre l énigme. 4

d e f rang ( lettre ) : r e t u r n ord ( lettre ) ord ( A ) ; d e f lettre ( x ) : r e t u r n chr ( x + ord ( A ) ) d e f f ( x ) : r e t u r n ( a x + b ) % 26 x = rang ( L ) i f 0<= x and x < 2 6 : y = f ( x ) C = lettre ( y ) e l s e : C = L d e f decrypte ( C ) : i f not ( 0 <= rang ( C ) and rang ( C ) < 26 ) : f o r c i n range ( 2 6 ) : i f ( c a ) % 26 == 1 : break y = rang ( C ) x = ( c y c b ) % 26 L = lettre ( x ) r e t u r n L code = QBON LV CPEEBFV, EVN LKVCBEPVIN QPNVOS STXUTXIN EB CVIPSV, VS EVN BISPNBON JVOSVOS STXUTXIN. UVBO POSVIITFV DXBSIV Q VOSIV VXM. ETXPN BAAPIJV DXV YBXE VNS XO BISPNBO; YBXE YIVSVOQ VSIV EV NVXE LKVCBEPVI YBIJP VXM; LKBIEVN QVLEBIV DX BX JTPON XO YBIJP ETXPN VS YPVIIV VNS XO BISPNBO; YPVIIV NTXSPVOS DXV STXN EVN DXBSIV NTOS QVN LKVCBEPVIN. QVSVIJPOVI EV OTJGIV QV LKVCBEPVIN. 5