Une idée pour améliorer la cryptographie : la part du linguistique
Par Qwerty le Temps de lecture estimé : 5min 3 Commentaires
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.
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