Cryptographie!

Le principe de Kerckhoffs

  Longtemps, la sécurité d'un système cryptographique a reposé sur le secret qui entoure ce système. C'est le cas du chiffre de César, du chiffre des templiers, ou même du code ADFVGX encore utilisé par les Allemands durant la Première Guerre Mondiale. Mais cette sécurité est tout à fait illusoire. Un espion peut toujours révéler l'algorithme utilisé, ou si ce n'est pas le cas, une étude approfondie finira par percer le fonctionnement. C'est par exemple ce qu'ont réussi les Polonais en reconstituant les entrailles d'une machine Enigma. Plus récemment, l'algorithme de chiffrement du GSM ou des DVD n'a jamais été officiellement révélé. Mais, reconstitué et analysé, on le trouve en détails sur le web.

  C'est pourquoi un système cryptographique doit dépendre d'un paramètre aisément modifiable : sa clé. Le premier à avoir formalisé ce principe est Auguste Kerckhoffs. Hollandais d'origine, il passa l'essentiel de son temps à Paris où il fut professeur d'allemand à l'école HEC de Paris. Il participa au développement du Volapük, une langue construite inventée en 1879. En dehors de la linguistique, Kerckhoffs était également passionné par la cryptographie, et il publia en 1883 dans le Journal des sciences militaires un article intitulé La cryptographie militaire. Il y énonce six principes fondamentaux.

Il faut bien distinguer entre un système d'écriture chiffrée, imaginé pour un échange momentané de lettres entre quelques personnes isolées, et une méthode de cryptographie destinée à régler pour un temps illimité la correspondance des différents chefs d'armée entre eux. Ceux-ci, en effet, ne peuvent, à leur gré et à un moment donné, modifier leurs conventions; de plus, ils ne doivent jamais garder sur eux aucun objet ou écrit qui soit de nature à éclairer l'ennemi sur le sens des dépêches secrètes qui pourraient tomber entre ses mains.

Un grand nombre de combinaisons ingénieuses peuvent répondre au but qu'on veut atteindre dans le premier cas; dans le second, il faut un système remplissant certaines conditions exceptionnelles, conditions que je résumerai sous les six chefs suivants :

  1. Le système doit être matériellement, sinon mathématiquement, indéchiffrable;
  2. Il faut qu'il n'exige pas le secret, et qu'il puisse sans inconvénient tomber entre les mains de l'ennemi;
  3. La clef doit pouvoir en être communiquée et retenue sans le secours de notes écrites, et être changée ou modifiée au gré des correspondants;
  4. Il faut qu'il soit applicable à la correspondance télégraphique;
  5. Il faut qu'il soit portatif et que son maniement ou son fonctionnement n'exige pas le concours de plusieurs personnes.
  6. Enfin, il est nécessaire, vu les circonstances qui en commandent l'application, que le système soit d'un usage facile, ne demandant ni tension d'esprit, ni la connaissance d'une longue série de règles à observer.
Le second principe formulé ci-dessous est communément appelé le principe de Kerckhoffs.

  Analysons un peu, 120 ans plus tard, ces six principes. Les deux premiers sont encore d'une grande actualité. Par exemple, le dernier système cryptographique à avoir été normalisé, l'AES, est complètement public. Mieux encore, c'est le choix même de l'algorithme qui a été débattu publiquement, afin d'éviter tout risque de faille. Un système propriétaire (dont l'algorithme n'a pas été dévoilé) a toutes les chances d'être beaucoup moins sûr : des pirates avertis sauront le reconstituer, et l'absence d'études publiques à son sujet fait que le risque de failles est très supérieur.

  Par ailleurs, tous les systèmes modernes fonctionnent avec des clés plus ou moins longues qui en assurent la sécurité. En revanche, les clés actuelles sont souvent d'obscures suites de lettres et de chiffres sans signification, et sont donc impossibles à retenir. La 4ème règle peut également être transposée facilement aux communications électroniques. Les deux dernières sont elles tombées en désuétude… il suffit de n'importe quel ordinateur pour chiffrer ou déchiffrer un message!