Chiffrement de Cesar

Le chiffrement par décalage, aussi connu comme le chiffre de César est une méthode de chiffrement très simple utilisée par Jules César dans ses correspondances secrètes (ce qui explique le nom « chiffre de César »). Le texte chiffré s'obtient en remplaçant chaque lettre du texte clair original par une lettre à distance fixe, toujours du même côté, dans l'ordre de l'alphabet. Pour les dernières lettres (dans le cas d'un décalage à droite), on reprend au début. Par exemple avec un décalage de 3 vers la droite, A est remplacé par D, B devient E, et ainsi jusqu'à W qui devient Z, puis X devient A etc. Il s'agit d'une permutation circulaire de l'alphabet. La longueur du décalage, 3 dans l'exemple évoqué, constitue la clé du chiffrement qu'il suffit de transmettre au destinataire s'il sait déjà qu'il s'agit d'un chiffrement de César pour que celui-ci puisse déchiffrer le message. Dans le cas de l'alphabet latin, le chiffre de César n'a que 26 clés possibles (y compris la clé nulle, qui ne modifie pas le texte). -Decryptage : Le chiffre de César peut être cassé très facilement, même à l'aide du seul texte chiffré. On peut distinguer d eux cas :
y

y

le cryptanalyste a connaissance du fait qu'un simple chiffrement par substitution a été employé, mais ignore qu'il s'agit du chiffre de César en particulier ; le cryptanalyste sait que le chiffre de César a été utilisé, mais ignore la valeur du décalage.

Par recherche de la méthode de chiffrement : Dans le premier cas, il est possible de casser le chiffre de César à l'aide des mêmes techniques que dans le cas général d'un chiffrement par substitution, à savoir l'analyse fréquentielle ou la recherche de mots probables 15. Lors de la résolution, le cryptanalyste ne sera pas sans remarquer une certaine régularité dans les décalages, et en déduira que l'algorithme employé est le chiffre de César. Par recherche de la valeur du décalage : Dans le deuxième cas, comme il n'y a qu'un nombre limité de décalages (vingt six dont un inutile), il suffit de tester tous les chiffrements possibles jusqu'à trouver le bon. C'est ce qu'on appelle une attaque par force brute, technique de test de toutes les combinaisons possibles 16. Une méthode simple pour mener l'attaque est de prendre un fragment du texte crypté et d'écrire dans un tableau tous les décalages possibles (voir le tableau ci-contre)17. Dans ce tableau, on a pris le fragment GVCTX SKVEQ QI ; le texte en clair apparaît ainsi facilement à la quatrième ligne. Une autre façon de procéder serait d'écrire toutes les lettres de l'alphabet, en dessous de

chaque lettre du fragment, et en commençant par celle-ci. Ce genre d'attaque peut être accélérée en utilisant des bandes avec l'alphabet écrit dessus ; les bandes étant placées en colonne sur le texte chiffré (lettre sur lettre : par exemple, le « E » de la bande doit être placé au-dessus du « E » du texte chiffré), la phrase en clair doit apparaître sur une des lignes.

Chiffrement de playfair :
Le Chiffre de Playfair ou Carré de Playfair est une méthode manuelle de chiffrement symétrique qui fut la première technique utilisable en pratique de chiffrement par substitution polygrammique. Il fut imaginé en 1854 par Charles Wheatstone, mais porte le nom de Lord Playfair qui popularisa son utilisation. Il consiste à chiffrer des paires de lettres (des digrammes), plutôt que des lettres seules comme dans les chiffrements par subsitutions poly -alphabétiques tels que le chiffre de Vigenère, plus répandus à l'époque. Ce chiffrement est significativement plus dur à casser car les attaques par analyse fréquentielle habituellement utilisées sur les chiffrements par substitutions simples sont peu efficaces sur lui. L'analyse de fréquence des digrammes reste toujours possible, mais appliquée à six cents 1 digrammes possibles au lieu des 26 lettres de l'alphabet, elle est considérablement plus difficile et exige un texte chiffré beaucoup plus long pour espérer être efficace .

-La Méthode de chiffrement
Le chiffre de Playfair utilise un tableau de 5x5 lettres, contenant un mot clé ou une phrase. La mémorisation du mot clé et de 4 règles faciles à suivre suffisait pour utiliser ce chiffrement. Pour construire le tableau, on devait d'abord le remplir avec les lettres du mot clé (en ignorant les doublons), puis le compléter avec les autres lettres de l'alphabet dans l'ordre (soit en omettant la lettre Q, soit en occupant une même case pour les lettres I et J suivant les versions). Le mot clé peut être écrit en ligne, en colonne ou même en spirale. Pour chiffrer un message, il faut prendre les lettres 2 par 2 et appliquer les règles suivantes en fonction de la position des lettres dans la table :
y

y

