• Aucun résultat trouvé

I Chiffre de Vigenère

N/A
N/A
Protected

Academic year: 2022

Partager "I Chiffre de Vigenère"

Copied!
1
0
0

Texte intégral

(1)

BTSSIO:DOC 16 TD 12 : encore de la cryptographie 2017-2018

I Chiffre de Vigenère

https://fr.wikipedia.org/wiki/Chiffre_de_Vigenère

Latable de Vigenèrevous a été distribuée lors de la dernière séance.

II On décortique le problème

II.1 Une liste de listes pour concrétiser la table de Vigenère

• Il s’agit ici de « fabriquer » une fonction ayant un entier debutcomme paramètre. Elle doit renvoyer une liste de lettres dans l’ordre alphabétique commençant par la lettre d’indexdebut. Il s’agit d’une fonction qui permet de créer n’importe quelle ligne de latable de Vigenère.

Une

fontion

pos sible

def LigneTableVigenere(debut):

initialiser une liste nommée LTV avec 26 zéros pour i allant de 0 à 25

affecter à chaque élément de la liste la lettre de l’alphabet d’index i+debut retourner LTV

Tester cette fonction en enregistrant votre script et dans l’interpréteur, appeler la fonction, LigneTableVigenere(10)

Comparer l’affichage avec la ligne correspondante de la version papier dont vous disposez.

• • •

• On est maintenant capable de construire n’importe laquelle des lignes de la table de Vigenère. Construire une fonctionTableVigenere()à partir d’une liste videTVen utilisant la fonction précédente.

Une

fontion

pos sible

def TableVigenere():

initialiser une liste nommée TV à vide pour k allant de 0 à 25

ajouter à la liste TV la liste renvoyée par la fonction LigneTableVigenere(k) retourner TV

II.2 Coder en utilisant la table

• Commençons par fabriquer une fonction CleRepetee(sentence,key) qui permet de renvoyer une chaîne de caractères qui sera composée de la chaîne keyécrite autant de fois qu’il y a de lettre dans la chaînesentence.

Par exemple, avec la keychiffre

l e c h i f f r e d e v i g e n e r e c e s t c h o u e t t e

c h i f f r e c h i f f r e c h i f f r e c h i f f r e c h i

Une

fontion

pos sible

def CleRepetee(sentence,key):

initialiser une chaîne clerep à vide

pour k allant de 0 à longueur de sentence -1

ajouter un caractère à la chaîne clerep (le bon !) retourner clerep

• • •

• Il ne reste plus qu’une dernière fonction, que l’on appelleraVigenere(messclair,cle), et qui renverra le mes- sage codé par la méthode du chiffre de Vigenère.

Pas de trame pour cette fonction ; une contrainte néanmoins, vous devrez utiliser les deux fonctionsTableVigenere() et CleRepetee(sentence,key)précédemment codées.

My Maths Space 1 sur 1

Références

Documents relatifs

- Atteinte osseuse + atteinte viscérale : histiocytose généralisée Granulome éosinophile osseux :. Envahissement des parties molles (tuméfaction/crâne) Ostéolyse d ’

so-alled Vigenère ipher, but he did devise a stronger autokey based on the same table.. Messages are enrypted with the help of a tabula reta, also alled

EBGIQ LSVRY ENJON CIUZC NNQPZ PCPQF LHIOB THVRC XITXG YAEYL NYPDP LNGCY XUPCK THFGM YXGBD FFNIS YZQBR FHCDC WSYRY ENJOK THFSL PPKDY MFAMM YWGXR CUVOQ ZHKCR SUVSL EBGWM CHKXE TNYSJ

Something began when the Guild of Assassins enrolled Mister Teatime, who saw things differently from other people, and one of the ways that he saw things differently from other

 Pour chaque lettre du mot à coder, on calcule le reste y de la division euclidienne de x + z (où z est le rang dans l’alphabet de la lettre de la clé) par 26.  On note la

Les mesures de rendement en matière de dépistage doivent tenir compte de la prise de décision partagée, des valeurs et des préférences des patients, et de la complexité de

Samedi, papa est sorti du magasin avec un tout petit paquet cadeau pour l’anniversaire de maman.. Quel cadeau papa

 Pour afficher le plat du jour dans vos menus verticaux, rendez-vous dans Configuration > Menus, cliquez sur Ajouter un widget > Restaurant puis activez le widget "Plat