Nous sommes Charlie

Une idée pour améliorer la cryptographie : la part du linguistique

Par le Temps de lecture estimé : 5min 3 Commentaires

De nos jours, l’augmentation de la puissance des ordinateurs, permettent de déchiffrer rapidement les messages, réduisant à peau de chagrin le temps de comprendre un message. On peut donc, légitimement se poser la question de savoir si la cryptographie est toujours valable de nos jours. Par cryptographie, j’entends un chiffrement mathématique, à l’aide d’algorithmes complexes.
De tout temps, et surtout en temps de guerre, de cacher un message de l’ennemi.
Par exemple, la Résistance, pendant la seconde guerre mondiale, essaye de cacher des messages par des phrases anodines comme « la tante Michèle à mangé chez Yves, elle a aimé la tarte tatin », signifiant le lancement d’une opération.
Ma grand-mère me racontait, que, pendant la guerre, deux personnes dans son village étaient aviateurs. Pour pas que les messages ne soient compris par l’ennemi, par les Japonais, ils parlaient dans leur patois local.
Dans les deux cas, on voit que le message est caché par l’ignorance.
Bien sûr, de nos jours, avec l’analyse sémantique, on risque de déchiffrer ces messages.
Cependant, je pense qu’on pourrait doubler, en plus de la cryptographie traditionnel, joindre nos messages d’allusions connus seulement des deux membres de la communication.
Comme ça, si le chiffrement est « cassé », le message reste incompréhensible. On a donc une double sécurité.
Le seul point faible, c’est qu’il faut que les deux membres de cette communication comprennent et ont le même « bagage » linguistique. Ce bagage doit pas être trop démocratisé, car sinon, en cas de déchiffrement, le message sera compris par ceux qui l’auront intercepté.
Bref, tout un programme.
Ainsi, grâce aux pouvoirs de la langue et des mathématiques, on arrive à une sécurité importante.
Gravatar @Kevin
Très bon article !

Citons également l'utilisation de la langue Navajo par les américains pendant la Seconde Guerre mondiale, afin d'éviter aux allemands de comprendre les ordres transmis ;)

Un bon article sur le sujet, ici : http://www.apprendre-en-ligne.net/crypto/codes/navajo.html

Il est vrai que le jour où la NSA (ou autre organisme) arrivera à décoder tous les messages chiffrés actuels, s'ils tombent sur un message en patois et/ou utilisant des mots substitués, ils auront bien de la peine à comprendre…

Néanmoins, je tiens à apporter une précision. Il existe bien un algorithme de chiffrement mathématique qui est impossible à casser, s'il est implémenté correctement. Le masque jetable, ou chiffre de Vernam.

Un des plus simples à comprendre, aussi. On prend un texte d'une longueur n, on crée un "masque" (une suite de bytes aléatoire, utilisable qu'une seule fois !) de même longueur et on applique un XOR (ou exclusif) entre les deux.

Schématiquement : Message XOR Masque = message chiffré

Pour un attaquant qui ne connaît pas le masque utilisé, il aura beau essayer la force brute, il ne trouvera jamais ! Au contraire des autres algos qui donnent un message inintelligible lorsqu'une mauvaise clé est appliquée, ici les possibilités sont presque infinies ! Si le message de départ est "Salut, comment vas-tu ?", on pourra très bien obtenir "La vache est morte hier", "J'aime manger du choco", etc. Comment différencier le bon ?

Plus dingue encore : cela peut-être un fichier binaire, un son, une vidéo ! N'importe quelle suite de bytes valide. Impossible pour un attaquant de connaître la nature exacte du message.

Wikipédia explique tout, de manière peut-être plus claire que moi : http://fr.wikipedia.org/wiki/Masque_jetable
Gravatar @galex-713
Faut combiner avec de la stéganographie ! Suis-je le seul à voir en l’échange massif de lolcats une opportunité jamais vu de cacher tout le trafic dans les images ? Vu la quantité, c’est peut-être déjà le cas ! xD
Gravatar @Bronco
J'avais une ou deux idées en la matière, mais JérômeJ ne considérait pas ça tellement utile ^^ (je simplifie ;)
Le site fait de la modération a priori : votre commentaire apparaîtra après validation.