si les 2 lettres sont identiques (ou s'il n'en reste qu'une) mettre un 'X' après la première lettre. Chiffrer la nouvelle paire ainsi constituée et continuer avec la suivante. Dans certaines variantes, on utilise 'Q' au lieu du 'X', mais n'importe quelle lettre peut faire l'affaire, si les lettres se trouvent sur la même ligne de la table, il faut les remplacer par celles se trouvant immédiatement à leur droite (en bouclant sur la gauche si le bord est atteint),

y y

si les lettres apparaissent sur la même colonne, les remplacer par celles qui sont juste en dessous (en bouclant par le haut si le bas de la table est atteint), sinon, remplacer les lettres par celles se trouvant sur la même ligne, mais dans le coin opposé du rectangle défini par la paire original e

-Déchiffrement :
utiliser la méthode inverse en ignorant les 'X' ou les 'Q' qui n'ont pas leur place dans le message final, c'est-à-dire en prenant les lettres à gauche dans le cas d'une même ligne, vers le haut dans le cas d'une même colonne, et toujour s les coins dans le cas d'un rectangle.

Chiffrement de Hill :
le chiffre de Hill est un modèle simple d'extension du chiffrement affine à un bloc. Ce système étudié par Lester S. Hills 1, utilise les propriétés de l' arithmétique modulaire et des matrices. Il s'agit de chiffrer le message en substituant les lettres du messag e, non plus lettre à lettre, mais groupe de lettres par groupe de lettres. Il permet ainsi de rendre plus difficile le cassage du code par observation des fréquences

-Principe :
Chaque caractère est d'abord codé par un nombre compris entre 0 et n -1 (son rang dans l'alphabet diminué de 1 ou son code ASCII diminué de 32). Les caractères sont alors regroupés par blocs de p caractères formant un certain nombre de vecteurs (X=x1 xn) Les nombres xi étant compris entre 0 et n - 1, on peut les considérer comme des éléments de Z/Zn et X est alors un élément de (Z/Zn). On construit alors une matrice p × p d'éléments de Z/Zn : A. Le bloc X est alors chiffré par le bloc Y = AX, le produit s'effectuant modulo n. Pour déchiffrer le message, il s'agit d'inverser la matrice A. Cela peut se faire si le déterminant de cette matrice est premier avec n. En effet, si Det(A) est premier avec n, il existe un élément k de Z/Zn tel que K(det(A))=1(mod n). Le produit de A et de sa comatrice transposée tCom(A) donne Det(A)Ip. Si l'on appelle B la matrice ktcom(A). On aura AB = BA = Ip. Soit encore .

-Déchiffrement :
Il faut inverser la matrice A. Il suffit de prendre la transposée de sa comatrice, c'est à-dire

et la multiplier (modulo 26) par l'inverse du déterminant de A c'est -à-dire par 5

Connaissant les couples Y, il suffit de les multiplier (modulo 26) par la matrice A pour retrouver les couples X et réussir à déchiffrer le message.

Chiffrement de vegenere :
C'est un système de substitution poly -alphabétique ou de chiffrement polyalphabétique. Cela signifie qu'il permet de remplacer une lettre par une autre qui n'est pas toujours la même, contrairement au chiffre de César ou à ROT13 qui se contentaient d'utiliser la même lettre de substitution. C'est donc un système relativement plus « solide » que ces deux systèmes.

-Principe du chiffrement :
Ce chiffrement introduit la notion de clé. Une clé se présente généralement sous la forme d'un mot ou d'une phrase. Pour pouvoir chiffrer notre texte, à chaque caractère nous utilisons une lettre de la clé pour effectuer la substitution. Évidemment, plus la clé sera longue et variée et mieux le texte sera chiffré. Il faut savoir qu'il y a eu une période où des passages entiers d' uvres littéraires étaient utilisés pour chiffrer les plus grands secrets. Les deux correspondants n'avaient plus qu'à avoir en leurs mains un exemplaire du même livre pour s'assurer de la bonne compréhension des messages.

-Principe mathématique :
Mathématiquement, on considère que les lettres de l'alphabet sont numérotées de 0 à 25 (A=0, B=1 ...). La transformation lettre par lettre se formalise simplement par :
y

Chiffré = (Texte + Clé) modulo 26

(Texte + Clé) modulo 26 correspond au « reste de la division entière de (Texte + Clé) par 26 », les ordinateurs le font très bien ! En fait il suffit d'effectuer l'addition des deux caractères puis de trouver le numéro correspondant à la lettre chiffrée, n otre

alphabet étant circulaire (après Z on a A), le modulo nous assure que notre résultat sera compris entre 0 et 25. Remarquez que si l'on utilise la clé avec un texte rempli uniquement avec des A on retrouve assez facilement la clé
y

« A » + LettreInconnue = LettreInconnue, soit du point de vue mathématique : 0 + x = x.

-Cryptanalyse : .
Des attaques de ce chiffre sont vraiment possibles notamment en connaissant le nombre de symboles que comporte la clé, et en effectuant une analyse de fréquences. Pour déterminer la taille de la clé, on peut utiliser le test de Kasiski ou une technique basée sur l' indice de coïncidence. Cependant il faudra attendre le XIXe siècle pour que Charles Babbage trouve un moyen réellement efficace pour casser ce chiffre.

Proposition :
On utilise un programme qui combine entre le chiffrement de cesar et celui de vegenere, le choix est fait afin de mieux sécurisé le cryptage. Le chiffrement de cesar comme déjà dit au début est facile à casser car il se base au décalage selon la clé ainsi que les attaques au chiffrement de vegenere sont vraiment possibles notamment en connaissant le nombre de symboles que comporte la clé, et en effectuant une analyse de fréquences pour déterminer la taille de la clé alors on les combine afin de complexé l algorithme en rendant l analyse de fréquences trompant. La réalisation de cette proposition est implémenté dans le TP en donnant choix au crypteur de débuter selon chiffrement vegenre ou chiffrement cesar. En choisissant par exemple chiffrement cesar au début le résultat va lui aussi être rangé afin de pouvoir appliquer le deuxième chiffrement de vegenere qui donner un chiffrement plus complexe et plus difficile à casser.