L'information est un pouvoir. Qu'il s'agisse de secrets nationaux ou des conversations d'un partenaire volage, la divulgation de messages et de missives peut aussi bien changer le cours de nos vies que le sort des nations. D'où les efforts considérables déployés au cours des siècles pour chiffrer les messages et les documents. Mais comment en sommes-nous arrivés aux technologies de chiffrement actuelles, comment fonctionnent-elles et dans quelle mesure sont-elles sûres ?

Premières formes de chiffrement

Pour la plupart des utilisateurs, la première interaction avec la dissimulation du contenu des messages est le code de chiffrement César. Ce code de substitution place deux exemplaires de l'alphabet l'un à côté de l'autre, mais en décalant le deuxième de plusieurs positions. Ainsi, si A prend la valeur E, B devient F, et ainsi de suite. Pour quiconque intercepte le message, celui-ci semble formé d'un langage décousu. Il est possible de rendre un peu plus confus l'aspect du message si les lettres de l'alphabet latin sont remplacées par des lettres ou des symboles cyrilliques ou grecs.

 
Ceaser Cipher - Encryption  article
Le code de chiffrement César remplace les lettres du texte d'origine avec des lettres décalées
d'un certain nombre de positions. Ici, E remplace A, F remplace B, et ainsi de suite.
 
Mx'w e psx sj jyr avmxmrk evxmgpiw jsv Ipioxsv!
Un exemple de chiffrement César que vous pouvez essayer de décoder ici.

Un autre aspect essentiel du chiffrement est la facilité avec laquelle l'expéditeur et le destinataire peuvent préparer et décoder le message. Les deux parties doivent également se mettre d'accord sur le paramétrage de la roue codeuse. Une fois ce paramètre connu, elles peuvent communiquer en toute sécurité, mais aussi avec une relative facilité. 

Percer le code secret

Bien sûr, déchiffrer le contenu d'une telle communication n'est pas particulièrement difficile. Il faut cependant connaître certaines informations avant de tenter de percer ce code. Vous devez tout d'abord déterminer la langue du texte codé. Faute de cette information, il est impossible de savoir quels mots pourraient figurer dans le message. À partir de là, il est possible d'appliquer une analyse des fréquences et des modèles pour percer le code. Par exemple, l'anglais utilise de nombreux mots à trois lettres (the, and, why, how). En outre, certaines combinaisons de lettres apparaissent régulièrement (qu, th, ck, ly, ing). Enfin, certaines lettres apparaissent plus souvent (e, t, a, o, i, etc.) et d'autres moins (x, q, z).

Ainsi, avec un peu de temps, un crayon et du papier, on peut utiliser la recherche de motifs pour déterminer les paires de lettres associées par la chiffrement. Si le texte est suffisamment long, l'analyse de fréquence peut mettre en évidence les candidats probables pour le chiffrement de e, t, a, et d'autres lettres et combinaisons fréquemment utilisées.

 
Freq Analysis - sml. Encryption article
L'histogramme de gauche montre la fréquence des lettres utilisées dans les textes anglais.
L'histogramme de droite illustre l'analyse de la fréquence d'un texte codé à l'aide d'un chiffrement César. Il semble que les lettres du texte ont toutes été décalées de 5 positions vers la droite (de A à F, de B à G).
Il y a un certain nombre de points clés à noter ici. Tout d'abord, la personne qui déchiffre le message n'a pas besoin de savoir comment il a été chiffré. Si elle le sait, le succès sera plus rapide, mais le processus finira par produire à la fois le message et la méthode de chiffrement. Deuxièmement, l'approche ci-dessus ne prévoit pas nécessairement l'utilisation d'un ordinateur. Avec un temps suffisant et une bonne expérience des langues, les chiffrements ont fini par être percés bien avant le développement des machines à calculer mécaniques.

Obscurité n'est pas nécessairement synonyme de sécurité

La leçon fondamentale à retenir ici est que l'obscurcissement de la méthode utilisée pour chiffrer un message ne la rend pas nécessairement plus robuste. Comme on le dit souvent, obscurité n'est pas nécessairement synonyme de sécurité. Et il ne s'agit pas seulement du chiffrement appliqué. La façon dont la mise en œuvre du système utilise le chiffrement peut constituer une faiblesse. Vous pouvez disposer de la meilleure solution de clés et de verrouillage du monde, mais si la porte est en carton et que la pièce est équipée d'une fenêtre en verre, les attaquants disposent de moyens plus simples pour entrer.

La plupart des systèmes de sécurité qui ont été percés au cours des dernières décennies l'ont été parce que des failles ont été découvertes dans leur mise en œuvre, même si celles-ci était tenues secrètes. Parmi d'autres exemples, figurent les clés de voitures KeeLoq pour la commande à distance et le chiffrement GSM.

Dans les années 1970, alors que l'utilisation des ordinateurs se développait, il est apparu clairement qu'ils pouvaient servir à sécuriser les communications de manière plus performante que tout ce qui avait été utilisé auparavant et à un niveau de sécurité bien supérieur. Plutôt que de chiffrer chaque lettre d'un document, celui-ci pouvait être codé en binaire en utilisant les 1 et les 0 des données stockées. Pour cela, il était possible d'inclure les lettres majuscules et minuscules et la ponctuation. Ensuite, les données pourraient être traitées dans n'importe quel format et pas seulement au format 7 bits de l'ASCII. Autre défi, la normalisation. Pour que deux personnes puissent partager un message chiffré, elles doivent utiliser le même algorithme. Avec plusieurs algorithmes, il serait difficile de transférer des données entre les parties.

