Le concept de cryptographie à clef publique — autre nom de la cryptographie asymétrique — est généralement attribué à Whitfield Diffie et à Martin Hellman qui l'ont présenté au public à la National Computer Conference en 1976, puis publié quelques mois plus tard dans New Directions in Cryptography. Le concept aurait cependant été découvert indépendamment par d'autres chercheurs à la même époque. Ralph Merkle aurait fait la même découverte à la même époque, même si ses articles ne furent publiés qu'en 1978.
L'humanité n'a pas attendu la naissance de l'informatique pour comprendre la nécessité de chiffrer ses messages.
Il consiste à décaler d'un rang bien déterminé les lettres de l'alphabet.
Si par exemple on décale avec le nombre 3, la lettre A deviendra D, B deviendra E etc.
Quel est le défaut du code césar? Comment décoder un code chiffré?
Pour sécuriser les échanges sur un réseau, il existe deux grandes méthodes de chiffrement : symétrique et asymétrique.
Le chiffrement symétrique utilise une seule et même clé pour coder et décoder les messages. Cette clé doit être gardée secrète et connue uniquement des deux parties qui communiquent.
Le chiffrement asymétrique repose sur une paire de clés : une clé publique (connue de tous) pour chiffrer les messages, et une clé privée (secrète) pour les déchiffrer. Cela permet d’échanger en toute sécurité sans partager de clé secrète à l’avance.
Le chiffrement symétrique est une méthode de sécurisation des communications qui utilise une seule clé secrète.
Cette même clé sert :
L’expéditeur et le destinataire doivent posséder la même clé secrète avant de communiquer. Si une personne non autorisée obtient cette clé, elle peut lire tous les messages.
Alice et Bob se mettent d’accord sur une clé secrète. Alice chiffre son message avec cette clé et l’envoie à Bob. Bob utilise la même clé pour déchiffrer le message.
La clé secrète doit être partagée au préalable. Si elle est interceptée lors de l’échange, la sécurité est compromise.
Le chiffrement asymétrique est une méthode utilisée pour sécuriser les échanges d’informations sur un réseau, comme Internet.
Contrairement au chiffrement classique (dit symétrique), il repose sur l’utilisation de deux clés différentes mais mathématiquement liées :
Alice souhaite recevoir des messages secrets.
Il n’est pas nécessaire de partager un secret à l’avance. La clé publique suffit pour envoyer un message sécurisé.
Le chiffrement asymétrique est plus lent que le chiffrement symétrique. C’est pourquoi, dans la pratique, il est souvent utilisé pour échanger une clé secrète, puis un chiffrement symétrique est utilisé pour la suite de la communication.
Pour une meilleure lisibilité, des espaces sont placées dans les écritures binaires des nombres. Il ne faut pas les prendre en compte dans les calculs.
Pour chiffrer un message, une méthode, dite du masque jetable, consiste à le combiner avec une chaîne de caractères de longueur comparable.
Une implémentation possible utilise l’opérateur XOR (ou exclusif) dont voici la table de vérité :
Dans la suite, les nombres écrits en binaire seront précédés du préfixe 0b.
m correspond à deux caractères codés chacun sur 8 bits : déterminer quels
sont ces caractères. On fournit pour cela la table ci-dessous qui associe à l’écriture hexadécimale
d’un octet le caractère correspondant. Exemple de lecture : le caractère correspondant à l’octet
codé 4A en hexadécimal est la lettre J.
Donner l'écriture binaire du message obtenu.