Forum : Topic "La cryptographie" : Messages

| <<1 / 3 [02] [03] >> |

Balthi09-07 19:53 Votes Edit Del
Bienvenus Mesdames, Messieurs et Créatures fantastiques.

Je vous propose ici un savoir, plus qu'un savoir, un art.
Je vais vous faire découvrir les secrets de la cryptographie.

A la fin de mon enseignement, vous aurez des possibilités aussi nombreuses que votre imagination de créer un code et de crypter des messages.

Pour votre culture générale ou votre amusement à envoyer des messages codés à des personnes car c'est de cette fonction que la cryptographie voit le jour. Ce n'est rien d'autre qu'une mesure de sécurité pour vos messages privés. Bien entendus, je vous invite à lire le sujet là dessus sur wikipédia pour approfondir un maximum le sujet.

Sachez qu'aujourd'hui, on utilise la cryptographie pour l'informatique, les sociétés, etc. Ce n'est donc pas une science morte et inutilisé. Mais bien sur, l'informatique permet de perfectionner le cryptage et de le compliquer mais je vous offre les bases.

Me voilà vous présenté, le début du cours avec le code le plus simpliste à savoir: Le décalage de César

Le principe est simple et enfantin.
Tout comme son nom l'indique, il s'agit d'un décalage. On décale l'alphabet habituel par un certain nombre.

exemple:Remplacer le A par le C, le B par le D, le c'est par le E, etc
On aura compris que pour cet exemple, le décalage est de 2.

Dès lors, il suffit de remplacer chaque lettre du message par sa "lettre décalée". Et bien sur, quand on arrive à la fin de l'alphabet on le recommence. Pour le décalage de 2, le Z sera remplacé B.

CECI EST UNE LECON DE CRYPTOGRAPHIE

sera transformé par

EGEK GUV WPG NGEQP FG ETARVQITCRJKG

Pour le décryptage, je vous attends pour le prochain cours avec des clefs utiles pour tout les décryptages, alors soyez au rendez vous.

Simiche09-08 11:37 Votes Edit Del
Unhkz pth oqnlds cdsqd zltrzmu !

Balthi09-08 19:40 Votes Edit Del
Merci beaucoup Simiche, la cryptographie est un jeu. Les possibilités sont infinies et pour l'instant ce n'est que le simple^^

D'ailleurs, je te remercie beaucoup Simiche, je me baserais sur ton exemple pour démontrer comment décrypter^^

Tout d'abord, décrypter est un jeu d'essai et d'erreur. Si vous ne trouvez pas du premier coup, c'est normal. Il m'a fallu 5 minutes entières pour trouver la clé de celui de Simiche et je ne suis pas plus intelligent qu'un autre^^

Tout d'abord, je vais vous donner un peu de données ce qui facilite le travail de manière efficace. Ce sont des résultats de statistiques pour la langue française.

Sur un texte de 10.000 lettres,
Le E apparaitra 1776 fois, le S 823, le A 768, le N 761, le T 730, le I 723, le R 681.

Si vous retenez que ces 6 lettres sont les plus fréquentes dans la langue française, cela vous aidera notamment pour les longs textes.

En résumé: ESANTIR est l'ordre des lettres les plus courants pour la langue française.

Vous pouvez également retenir le couple de lettre les plus fréquents dans la langue française:

SS LL EE NN TT FF CC RR MM PP

Avec ces deux données de statistiques, cela aidera pour déchiffrer n'importe quel message.

Attardons nous sur le message de Simiche:
Unhkz pth oqnlds c'dsqd zltrzmu!

comptons les lettres,
3 Z; 3 D;
2 H; 2 L; 2 N; 2 Q; 2 S; 2 T; 2 U;
1 C; 1 O; 1 P.

On peut presque affirmer que Z et D font partis des ESANTIR.

Mettons que Z vaut E et prenons le mot zltrzmu ou elle apparait deux fois.
Si tel est le cas, le décalage serait de 5, essayons donc cette combinaison.
Il faut donc compter 5 lettres à l'envers.

Donc Z vaut E, le L vaut G, le T vaut O, le R vaut M, le M vaut H et le U vaut P.

Il ne faut pas être sorcier pour voir que ça ne fonctionne pas.

Alors on passe à une autre hypothèse, que le D vaut le E.

