Chiffrements traditionnels
Dans le deuxième chapitre, nous avons discuté des principes fondamentaux de la cryptographie moderne. Nous avons assimilé la cryptographie à une boîte à outils où diverses techniques cryptographiques sont considérées comme les outils de base. L'un de ces outils est le cryptage à clé symétrique où la clé utilisée pour le cryptage et le décryptage est la même.
Dans ce chapitre, nous discutons plus en détail de cette technique et de ses applications pour développer divers cryptosystèmes.
Systèmes cryptographiques antérieurs
Avant de continuer, vous devez connaître certains faits sur les cryptosystèmes historiques -
Tous ces systèmes sont based on symmetric key encryption schème.
Le seul service de sécurité que ces systèmes fournissent est la confidentialité des informations.
Contrairement aux systèmes modernes qui sont numériques et traitent les données comme des nombres binaires, les systèmes antérieurs utilisaient les alphabets comme élément de base.
Ces systèmes cryptographiques antérieurs sont également appelés chiffrements. En général, un chiffrement est simplement un ensemble d'étapes (un algorithme) pour effectuer à la fois un chiffrement et le déchiffrement correspondant.
Chiffre César
Il s'agit d'un chiffrement mono-alphabétique dans lequel chaque lettre du texte en clair est remplacée par une autre lettre pour former le texte chiffré. C'est une forme la plus simple de schéma de chiffrement de substitution.
Ce cryptosystème est généralement appelé le Shift Cipher. Le concept est de remplacer chaque alphabet par un autre alphabet qui est «décalé» d'un nombre fixe entre 0 et 25.
Pour ce type de schéma, l'expéditeur et le destinataire s'accordent sur un «numéro de décalage secret» pour changer l'alphabet. Ce nombre compris entre 0 et 25 devient la clé de cryptage.
Le nom «César Cipher» est parfois utilisé pour décrire le Shift Cipher lorsque le «shift of three» est utilisé.
Processus de chiffrement de décalage
Afin de crypter une lettre en clair, l'expéditeur positionne la règle coulissante sous le premier ensemble de lettres en clair et la fait glisser vers la GAUCHE du nombre de positions du décalage secret.
La lettre en clair est ensuite chiffrée à la lettre de texte chiffré sur la règle coulissante en dessous. Le résultat de ce processus est décrit dans l'illustration suivante pour un changement convenu de trois postes. Dans ce cas, le texte en clair «tutoriel» est chiffré en texte chiffré «WXWRULDO». Voici l'alphabet chiffré pour un décalage de 3 -
Lors de la réception du texte chiffré, le récepteur qui connaît également le décalage secret, positionne sa règle coulissante sous l'alphabet de texte chiffré et le fait glisser vers la DROITE du numéro de décalage convenu, 3 dans ce cas.
Il remplace ensuite la lettre chiffrée par la lettre en clair sur la règle coulissante en dessous. Par conséquent, le texte chiffré «WXWRULDO» est déchiffré en «tutoriel». Pour déchiffrer un message encodé avec un décalage de 3, générez l'alphabet en clair en utilisant un décalage de '-3' comme indiqué ci-dessous -
Valeur de sécurité
César Cipher est not a securecryptosystème car il n'y a que 26 clés possibles à essayer. Un attaquant peut effectuer une recherche de clé exhaustive avec des ressources informatiques limitées disponibles.
Chiffre de substitution simple
C'est une amélioration du César Cipher. Au lieu de décaler les alphabets d'un certain nombre, ce schéma utilise une certaine permutation des lettres de l'alphabet.
Par exemple, AB… ..YZ et ZY …… BA sont deux permutations évidentes de toutes les lettres de l'alphabet. La permutation n'est rien d'autre qu'un ensemble d'alphabets confus.
Avec 26 lettres en alphabet, les permutations possibles sont 26! (Factorielle de 26) qui est égale à 4x10 26 . L'expéditeur et le récepteur peuvent choisir l'une quelconque de ces permutations possibles comme alphabet de texte chiffré. Cette permutation est la clé secrète du schéma.
Processus de chiffrement de substitution simple
Écrivez les alphabets A, B, C, ..., Z dans l'ordre naturel.
L'expéditeur et le destinataire décident d'une permutation aléatoire des lettres de l'alphabet.
Sous les alphabets d'ordre naturel, écrivez la permutation choisie des lettres de l'alphabet. Pour le chiffrement, l'expéditeur remplace chaque lettre en clair en substituant la lettre de permutation qui se trouve directement en dessous dans le tableau. Ce processus est illustré dans l'illustration suivante. Dans cet exemple, la permutation choisie est K, D, G, ..., O. Le «point» en clair est chiffré en «MJBXZ».
Voici un alphabet crypté confus, où l'ordre des lettres cryptographiques est une clé.
À la réception du texte chiffré, le récepteur, qui connaît également la permutation choisie au hasard, remplace chaque lettre de texte chiffré de la rangée inférieure par la lettre en clair correspondante de la rangée supérieure. Le texte chiffré «MJBXZ» est déchiffré en «point».
Valeur de sécurité
Le chiffre de substitution simple est une amélioration considérable par rapport au chiffre César. Le nombre possible de clés est important (26!) Et même les systèmes informatiques modernes ne sont pas encore assez puissants pour lancer confortablement une attaque par force brute pour briser le système. Cependant, le chiffrement de substitution simple a une conception simple et il est sujet à des défauts de conception, disons en choisissant une permutation évidente, ce cryptosystème peut être facilement cassé.
Chiffre monoalphabétique et polyalphabétique
Le chiffrement monoalphabétique est un chiffrement de substitution dans lequel, pour une clé donnée, l'alphabet chiffré de chaque alphabet simple est fixé tout au long du processus de chiffrement. Par exemple, si «A» est chiffré en tant que «D», pour tout nombre d'occurrences dans ce texte en clair, «A» sera toujours chiffré en «D».
Tous les chiffrements de substitution dont nous avons discuté plus tôt dans ce chapitre sont monoalphabétiques; ces chiffrements sont très sensibles à la cryptanalyse.
Le chiffrement polyalphabétique est un chiffrement de substitution dans lequel l'alphabet chiffré de l'alphabet simple peut être différent à différents endroits pendant le processus de chiffrement. Les deux exemples suivants,playfair and Vigenere Cipher are polyalphabetic ciphers.
Chiffre Playfair
Dans ce schéma, des paires de lettres sont cryptées, au lieu de lettres uniques comme dans le cas d'un chiffre de substitution simple.
Dans le chiffrement playfair, une table de clés est initialement créée. La table des clés est une grille d'alphabets 5 × 5 qui sert de clé pour crypter le texte en clair. Chacun des 25 alphabets doit être unique et une lettre de l'alphabet (généralement J) est omise du tableau car nous n'avons besoin que de 25 alphabets au lieu de 26. Si le texte brut contient J, il est remplacé par I.
L'expéditeur et le destinataire déicide sur une touche particulière, disent «tutoriels». Dans un tableau clé, les premiers caractères (de gauche à droite) du tableau sont la phrase, à l'exclusion des lettres en double. Le reste du tableau sera rempli avec les lettres restantes de l'alphabet, dans l'ordre naturel. La table des clés se révèle être -
Processus de chiffrement Playfair
Tout d'abord, un message en clair est divisé en paires de deux lettres (digraphes). S'il y a un nombre impair de lettres, un Z est ajouté à la dernière lettre. Disons que nous voulons crypter le message «cacher de l'argent». Il sera écrit comme -
HI DE MO NE YZ
Les règles de cryptage sont -
Si les deux lettres sont dans la même colonne, prenez la lettre en dessous de chacune (en remontant en haut si en bas)
T | U | O | R | je | «H» et «I» sont dans la même colonne, donc prenez la lettre en dessous d'eux pour les remplacer. HI → QC |
UNE | L | S | B | C | |
ré | E | F | g | H | |
K | M | N | P | Q | |
V | W | X | Oui | Z |
Si les deux lettres sont dans la même rangée, prenez la lettre à droite de chacune (en retournant vers la gauche si elle est à l'extrême droite)
T | U | O | R | je | «D» et «E» sont dans la même rangée, prenez donc la lettre à leur droite pour les remplacer. DE → EF |
UNE | L | S | B | C | |
ré | E | F | g | H | |
K | M | N | P | Q | |
V | W | X | Oui | Z |
Si aucune des deux règles précédentes n'est vraie, formez un rectangle avec les deux lettres et prenez les lettres dans le coin horizontal opposé du rectangle.
En utilisant ces règles, le résultat du cryptage de 'hide money' avec la clé de 'tutorials' serait -
QC EF NU MF ZV
Décrypter le chiffrement Playfair est aussi simple que de faire le même processus en sens inverse. Receiver a la même clé et peut créer la même table de clés, puis décrypter tous les messages créés à l'aide de cette clé.
Valeur de sécurité
C'est aussi un chiffrement de substitution et il est difficile de casser par rapport au chiffrement de substitution simple. Comme en cas de chiffrement de substitution, la cryptanalyse est également possible sur le chiffrement Playfair, mais ce serait contre 625 paires de lettres possibles (25x25 alphabets) au lieu de 26 alphabets différents possibles.
Le chiffrement Playfair a été utilisé principalement pour protéger des secrets importants, mais non critiques, car il est rapide à utiliser et ne nécessite aucun équipement spécial.
Chiffre Vigenere
Ce schéma de chiffrement utilise une chaîne de texte (disons, un mot) comme clé, qui est ensuite utilisée pour effectuer un certain nombre de décalages sur le texte en clair.
Par exemple, supposons que la clé est «point». Chaque alphabet de la clé est converti en sa valeur numérique respective: dans ce cas,
p → 16, o → 15, i → 9, n → 14 et t → 20.
Ainsi, la clé est: 16 15 9 14 20.
Processus de chiffrement Vigenere
L'expéditeur et le destinataire décident d'une clé. Dites «point» est la clé. La représentation numérique de cette clé est «16 15 9 14 20».
L'expéditeur veut crypter le message, dites «attaque du sud-est». Il organisera le texte brut et la clé numérique comme suit -
Il décale maintenant chaque alphabet de texte brut par le nombre écrit en dessous pour créer un texte chiffré comme indiqué ci-dessous -
Ici, chaque caractère en clair a été décalé d'un montant différent - et ce montant est déterminé par la clé. La clé doit être inférieure ou égale à la taille du message.
Pour le déchiffrement, le récepteur utilise la même clé et décale le texte chiffré reçu dans l'ordre inverse pour obtenir le texte en clair.
Valeur de sécurité
Vigenere Cipher a été conçu en ajustant le chiffrement César standard pour réduire l'efficacité de la cryptanalyse sur le texte chiffré et rendre un cryptosystème plus robuste. C'est significativementmore secure than a regular Caesar Cipher.
Dans l'histoire, il a été régulièrement utilisé pour protéger des informations politiques et militaires sensibles. Il a été appelé leunbreakable cipher en raison de la difficulté qu'il posait à la cryptanalyse.
Variantes du chiffre Vigenere
Il existe deux cas particuliers de chiffrement Vigenere -
La longueur du mot clé est la même que celle du message plaintect. Ce cas s'appelleVernam Cipher. Il est plus sûr que le chiffrement Vigenere typique.
Le chiffrement Vigenere devient un cryptosystème avec un secret parfait, qui s'appelle One-time pad.
Pad unique
Les circonstances sont -
- La longueur du mot-clé est la même que la longueur du texte brut.
- Le mot-clé est une chaîne d'alphabets générée aléatoirement.
- Le mot-clé n'est utilisé qu'une seule fois.
Valeur de sécurité
Comparons le chiffre Shift avec un pad ponctuel.
Chiffre Shift - Facile à casser
Dans le cas du chiffrement Shift, le message entier aurait pu avoir un décalage entre 1 et 25. Il s'agit d'une très petite taille et très facile à forcer. Cependant, chaque caractère ayant maintenant son propre décalage individuel entre 1 et 26, les clés possibles croissent de manière exponentielle pour le message.
Pad unique - Impossible de casser
Disons que nous chiffrons le nom «point» avec un pad unique. C'est un texte de 5 lettres. Pour casser le texte chiffré par la force brute, vous devez essayer toutes les possibilités de clés et effectuer le calcul pour (26 x 26 x 26 x 26 x 26) = 26 5 = 11881376 fois. C'est pour un message avec 5 alphabets. Ainsi, pour un message plus long, le calcul croît de façon exponentielle avec chaque alphabet supplémentaire. Cela rend le calcul impossible de casser le texte chiffré par la force brute.
Chiffre de transposition
C'est un autre type de chiffrement dans lequel l'ordre des alphabets dans le texte en clair est réorganisé pour créer le texte chiffré. Les alphabets en clair ne sont pas remplacés.
Un exemple est un chiffrement de «transposition en colonne simple» où le texte brut est écrit horizontalement avec une certaine largeur d'alphabet. Ensuite, le texte chiffré est lu verticalement comme indiqué.
Par exemple, le texte en clair est «la statue dorée est dans la onzième grotte» et la clé secrète aléatoire choisie est «cinq». Nous organisons ce texte horizontalement dans un tableau avec un nombre de colonnes égal à la valeur clé. Le texte résultant est présenté ci-dessous.
Le texte chiffré est obtenu en lisant la colonne verticalement vers le bas de la première à la dernière colonne. Le texte chiffré est «gnuneaoseenvltiltedasehetivc».
Pour décrypter, le récepteur prépare un tableau similaire. Le nombre de colonnes est égal au numéro de clé. Le nombre de lignes est obtenu en divisant le nombre total d'alphabets de texte chiffré par la valeur de clé et en arrondissant le quotient à la valeur entière suivante.
Le récepteur écrit ensuite le texte chiffré reçu verticalement vers le bas et de la colonne de gauche à droite. Pour obtenir le texte, il lit horizontalement de gauche à droite et de haut en bas.