Public-Key Cryptography
Les systèmes à clés publiques utilisent deux différentes clés - l'une publique et l'autre privée. Les clés sont mathématiquement reliées, mais il est impossible d'en déduire l'une à partir de l'autre. N'importe qui peut crypter un message à partir d'une clé publique, mais ne pourra pas faire l'opération inverse. Seule la personne ayant la clé privée pourra décrypter le message.
Communications sécurisées utilisant la Public-Key Cryptography
En utilisant le principe de la public-key cryptography, Christal peut communiquer en toute sécurité avec falcon en utilisant le protocole suivant:
En fait, le principe de la crypthographie par clé publique est tellement vorace en temps (pas loin de 1000 fois plus lent qu'un message utilisant un autre principe) que ce système n'est utilisé bien souvent que pour communiquer une symmetric keys qui est alors utilisée pour crypter et décrypter les messages comme ceci:
Les systèmes qui utilisent à la fois des symmetric-key et des public-key de cette manière sont appelés hybrides.
Digital Signatures
Certaine algorithmes à clés publiques, comme RSA, autorisent aussi bien l'utilisation de la clé publique que privée pour le cryptage. Si un message est crypté avec la clé privée de quelqu'un, il peut être uniquement décrypté par la clé publique correspondant. Le principe permet la création de digital signatures:
RSA
RSA est de loin le plus populaire des algorithmes de cryptage par clé publique, aussi bien en cryptage qu'en signature digitale. Il est également le plus facile à décrire et à implémenter. RSA a pris son nom des ses trois inventeurs - Ron Rivest, Adi Shamir et Leonard Adleman.
Dans RSA, une clé publique est basée sur la création de deux grands nombres premiers. Ces deux nombres doivent être gardés secret car ils sont utilisés pour générer la clé privée. La création des deux nombres premiers est appelé modulus. La sécurité de RSA réside dans la difficulté de factoriser de grands nombres.
RSA s'implémente avec un modulus de 512-bit. Le modulus par défaut est de 1024 bits, et le modulus valide peut aller de 384 bits à 16,384 bits par incrémentation de 8 bits.
Chaque année RSA lance un grand concours, pour justifier de tel modulus, alors que la loi US n'autorise que des clés de 56 bits:
"As usual, this year's RSA contest will pay cash to the first person to crack a message encrypted with a Data Encryption Standard (DES) 56-bit key. But unless the 1999 winner beats a 56-hour record set in July, there's no cash prize. The faster the code is broken, the bigger the prize, up to $10,000.
"It's a reminder to developers that are using DES that they need to switch," said Burt Kaliski, chief scientist at RSA Laboratories, RSA's research arm. "It's not something that happened last summer and then goes away. The contest can keep it on the forefront of people's planning."
Man-in-the Middle Attack
Le protocole de communication hybride décrit précedement est vulnérable à une man-in-the-middle attack. Supposons que Pass Partout, un hacker ennemie, non seulement puisse intercepter les messages entre falcon et Christal, mais puisse aussi les modifier, les effacer, les remplacer, ou en inclure de nouveaux...
Pass Partout peut se faire passer pour falcon quand il communique avec Christal, et pour Christal lors d'échanges avec falcon:
Une man-in-the-middle attack fonctionnera parce que Falcon et Christal n'ont aucun moyen de vérifier s'ils communiquent bien l'un avec l'autre!
Un message signé avec le nom d'une personne est sa clé publique est appelé un digital certificate (ou digital ID). Une troisième personne, indépendante et à qui tous font confiance peut devenir le garant de ce certificat, est appelée une Certification Authority (CA).
Algorythme à clés puliques: ElGamal
Voici le début d'un texte de kahel, récupéré dans HCCC6.
"Le chiffrement d'ElGamal est base sur le probleme du logarythme discret. Pour commencer, on decrit ce probleme dans
le corps fini ZZp, ou p est un nombre premier (figure 5.1).
On rappelle que le groupe ZZp* est cyclique, et que ses generateurs sont appelés racines primitives modulo p.
Le probleme du logarythme discret dans ZZp est l'objet de nombreuses etudes. Le probleme est réputé difficile si p
est convenablement choisi/ En fait on ne connait aucun algorythme polynomial pour le résoudre.Pour eviter les attaques connues, p doit avoir au moins 150 chiffres, et p-1 doit avoir au moins un "grand" facteur
premier."...
![]() |