Note que vous pouvez essayez toute les lettres d'ESANTIR pour Z et vous aurez finis par trouver la combinaison. Mais, je préfère essayer le E pour toute les possibilités. Simple préférence personnel.

Si le D vaut E, alors nous avons un décalage de 1 donc regardez la lettre qui est juste devant une lettre du message.
Regardons le mot DSQD qui comprend deux D.

Le D vaut E, le S vaut T, le Q vaut R.
Et nous obtenons alors le mot ETRE.

On se dit chouette, un mot français c'est la combinaison. Il suffit de regarder les autres mots pour voir si ça fonctionne si ça ne fonctionne alors il faudra poursuive le raisonnement et comparez le D avec ESANTIR jusqu'à trouver la bonne lettre.

Évidemment, ici le décalage est de 1.
Le message de Simiche n'est rien d'autre que:
"Voilà qui promet d'être amusant!"

Bien entendu, vous pouvez avoir une autre méthode qui n'utilise pas les statistiques. Vous pouvez jouer sur intuition. Essayer de deviner le mot par les positions des lettres ou en essayant de décrypter les mots de trois lettres.
Il se pourrait que le PTH du message de Simiche soit "EST". Il faut juste vérifier si le décalage est constant dans cette supposition et si oui, étendre ses recherches sur le restant de la phrase. Mais il est inutile de dire que je vous conseille de vous basez sur les statistiques car sinon vous vous arracherez les cheveux par après^^

Simiche09-08 23:55 Votes Edit Del
Hum... Intéressant. Je vois arriver à grand pas une "faille" dans laquelle s'engouffrer pour ennuyer le décrypteur : faire varier le décalage... Comme ça en se basant sur les stats, il sera perdu. :twisted:
Explication 8) : Si je reprends ma phrase et que je m'amuse (je dois avoir un mauvais fond parce que ça m'amuse vraiment :lol:), par exemple, à décaler d'une lettre en arrière les mots impairs et d'une lettre en avant les mots pairs, elle devient :
"Unhkz rvj oqnlds e'dsqd bnvtbou!"
3 N, 3 D,
2 U, 2 V, 2 O, 2 Q, 2 S, 2 B
1 H, 1 K, 1 Z, 1 R, 1 J, 1 L, 1 E, 1 T
Le N (qui est mis pour O ou M) apparaît comme un ESANTIR et le A (qui est codé par Z ou par B) est "camouflé". Brouillage de stats. Niak, niak, niak ! :twisted: .

Balthi09-09 16:48 Votes Edit Del
Je vois que tu comprends mon point de vue Simiche, la cryptographie est réellement un jeu. Et d'ailleurs, tu illustre très bien mes propos:
"vous aurez des possibilités aussi nombreuses que votre imagination de créer un code et de crypter des messages."

Je vous offre une base et libre à vous de le compliquez comme vous le voulez mais il ne faut pas oubliez que si on crypte un message c'est pour protéger une information qu'on communique. Il ne faut donc pas oublier que celui qui le reçoit doit être capable de décoder le message.

Si on construit un message crypté dans le pire des codes que seul un esprit humain peut concevoir, il n'a aucun intérêt si personne ne sait le décrypter car alors le message est perdus et vos efforts ne serviront à rien.

Voilà mes commentaires par rapport au message de Simiche qui avance dans l'art de crypter alors que je ne fournis que des outils^^

Maintenant, on va avancer dans la matière et étudiez un code qui est un peu plus compliqué. Il s'agit de la Substitution.

Ce code se base comme son nom l'indique par une substitution d'une lettre par un autre caractère. A ce niveau, vous pouvez utilisez un langage symbolique. Utilisez un symbole pour une lettre.
Mais on peut très bien, remplacez une lettre par une autre lettre. C'est cette vision que je vais adoptez ici, car utilisez des symboles se trouve être long et ennuyant.

Mais rien ne change dans le concept même du code, ce n'est qu'une substitution d'une lettre par un autre caractère.

Je n'ai pas grand chose à rajouter mis à part le danger de ce code. On le croit sécuritaire mais il n'en est rien, il est presque d'une simplicité enfantine de décoder un code comme celui là.

Je peux toutefois attirer votre attention sur un aspect évolutif des choses. Le décalage de César est un code de substitution mais régulé selon une logique dans l'alphabet. La substitution n'est qu'autre qu'une évolution que le décalage de César^^

