Nous avons tous droit à une confidentialité… Que ce soit au niveau personnel ou professionnel, il est tout de même rassurant de savoir que n’importe qui ne pourra accéder à certains documents que nous avons créés ou partagés. Et la science qui assure cette protection est la cryptographie.
Les origines de la cryptographie
La cryptographie consiste à coder de façon mathématique un texte afin de le faire passer d’une forme lisible à une forme non intelligible – à savoir un texte que l’on dit « chiffré ».
Les techniques de cryptographie sont loin d’être nouvelles. Elles puisent leurs origines dans l’échange d’informations sensibles entre personnalités militaires et politiques ou encore dans le commerce. Dès le 1er siècle avant J.-C., Jules César tâchait de rendre ses messages indéchiffrables en décalant chacune des lettres de trois positions dans l’alphabet.
Si chaque époque a vu se raffiner les méthodes de cryptographie, une étape majeure a été franchie en 1943 lorsque, sous l’impulsion du mathématicien Alan Turing, un ordinateur développé à Bletchley Park sous l’impulsion du gouvernement britannique, a été affecté à cette tâche. Grâce à leur puissance de calcul, les ordinateurs sont en mesure d’opérer un brouillage d’une complexité inouïe.
D’abord réservés au domaine militaire, les outils de cryptographie sont devenus une condition sine qua non pour le commerce électronique et bien d’autres activités liées à Internet. Ils sont utilisés dans le protocole HTTPS qui sécurise les sites Web, les transactions financières impliquant des monnaies comme le bitcoin, les communications vocales, etc.
Les principes du chiffrement
Un algorithme de chiffrement convertit un message en clair en un texte chiffré (brouillé). Il repose sur des mathématiques avancées et l’usage d’une ou plusieurs clés (l’équivalent de signatures numériques secrètes, soit des très longues suites de nombres premiers).
Lors du chiffrement d’un contenu particulier, la clé sert à transformer les données selon un algorithme spécifique en vue de dissimuler un certain contenu aux curieux. Plus le nombre de bits de la clé de chiffrement est élevé et plus le message sera difficile à déchiffrer.
Une fois le message reçu, il est déchiffré par le destinataire et reconverti en une forme lisible. Dans les deux cas – l’envoi comme la réception – le chiffrement et le déchiffrement sont donc effectués au moyen de « clés » secrètes.
Toutefois, plusieurs types d’approches sont mises à contribution et principalement les modes symétriques et asymétriques.
Chiffrement symétrique
Le chiffrement symétrique entraîne le chiffrement et le déchiffrement d’un contenu avec une seule et même clé secrète, connue des seuls intéressés. L’un des chiffrements les plus populaires en la matière, notamment dans le monde industriel, est la norme AES qui prend en charge des clés de 128, 192 ou 256 bits. Elle est souvent combinée avec le Galois/Counter Mode (GCM) et de ce fait, connue sous le nom de AES-GCM. Bien que sa sécurité soit attestée, le seul souci est que ce type de chiffrement requiert que toutes les personnes concernées par un message ou un document particulier aient accès à la même clé partagée.
Chiffrement asymétrique, clés privées et publiques
Le chiffrement asymétrique est plus sophistiqué. Dans ce contexte, il est nécessaire en premier lieu pour chaque destinataire de disposer d’une clé privée qui lui est propre, soit une suite de chiffres ultra complexe, et qui doit demeurer à tout prix secrète. Ce schéma de chiffrement utilise une deuxième clé – la clé publique – pour chiffrer les données, cette clé étant mathématiquement dérivée de la clé privée.
La clé publique sert à chiffrer le message mais aussi à identifier son auteur. La signature ainsi générée est attachée au document et adressée au destinataire lui-même identifié par une autre clé publique. Toutefois, ledit destinataire devra utiliser sa clé privée pour déchiffrer le message. Celui qui chercherait à décrypter le message ne pourrait pas le faire car il n’a pas connaissance de cette clé privée. Le chiffrement asymétrique évite donc aux deux personnes impliquées d’avoir à partager une même clé secrète.
Résumons-nous
Avec le chiffrement asymétrique, chaque utilisateur dispose de deux clés :
- Une clé privée, qui doit être gardée secrète.
- Une clé publique déduite de la clé privée et qui peut être visible de tous.
- La clé publique est mathématiquement déduite de la clé privée. Toutefois, le chemin inverse est virtuellement impossible. En d’autres termes, retrouver la clé privée à partir de la clé publique nécessiterait des tests d’une durée incommensurable.
Un algorithme couramment mis à contribution est la fonction Rivest-Shamir-Adleman (RSA) avec le schéma de signature probabiliste (RSA-PSS) et l’algorithme de signature électronique (DSA).
La cryptographie post-quantique
Aussi longtemps que la clé privée d’une personne n’est pas divulguée, le chiffrement des données et des messages est inviolable. Et jusqu’à présent, ce mécanisme a plus que largement fait ses preuves.
Une question demeure : les ordinateurs quantiques semblent appelés à résoudre des problèmes mathématiques insolubles par les ordinateurs classiques et ils pourraient donc à terme, déchiffrer les documents codés avec des algorithmes asymétriques tels que RSA. Cela signifie donc qu’il faudra alors, tôt ou tard, élaborer de nouveaux algorithmes de chiffrement bien plus avancés que ceux que nous utilisons aujourd’hui…