Le besoin de crypter la correspondance est apparu dans le monde antique, et de simples chiffrements de substitution sont apparus. Les messages cryptés ont déterminé le sort de nombreuses batailles et influencé le cours de l'histoire. Au fil du temps, les gens ont inventé des méthodes de cryptage de plus en plus avancées.
Code et chiffrement sont, soit dit en passant, des concepts différents. La première consiste à remplacer chaque mot du message par un mot de code. La seconde consiste à crypter chaque symbole d'information à l'aide d'un algorithme spécifique.
Après que les mathématiques ont commencé à encoder des informations et que la théorie de la cryptographie a été développée, les scientifiques ont découvert de nombreuses propriétés utiles de cette science appliquée. Par exemple, des algorithmes de décodage ont aidé à démêler des langues mortes telles que l'égyptien ancien ou le latin.
Stéganographie
La stéganographie est plus ancienne que le codage et le cryptage. Cet art existe depuis très longtemps. Cela signifie littéralement "écriture cachée" ou "écriture chiffrée". Bien que la stéganographie ne réponde pas tout à fait aux définitions d'un code ou d'un chiffre, elle est destinée à cacher des informations aux étrangers.œil.
La stéganographie est le chiffrement le plus simple. Des notes avalées recouvertes de cire en sont des exemples typiques, ou un message sur une tête rasée qui se cache sous des cheveux qui poussent. L'exemple le plus clair de stéganographie est la méthode décrite dans de nombreux livres de détectives anglais (et pas seulement), lorsque les messages sont transmis par l'intermédiaire d'un journal, où les lettres sont discrètement marquées.
Le principal inconvénient de la stéganographie est qu'un étranger attentif peut le remarquer. Par conséquent, afin d'empêcher la lecture facile du message secret, des méthodes de cryptage et de codage sont utilisées conjointement avec la stéganographie.
ROT1 et chiffre de César
Le nom de ce chiffre est ROTate 1 lettre vers l'avant, et il est connu de nombreux écoliers. C'est un simple chiffrement par substitution. Son essence réside dans le fait que chaque lettre est cryptée en se déplaçant alphabétiquement d'une lettre vers l'avant. A -> B, B -> C, …, Z -> A. Par exemple, nous chiffrons la phrase "notre Nastya pleure fort" et nous obtenons "général Obtua dspnlp rmbsheu".
Le chiffrement ROT1 peut être généralisé à un nombre arbitraire de décalages, il est alors appelé ROTN, où N est le nombre par lequel le chiffrement des lettres doit être décalé. Sous cette forme, le chiffrement est connu depuis l'Antiquité et s'appelle le "chiffre de César".
Le chiffrement de César est très simple et rapide, mais il s'agit d'un simple chiffrement à permutation unique et il est donc facile à casser. Ayant un tel inconvénient, il ne convient que pour les farces enfantines.
chiffres de transposition ou de permutation
Ces types de chiffrements à permutation simple sont plus sérieux et étaient activement utilisés il n'y a pas si longtemps. Pendant la guerre civile américaine et la Première Guerre mondiale, il a été utilisé pour envoyer des messages. Son algorithme consiste à réorganiser les lettres par endroits - écrire le message dans l'ordre inverse ou réorganiser les lettres par paires. Par exemple, chiffrons la phrase "Le code Morse est aussi un chiffrement" -> "akubza ezrom - hérisson rfish".
Avec un bon algorithme qui déterminait des permutations arbitraires pour chaque caractère ou groupe d'entre eux, le chiffrement est devenu résistant à la simple fissuration. Mais! Seulement en temps voulu. Étant donné que le chiffrement est facilement brisé par une simple force brute ou une correspondance de dictionnaire, aujourd'hui, n'importe quel smartphone peut gérer son déchiffrement. Par conséquent, avec l'avènement des ordinateurs, ce chiffre est également passé à la catégorie des enfants.
code Morse
L'ABC est un moyen d'échange d'informations et sa tâche principale est de rendre les messages plus faciles et plus compréhensibles pour la transmission. Bien que cela soit contraire à ce à quoi le cryptage est destiné. Néanmoins, cela fonctionne comme les chiffrements les plus simples. Dans le système Morse, chaque lettre, chiffre et signe de ponctuation a son propre code, composé d'un groupe de tirets et de points. Lors de l'envoi d'un message à l'aide du télégraphe, les tirets et les points représentent des signaux longs et courts.
Télégraphe et code Morse… Morse est celui qui a breveté pour la première fois "son" invention en 1840, bien que des dispositifs similaires aient été inventés en Russie et en Angleterre avant lui. Mais qui s'en soucie maintenant … Télégraphe et alphabetLe code Morse a eu un très grand impact sur le monde, permettant la transmission quasi instantanée de messages sur des distances continentales.
Substitution monoalphabétique
Les codes ROTN et Morse décrits ci-dessus sont des exemples de polices de remplacement monoalphabétiques. Le préfixe "mono" signifie que lors du cryptage, chaque lettre du message d'origine est remplacée par une autre lettre ou un code du seul alphabet de cryptage.
Déchiffrer les chiffrements par substitution simple n'est pas difficile, et c'est leur principal inconvénient. Ils sont résolus par simple énumération ou analyse fréquentielle. Par exemple, on sait que les lettres les plus utilisées de la langue russe sont « o », « a », « i ». Ainsi, on peut supposer que dans le texte chiffré, les lettres qui apparaissent le plus souvent signifient soit "o", soit "a", soit "et". Sur la base de ces considérations, le message peut être déchiffré même sans recherche informatique.
On sait que Mary I, reine d'Écosse de 1561 à 1567, a utilisé un chiffrement de substitution monoalphabétique très complexe avec plusieurs combinaisons. Pourtant, ses ennemis ont pu déchiffrer les messages, et l'information était suffisante pour condamner la reine à mort.
chiffre de Gronsfeld, ou substitution polyalphabétique
Les chiffrements simples sont déclarés inutiles par la cryptographie. Par conséquent, beaucoup d'entre eux ont été améliorés. Le chiffre de Gronsfeld est une modification du chiffre de César. Cette méthode est beaucoup plus résistante au piratage et réside dans le fait que chaque caractère de l'information encodée est chiffré à l'aide d'un des différents alphabets, qui se répètent cycliquement. On peut dire qu'il s'agit d'une application multidimensionnellele chiffrement par substitution le plus simple. En fait, le chiffrement de Gronsfeld est très similaire au chiffrement de Vigenère décrit ci-dessous.
Algorithme de chiffrement ADFGX
Il s'agit du chiffre le plus célèbre de la Première Guerre mondiale utilisé par les Allemands. Le chiffrement tire son nom du fait que l'algorithme de chiffrement a conduit tous les chiffrements à l' alternance de ces lettres. Le choix des lettres elles-mêmes était déterminé par leur commodité lorsqu'elles étaient transmises sur des lignes télégraphiques. Chaque lettre du chiffre est représentée par deux. Regardons une version plus intéressante du carré ADFGX qui comprend des nombres et s'appelle ADFGVX.
A | D | F | G | V | X | |
A | J | Q | A | 5 | H | D |
D | 2 | E | R | V | 9 | Z |
F | 8 | Y | je | N | K | V |
G | U | P | B | F | 6 | O |
V | 4 | G | X | S | 3 | T |
X | W | L | Q | 7 | C | 0 |
L'algorithme de quadrature ADFGX est le suivant:
- Choisissez n lettres au hasard pour les colonnes et les lignes.
- Construire une matrice N x N.
- Entrez l'alphabet, les chiffres, les caractères dispersés au hasard sur les cellules dans la matrice.
Faisons un carré similaire pour la langue russe. Par exemple, créons un carré ABCD:
A | B | B | G | D | |
A | E/E | N | b/b | A | I/Y |
B | W | V/F | G/R | Ç | D |
B | Sh/Sh | B | L | X | je |
G | R | M | O | Yu | P |
D | F | T | T | S | U |
Cette matrice semble étrange car une rangée de cellules contient deux lettres. C'est acceptable, le sens du message n'est pas perdu. Il peut être facilement restauré. Cryptez la phrase "Compact cipher" à l'aide de ce tableau:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
Phrase | K | O | M | P | A | K | T | N | S | Y | Ø | & | F | R |
Chiffré | bw | gv | gb | où | ag | bw | db | ab | dg | enfer | wa | enfer | bb | ha |
Ainsi, le message chiffré final ressemble à ceci: "bvgvgbgdagbvdbabdgvdvaadbbga". Bien sûr, les Allemands ont réalisé une ligne similaire à travers plusieurs autres chiffres. Et à la fin, il s'est avéré très stablepour déchiffrer le message crypté.
Chiffre de Vigenère
Ce chiffrement est d'un ordre de grandeur plus résistant à la fissuration que les chiffrements monoalphabétiques, bien qu'il s'agisse d'un simple chiffrement de remplacement de texte. Cependant, en raison de l'algorithme robuste, il a longtemps été considéré comme impossible à pirater. La première mention en date du XVIe siècle. Vigenère (un diplomate français) est crédité à tort comme son inventeur. Pour mieux comprendre ce qui est en jeu, considérons la table Vigenère (carré Vigenère, tabula recta) pour la langue russe.
Commençons à coder la phrase "Kasperovich rit". Mais pour que le chiffrement réussisse, un mot-clé est nécessaire - que ce soit "mot de passe". Commençons maintenant le cryptage. Pour ce faire, nous écrivons la clé tant de fois que le nombre de lettres de celle-ci correspond au nombre de lettres de la phrase cryptée, en répétant la clé ou en coupant:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Phrase: | K | A | С | P | E | R | O | B | & | W | С | M | E | E | T | С | je |
Clé | P | A | R | O | L | b | P | A | R | O | L | b | P | A | R | O | L |
Maintenant, en utilisant la table de Vigenère, comme dans le plan de coordonnées, on cherche une cellule qui est l'intersection de paires de lettres, et on obtient: K + P=b, A + A=B, C + P=C, etc.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Chiffre: | b | B | B | Yu | С | N | Yu | G | Sch | F | E | Y | X | F | G | A | L |
Nous obtenons que "Kasperovich rit"="bvusnyugschzh eykhzhgal".
Cracker le chiffrement de Vigenère est si difficile car l'analyse de fréquence a besoin de connaître la longueur du mot-clé pour fonctionner. Le hack consiste donc à jeter au hasard la longueur du mot-clé et à essayer de déchiffrer le message secret.
Il convient également de mentionner qu'en plus d'une clé complètement aléatoire, une table Vigenère complètement différente peut être utilisée. Dans ce cas, le carré Vigenère est constitué d'un alphabet russe écrit ligne par ligne avec un décalage de un. Ce qui nous renvoie au chiffrement ROT1. Et tout comme dans le chiffrement de César, le décalage peut être n'importe quoi. De plus, l'ordre des lettres n'a pas à être alphabétique. Dans ce cas, la table elle-même peut être la clé, sans savoir laquelle il sera impossible de lire le message, même en connaissant la clé.
Codes
Les codes réels consistent en des correspondances pour chaquemots d'un code distinct. Pour travailler avec eux, des soi-disant livres de codes sont nécessaires. En fait, il s'agit du même dictionnaire, ne contenant que des traductions de mots en codes. Un exemple typique et simplifié de codes est la table ASCII - un chiffrement international de caractères simples.
Le principal avantage des codes est qu'ils sont très difficiles à déchiffrer. L'analyse de fréquence ne fonctionne presque pas lorsqu'ils sont piratés. La faiblesse des codes, c'est en fait les livres eux-mêmes. Premièrement, leur préparation est un processus complexe et coûteux. Deuxièmement, pour les ennemis, ils se transforment en un objet désiré et l'interception même d'une partie du livre vous oblige à changer complètement tous les codes.
Au XXe siècle, de nombreux États utilisaient des codes pour transférer des données secrètes, en modifiant le livre de codes après une certaine période. Et ils ont également activement recherché les livres de voisins et d'opposants.
Énigme
Tout le monde sait qu'Enigma était la principale machine de chiffrement des nazis pendant la Seconde Guerre mondiale. La structure d'Enigma comprend une combinaison de circuits électriques et mécaniques. Le résultat du chiffrement dépend de la configuration initiale d'Enigma. En même temps, Enigma change automatiquement sa configuration pendant le fonctionnement, cryptant un message de plusieurs manières sur toute sa longueur.
Contrairement aux chiffrements les plus simples, "Enigma" offrait des trillions de combinaisons possibles, ce qui rendait le déchiffrage des informations chiffrées presque impossible. À leur tour, les nazis avaient une certaine combinaison préparée pour chaque jour, qu'ilsutilisé un jour particulier pour envoyer des messages. Par conséquent, même si Enigma tombait entre les mains de l'ennemi, il ne faisait rien pour déchiffrer les messages sans entrer la bonne configuration tous les jours.
Hack "Enigma" a été activement essayé pendant toute la campagne militaire d'Hitler. En Angleterre, en 1936, l'un des premiers appareils informatiques (machine de Turing) a été construit à cet effet, qui est devenu le prototype des ordinateurs du futur. Sa tâche consistait à simuler le fonctionnement de plusieurs dizaines d'énigmes simultanément et à y faire passer des messages nazis interceptés. Mais même la machine de Turing n'a pu déchiffrer le message qu'occasionnellement.
Cryptage à clé publique
Le plus populaire des algorithmes de cryptage, qui est utilisé partout dans la technologie et les systèmes informatiques. Son essence réside, en règle générale, dans la présence de deux clés, dont l'une est transmise publiquement et la seconde est secrète (privée). La clé publique est utilisée pour chiffrer le message et la clé privée est utilisée pour le déchiffrer.
La clé publique est le plus souvent un très grand nombre qui n'a que deux diviseurs, sans compter un et le nombre lui-même. Ensemble, ces deux diviseurs forment une clé secrète.
Prenons un exemple simple. Soit la clé publique soit 905. Ses diviseurs sont les nombres 1, 5, 181 et 905. Alors la clé secrète sera, par exemple, le nombre 5181. Vous dites trop facile ? Et si dans le rôlenuméro public sera un numéro à 60 chiffres ? Mathématiquement difficile de calculer les diviseurs d'un grand nombre.
Pour un exemple plus parlant, imaginez que vous retirez de l'argent à un guichet automatique. Lors de la lecture de la carte, les données personnelles sont cryptées avec une certaine clé publique, et du côté de la banque, les informations sont décryptées avec une clé secrète. Et cette clé publique peut être changée pour chaque opération. Et il n'y a aucun moyen de trouver rapidement les principaux diviseurs lors de l'interception.
Durabilité des polices
La force cryptographique d'un algorithme de chiffrement est sa capacité à résister au piratage. Ce paramètre est le plus important pour tout chiffrement. De toute évidence, le chiffrement par substitution simple, qui peut être déchiffré par n'importe quel appareil électronique, est l'un des plus instables.
Aujourd'hui, il n'existe pas de normes uniformes permettant d'évaluer la force du chiffrement. C'est un processus laborieux et long. Cependant, un certain nombre de commissions ont produit des normes dans ce domaine. Par exemple, les exigences minimales pour l'algorithme de chiffrement Advanced Encryption Standard ou AES développé par NIST USA.
Pour référence: le chiffrement de Vernam est reconnu comme le chiffrement le plus résistant à la rupture. En même temps, son avantage est que, selon son algorithme, c'est le chiffrement le plus simple.