Je vous attend pour le prochain cours pour décrypter un code comme celui là illustré par une phrase célèbre^^

Balthi09-16 18:05 Votes Edit Del
"Vpwwzod-ypo ypo-qrqr"

Voilà une phrase que tous ont déjà entendu ou entendront surement. Mais maintenant, qu'elle est elle?

Le principe est le même pour le décalage de César, on peut se baser sur les stats en essayant ESANTIR ou en essayant de deviner les mots avec l'intuition notamment avec les deux mots de trois lettres.

Mais il réside une difficulté, il n'y a aucune logique entre elles, toutes les lettres doivent être trouvées indépendamment des autres. Là réside la difficulté supplémentaire et une logique différente.

Ce code est facilement cassable pour les longs textes, il suffit de repérer les lettres d'ESANTIR et ainsi essayer de trouver par logique les autres mots. En disant comme ça, cela peut paraitre difficile mais il est très facile de trouver des mots dont on connait certaines lettres.

Par contre, ce code est redoutable pour les textes courts puisque les stats ne sont pas pas très évidente. Autrement dit, c'est le cas ici :twisted:
Je vous aie épargné la version originale car ça fausse entièrement les stats et la logique (Et je viens de vous livrer un outil supplémentaire pour coder^^).

Voyons le stats de ce message:
3 P ; 3 O ;
2 R ; 2 Q ; 2 W
1 D ; 1 V ; 1 Z

Je vais utiliser les stats ici mais votre intuition peut être parfois plus efficace, et surtout que je ne peux pas mettre à plat tout mes raisonnements si je suis ma logique^^

Cherchons pour le P dans ESANTIR
Le S, le N, le A et le R sont improbable à cause des mots à trois lettres.
Pour le restant des lettres, les possibilités sont diverses mais improbables vus la phrase. Par exemple, deux LES qui se suivent sont rares, deux ETE est presque impossible et deux LIT sont impossibles.
Vous pouvez cherchez d'autres possibilités mais elles ne seront pas concluantes, pourtant une étape nécessaire pour décrypter face à une phrase inconnue.
dès lors, passons à une autre lettre^^

Pour le O et ESANTIR
les possibilités sont vraiment diverses,
le E est mis de coté car n'est pas courant mot de trois lettres se terminant par E, le S laissent des possibilités, le A presque impossible, le N presque pas, le T autant ne pas en parler^^, le I est possible et le R est à évité.
Regardons le premier mot avec nos possibilités à savoir le S et le I. Si c'est le S, le D serait un E ou un A, les lettres les plus probables mais elle est une lettre unique donc est improbable. Admettons le O comme I.

Quel est le mot le plus courant à trois lettres qui admet un I en troisième lettres?
Mettons, TOI ^^

Pour le premier mot, la dernière lettre ne peut être qu'un S si elle suit un I et que le T est déjà pris par le Y^^
Le son qui vient directement avec cette association de IS est le son AIS.
Voyons les deux WW, les doublets les plus fréquent sont SS, impossible puisque le S est déjà pris, LL, improbable pour ce mot, EE, impossible, NN, tout à fait probable, essayons avec celui là.

Il faut trouver le mot qui fait
_ONNAIS => le P en O est admis par le mot TOI.
Le c'est s'impose.

Maintenant voyant la phrase
CONNAIS TOI TOI _ _ _ _

dont ce dernier mot est composé de deux lettres séparés. Il ne faut pas être devin maintenant pour trouver la phrase:
Connais-toi toi-même"

Voilà, le procédé sur une phrase est longue et fatigante, veuillez comptez au minimum de trois heures d'essai et d'erreur sur un code comme celui là, à moins que vous ayez un texte long ce qui rend la tache plus facile.

Cette leçon se termine là dessus et souvenez vous, ce n'est que le début du cours. Le meilleur est à venir :O

Balthi09-18 18:59 Votes Edit Del
Maintenant, on va entamer un véritable code avec une réel clef. En effet, jusqu'à présent, le message se cryptait ou se décryptait en attaquant le texte brut et directement.

On passe à une étape supplémentaire car dès à présent on va utiliser ce qu'on appelle une clef c'est à dire un mot qui va permettre de crypter et de décrypter le message sans problème.

Je vous propose maintenant: La Matrice de Polybe