L'Institut national des normes et de la technologie des États-Unis a entrepris de résoudre ce problème. IBM possédait un produit commercial appelé Lucifer qui offrait un niveau de sécurité suffisamment élevé pour qu'il soit impossible, à l'époque, de le percer avec la puissance de calcul disponible dans un avenir proche. Ce produit est devenu le DES (Data Encryption Standard), qui offre une protection reposant sur une clé de 56 bits. Cependant, les défis ne s'arrêtaient pas là. Bien que l'algorithme soit partagé, les deux parties avaient besoin de la clé utilisée pour chiffrer les données partagées. Le défi suivant était donc de savoir comment partager les clés en toute sécurité.

Résolution de la question de la distribution des clés

Dans son ouvrage, Histoire des codes secrets : De l'Égypte des Pharaons à l'ordinateur quantique, Simon Singh note que « le problème de la distribution des clés a tourmenté les cryptographes tout au long de l'histoire ». Des livrets de codes ont dû être distribués pendant la Deuxième Guerre mondiale pour que les opérateurs Enigma puissent communiquer en toute sécurité. Même avec le DES, le gouvernement américain a dû distribuer des clés à l'aide de bandes de papier et de disquettes aux employés du monde entier pour garantir la sécurité de leurs communications. Le problème de la distribution des clés ne pouvait être résolu et formait un mythe. 

Sauf que, fort heureusement, deux hommes, Whitfield Diffie et Martin Hellman, ne s'intéressaient pas aux mythes. En travaillant ensemble et en réfléchissant à différentes approches du problème, ils ont trouvé une solution possible. Leur idée consistait à envoyer un message secret dans une boîte. L'expéditeur, généralement appelé Alice dans les descriptions des méthodes de chiffrement, place son message dans une boîte et y ajoute un cadenas dont elle est seule à posséder la clé. Elle envoie cette boîte au destinataire, généralement appelé Bob. Bien sûr, Bob ne peut pas ouvrir la boîte car Alice a la clé du cadenas.

C'est là qu'intervient une astuce. Bob place son cadenas, dont lui seul a la clé, sur la boîte. Il rend ensuite la boîte à Alice. Elle retire alors son cadenas, laissant le message en sécurité grâce au cadenas de Bob. Lors d'une dernière étape, la boîte est renvoyée à Bob qui enlève son cadenas et récupère le message d'Alice.
 
Alice Bob Padlock. Encryption article
Diffie et Hellman ont découvert qu'un secret pouvait être partagé entre deux personnes
sans avoir à partager au préalable une clé de chiffrement commune.

Du cadenas aux mathématiques

Le processus prouve qu'un message peut être transmis en toute sécurité d'une partie à l'autre sans partage préalable d'une clé commune. Pour autant, un problème demeure : comment mettre en œuvre cette idée en termes mathématiques ? La solution a été trouvée dans les fonctions à sens unique - des mathématiques faciles à exécuter pour obtenir un résultat, mais difficiles à inverser à partir du résultat pour revenir aux valeurs originales servant au calcul. C'est l'arithmétique modulaire qui est venue à la rescousse. Grâce à cette approche, Alice et Bob pouvaient se partager publiquement des clés, mais eux seuls pouvaient coder et décoder un message envoyé entre eux à l'aide de leurs clés privées. Le défi restait toutefois le partage d'une clé.

Tout a changé suite aux interventions de Rivest, Shamir et Adleman qui travaillaient au laboratoire d'informatique du MIT. Ils ont découvert qu'en utilisant des nombres premiers, il était possible de créer une paire de clés. La clé publique de la paire pouvait être utilisée par les personnes souhaitant chiffrer un message à envoyer, par exemple, à Alice. Mais, en utilisant sa clé privée, seule Alice pouvait décoder le message. Le résultat de leurs travaux a donné naissance à la cryptographie à clé publique RSA.

Quelle est la sécurité offerte par nos algorithmes de chiffrement ?

Aujourd'hui, l'actualité ne manque pas de récits de « piratage ». Pour autant, dans la plupart des cas, l'accès aux données chiffrées est obtenu par un processus d'ingénierie sociale qui sert à voler les mots de passe et les détails d'accès, mais sans détourner la méthode de chiffrement. Et combien de temps nous reste-t-il avant que la technologie de chiffrement actuelle ne soit percée ?

La cryptographie repose sur des techniques qui prennent trop de temps pour être attaquées avec la technologie informatique actuelle. Lorsqu'elle a été développée au milieu des années 1970, la norme DES (Data Encryption Standard) était considérée comme très sûre. Cependant, au milieu des années 1990, le matériel personnalisé « Deep Crack » pouvait généralement déterminer les clés DES en moins de 4 jours et demi. Il utilisait pour cela une combinaison de tests de clés massivement parallèles, associés à des raccourcis qui réduisaient le temps nécessaire pour trouver la clé appliquée.

Aujourd'hui, la norme AES (Advanced Encryption Standard) est l'algorithme utilisé pour le chiffrement. Malgré de nombreuses recherches, il n'a toujours pas été percé. Cependant, l'informatique quantique se profilant à l'horizon, cet algorithme pourrait être également compromis. Grâce aux travaux de Peter Shor, un algorithme de calcul quantique permet de simplifier le calcul des facteurs premiers. La course a donc déjà commencé pour trouver des solutions de cryptographie quantique qui permettront de garantir que nos secrets resteront bien secrets.

Traduction : Pascal Godart