La « littérature » sur le cryptage et son historique est intéressante. Il me semble toutefois, d’après ce que j’ai lu, que les auteurs ne distinguent par la question du cryptage « unitaire » de celle du système de cryptage. Elle mérite d’être faite.
Je vais commencer par une illustration.
Actuellement, pour des raisons professionnelles (et un peu par paranoïa) je me préoccupe de protéger (en consultation) mes données bureautiques. C'est-à-dire, que pour une partie d’entre elles, je ne veux pas que qui que soit d’autres puissent les lire.
J’ai utilisé le système interne de word. Mais il m’est apparu qu’il peut être cassé (assez facilement). Cela m’a conduit à chercher autre chose.
Je n’ai pas encore abouti dans cette recherche et là n’est pas mon propos. Ceci n’est qu’une illustration.
Il en ressort que c’est une situation de cryptage locale ou « unitaire ». Il s’agit de communiquer entre « thidgr » à l’instant t et « thidgr » à l’instant t+x.
La recherche de solution amène aussi à une caractéristique de fond : la nécessité d’un « truc secret » (clé de cryptage ou mot de passe). C’est d’ailleurs la présence de ce mot de passe dans les fichiers word qui les rend sans doute « cassables ».
De façon plus générale, un cryptage « unitaire » est le problème de la transmission entre 2 individus (Alice et Bob http://fr.wikipedia.org/wiki/Alice_et_Bob ) et 2 seulement d’un ou plusieurs messages selon la même technique de cryptage. Posé, comme cela, je ne pense pas que la « voie mathématique » qui conduit à toutes les recherches d’algorithmes soit la seule ni la meilleure.
Ceci vient du fait que la question est assez simple. Alice et Bob peuvent se rencontrer une fois et convenir de la technique de cryptage. Chacun des 2 emporte le secret. Si personne ne « trahit » alors on peut imaginer des solutions incassables en pratique.
Mais la situation de cryptage « unitaire » n’est pas le généralement la question. Il s’agit de disposer d’un système de cryptage. C'est-à-dire avec une problématique globale avec beaucoup de participants.
On peut prendre l’exemple d’une organisation militaire. Pour recueillir les informations et transmettre des ordres, une telle organisation a besoin d’un grand nombres d’échanges entre un grand nombre d’individus. En première approche, on peut se dire que l’armée c’est un truc très hiérarchique et qu’il s’agit chaque fois d’échanger entre un chef et un subordonnée. On se retrouve donc dans le cas précédent. Il n’en est rien pour plusieurs raisons.
La première est que même pour l’armée, l’organisation hiérarchique n’est jamais complète. Pour certaines missions, il apparaît des liens transversaux à la hiérarchie.
La deuxième raison est que parfois la communication doit être de un à plusieurs. Et ceci n’est pas la même chose que n communications de un à un (dans le premier cas, tout le monde partage le fait que tout le monde a été informé). Mon expérience me fait affirmer que la distinction est loin d’être anecdotique.
La troisième raison est d’ordre pratique. Il est impensable que chaque paires de personnes en relation de communication « inventent » son système de cryptage. Il est donc nécessaire de pouvoir disposer d’un tout petit nombre de systèmes matériels et logiciels qui sont partagés par les membres de cette organisation. Pour une « communication » donnée, il n’y a qu’une petite partie (une clé) qui est spécifique.
La quatrième raison découle de la troisième. Comme les dispositifs matériels et logiciels sont largement distribués, il est illusoire d’espérer pourvoir garder leur principe de fonctionnement secret. Tout repose donc sur la clef.
La cinquième raison vient du fait de la nécessité de pouvoir disposer d’une « police » dans l’organisation. Il importe qu’une entité tierce autre que les deux acteurs en communication puisse « intervenir ». Il s’agira par exemple d’invalider un des acteurs qui est reconnu avoir « trahit » (d’une manière ou d’une autre). Il s’agira peut être d’écouter pour enquêter. Moins dramatiquement, il s’agira d’attribuer des droits de « communiquer ».
La sixième raison vient du fait que les organisations changent et que les personnes « bougent ». en conséquence, le réseau de communication doit pourvoir évoluer en permanence et les clefs aussi.
Les solutions « bricolées » pour 2 correspondants sont inadaptées au problème dans le cadre du système. En pratique, le matériel est un ordinateur (avec parfois un algorithme en hardware pour des raisons de performances) et le logiciel est basé sur des algorithmes mathématiques. Le problème essentiel est maintenant de gérer les clefs.