C'est un code qui est dite du substitution comme vue précédemment mais est bien plus utile, car il suffit de connaitre la clef pour re-avoir tout le code alors que pour la substitution alphabétique, il faut une véritable table qu'il est assez difficile d'apprendre les 26 lettres avec leur correspond par coeur.

Commençons le cryptage^^

Le principe se base une matrice, un tableau de 5 lignes et 5 colonnes nommé de 1 à 5 ou de A à B. On a dès lors 25 cases à sa disposition. Si vous avez l'esprit un peu fin, vous pourrez directement voir à quoi je veux en venir.

En effet, il suffit de placer chaque lettre dans une case. Problème nous avons 26 lettres, que faire? Ce n'est pas grave, pour ce code, on note le W avec deux V.

Mais maintenant, la question, comment remplir le tableau? C'est très simple, on choisit une clef, un mot et on le transfère dans le tableau dans l'ordre mais on évite de faire répéter les mêmes lettres. Pour les cases restantes, on remplit suivant l'ordre alphabétique.

exemple:
clef: attention

Tableau:
0 1 2 3 4 5
A A T E N I
B O B c'est D F
C j'ai H J K L
D M P Q R S
E U V X Y Z

La méthode pour coder est très simple, il suffit de remplacer la lettre par le couple de chiffre et de lettre. Bien sur, vous pouvez utilisez pour les repérages deux fois des lettres ou deux fois des chiffres mai il ne faudra pas confondre le haut avec la droite^^

On va tenter de coder "Connais-toi toi-meme" avec ce code de clef "Attention"

B3 B1 A4 A4 A1 A5 / A2 B1 A5 / A2 B1 A5 / D4 A3 D4 A3

Bien sur, j'ai codé les espaces avec des / mais c'est encore mieux si vous les supprimez^^

Bon amusement

Balthi12-11 19:31 Votes Edit Del
Pour le décryptage de la matrice de Polybe, cela reste assez similaire à ce que nous avons déjà fait précédemment. En effet, la matrice de Polybe ne fait que remplacer chaque lettre par un couple de caractère.

C'est en vous basant sur les statistiques à savoir ESANTIR que vous pourrez petit à petit percer à jour un tel code.

L'astuce pour le décryptage est d'essayer de recomposer la matrice originel à partir des recherches des lettres. Ce qui permet d'avoir une base de travail et un support visuel qui peut aider certain ^^

Astuces pour ceux qui codes et avertissement pour ceux qui décodent :
Faire attention aux repères, le créateur peut très bien inversé les abscisses et les ordonnées en utilisant les mêmes caractères pour abscisses et ordonnées.

D'ailleurs, le créateur peut avoir quelques idées sournoises pour compliquer la matrice. vous devez être plus intelligent que le créateur (ou le futur décodeur^^)

Étant donné qu'on a déjà à plusieurs reprises décodés les codes de substitution, je vais vous laissez le soin de vous exercez vous même ^^
Notez qu'on va attaquer la prochaine leçon avec un code plus compliqué. Cette leçon se fera prochainement moins longtemps que cette fois ^^

Balthi12-13 11:50 Votes Edit Del
Je vais maintenant vous présentez un code un peu plus perfectionné. Simiche a déjà introduit ce thème par un décalage de César multiple. Il s'agit de La table de Vigenère.

Tout se repose sur le mot clé aussi bien pour le codage que le décodage. Il sera plus facile pour vous à comprendre par un exemple ^^

Tout le monde connait la célèbre phrase de César: "Je suis venu, j'ai vus, j'ai vaincu" (Veni Vedi Vici, pour les latinistes)
Codons là suivons le mot clé : Gaule.

C.G

Pour le codage, faites correspondre chaque lettre de la phrase avec une lettre de la clef. Il faut bien sur répéter la clef pour toute la phrase ^^

JE SUIS VENU J' AI VU J' AI VAINCU
GA ULEG AULE G' AU LE G' AU LEGAUL

Il faut maintenant additionner les lettres de la phrase avec la clef, pour avoir un décalage de César pour toute les lettres. Bien sur, c'est en faisant correspondre chaque lettre par un chiffre dont 1 est A et 26 est Z ainsi qu'en mettant que l'alphabet soit cyclique. Donc que le 28 soit le B.

Astuce: si vous avez un chiffre qui dépasse le 26, par exemple 28, enlevez 26 pour avoir de nouveau un chiffre en dessous de 26 pour faire correspondre une lettre ^^
28-26=2 et 2 correspond à B

