Cybersécurité – Le cryptage

07 septembre 2023

Dans le domaine de l’informatique ainsi que celui de la cybersécurité, le cryptage joue un rôle fondamental. Le cryptage peut se définir comme une suite d’opérations d’un message en un texte codé qui est indéchiffrable pour la personne qui ne possède pas la clé pour lire le message. 

En informatique, on se sert des mathématiques pour créer des algorithmes de chiffrements qui sont puissants et manipulables – à tout le moins pour un ordinateur. Avant de continuer, il faut définir deux types de chiffrements : symétrique et asymétrique. Le premier, indique que la même clé va être utilisée pour coder et décoder le message alors que pour le deuxième, deux clés différentes sont en usage pour le chiffrement et le déchiffrement. 

Tout d’abord, le chiffrement asymétrique recourt aux nombres premiers – des nombres qui se divisent seulement par un et eux-mêmes c.-à-d. 1-3-5, etc. – pour générer des clés. La recette est la suivante : de façon aléatoire, deux nombres premiers sont choisis et sont multipliés ensemble. Le nombre obtenu sert de clé pour générer deux clés : une publique et l’autre privée. 

La clé privée doit rester secrète et cachée tandis que la clé publique est envoyée à tous ceux et celles qui veulent communiquer avec la personne qui détient la clé privée. La clé publique sert à chiffrer un message qui devient un texte codé, illisible pour une tierce partie qui consulte le texte. Celui-ci est déchiffré avec la clé privée. Pour faire une image, la clé privée est ma combinaison de coffre-fort et la clé publique est mon coffre-fort ouvert, j’envoie mon coffre-fort ouvert à un destinataire qui veut communiquer avec moi. Une fois le message à l’intérieur du coffre-fort fermé, personne ne peut consulter le message. En ouvrant le coffre-fort avec ma combinaison, je peux lire le message sans problème.

Ce système de chiffrement asymétrique fonctionne très bien, mais contient quelques désavantages. En premier lieu, il est impératif de garder secrète la clé privée sans quoi les confidentialités des échanges sont compromises. Ensuite, les nombres premiers choisis pour créer la paire de clés doivent vraiment être aléatoires sans pouvoir être facilement devinés, autrement, une tierce partie pourrait recréer la paire de clés. De plus, les nombres nécessaires au cryptage sont gigantesques. En effet, les clés asymétriques qui sont considérées comme sécuritaires ont une longueur de 4096 caractères. Pour donner un ordre de grandeur, ce texte possède environ 3500 caractères. Bref, les nombres sont immenses et cela limite la performance générale d’un système lorsqu’il y a du cryptage, car les opérations de chiffrement et déchiffrement sont plus longues à réaliser. 

C’est là où le chiffrement symétrique entre en jeu. Comme la longueur de la clé est moindre, au moins 256 caractères, et que la même clé est employée pour coder et décoder un message, le système est beaucoup plus rapide. 

Toutefois, il faut être capable de transmettre la clé symétrique au destinataire sans qu’une tierce partie l’intercepte. Donc, la solution utilisée actuellement est de combiner les deux types de chiffrement. Voici un exemple: Alice et Bob veulent communiquer entre eux sans que Charlie puisse lire leurs conversations. 

Alice et Bob génèrent des clés asymétriques chacune de leur côté et s’envoient leurs clés publiques respectives. Par la suite, en se servant des clés publiques, ils se transmettent des informations – codées – pour calculer une clé symétrique. Ces informations vont dépendre du type d’algorithme symétrique de chiffrement sélectionné. Lorqu’Alice et Bob ont terminé leurs calculs, ils possèdent la même clé de chiffrement symétrique et peuvent communiquer sans se soucier que Charlie lise autre chose qu’un texte indéchiffrable. 

Pour terminer, le cryptage tel que décrit est employé dans la plupart des applications informatiques avec lesquelles nous interagissons sur une base quotidienne. La transmission de clé symétrique, la signature numérique et les certificats de sécurité – le symbole de cadenas sur un navigateur web – sont des exemples d’utilisations de chiffrement asymétrique. Lorsque l’on entend qu’un futur ordinateur quantique pourrait déchiffrer les communications sur internet, c’est que ce type d’ordinateur pourrait facilement calculer les deux nombres premiers employés pour générer la paire de clés. 

SIMON BENOIT · CONSULTANT EN CYBERSÉCURITÉ