Pour le code, ça donne:

QF NGNZ WZZZ Q BD HZ Q BD RFPOXG

J'ai gardé les espaces pour mieux visualiser mais il est évident que les enlever est préférable pour brouiller les pistes en cas d'interception ^^

Je crois que vous commencez à vous rendre compte que ce genre de code est plus élaboré que les précédents donc plus compliqué à décoder sans le code ^^

Pour vous aider à coder ou décoder, Vigenère a créé un tableau qui facilite l'addition des lettres ^^

http://www.latoilescoute.net/echanger/jouer_et_veiller/jouer/table_vigenere/

Voici un exemplaire que vous pouvez recréé chez vous sans trop de difficulté.

Bon amusement^^

Dernière édition de Balthi le 2008-12-15 15:19:45.

Balthi12-16 15:04 Votes Edit Del
Le décodage de ce code est long et compliqué à le faire manuellement. Mais c'est un code facile à briser par l'informatique puisqu'il constitue une succession d'essai et d'erreur.

Le décodage se fait par un raisonnement inverse de la méthode de cryptage. A partir du code, on établit le principe pour décoder. Alors que pour coder, on utilise le principe puis le code. Mais c'est anecdotique ça ^^

Pour le décodage, tout se repose donc sur la clef: D'abord sa longueur puis ses lettres.

Il faut essayer de deviner la longueur de la clef pour cela il faut observer le code. Etant donné que le décalage est périodique, on peut retrouver au travers le message une certaine correspondance: un groupe de deux lettres qui se répètent par exemple voire d'autre détail qui peuvent attirer le regard.

Regardez notre code:

QF NGNZ WZZZ Q BD HZ Q BD RFPOXG

Il est à porter en évidence les Q qui se répètent, le triple Z qui est présent. Le groupe de lettre BD qui est également visible.

On compte ici 5 lettres qui séparent deux lettres ou groupes de lettres semblables. (5 lettres entre les deux Q, 5 lettre entre le B et le D du groupe BD)
Cette répétition nous donne directement la longueur de la clef (C'est bien confirmé étant donné que le code utilisé était GAULE)

On note alors toute les lettres du messages dans un tableau de 5 lignes (car la période du codage).
Pour ainsi avoir toute les lettres qui ont subie le même décalage sur la même ligne.

1. Q Z Q Q P
2. F W B B O
3. N Z D D X
4. G. Z H R G.
5. N Z Z F

On va alors attaquer chaque ligne de manière indépendante aux autres.
Si vous avez un peu d'intuition, vous pouvez retrouver le décalage de chaque ligne sans trop chercher cependant pour les autres, il existe une méthode pour décoder certes un peu longue mais efficace.

Prenez une feuille blanche, plusieurs même :D, et notez la première ligne en haut. Faites tout les décalages de césar possibles, c'est à dire, récitez l'alphabet en colonne à partir de la lettre de départ.

Prenons la première ligne: QZQQP qui on sait a subi un décalage de César, il suffit donc de retrouver ce décalage, il suffit de chercher ^^

QZQQP => RARRQ => SBSSR (ect, notons qu'il est plus intelligent de le faire à l'envers d'enlever une lettre plutôt qu'en ajouter une^^)

Parmi vos 26 lignes de décalage, vous êtes sur et certain que l'une d'elle est correcte. Il suffit de faire parler votre instinct et votre logique et d'éliminer toute les combinaisons qui semblent improbable.
Vous faites ainsi pour toute les lignes et ne restent plus qu'à procéder par comparaison pour en finir par trouver le message ^^
Vous pourrez par la suite, découvrir la clé en calculant les décalages de chaque ligne^^

Remarques:
- Plus le message est long, plus il sera difficile de mettre ma méthode en action cependant, n'oubliez pas les stats. Si le texte est assez long, vous aurez pour chaque ligne beaucoup de lettres, il suffira d'analyser selon les stats pour casser le décalage de chaque ligne ^^

- Pour décoder, il vous faudra beaucoup de temps et de patience. Il faudra compter une dizaine d'heures pour casser un message de ce code.

- N'oubliez pas, votre intelligence et votre intuition sont les plus grandes armes pour le cryptages plus que toute les trucs et astuces que je donne ^^


Nouveau message2017-06-27 07:17   ^ 

Veuillez vous connecter pour poster.