1. Page d'accueil
  2. Les mathématiques et théories abordées
  3. Par discipline
  4. Cryptologie

Cryptographie


Pré requis : Savoir ce qu’est un nombre premier (voir aussi 1#05 - nombres premiers)

Depuis l’antiquité, l’homme a toujours voulu transmettre des messages secrets qui ne puissent être compris que par l’expéditeur et le destinataire. Que ça soit dans le domaine militaire ou amoureux, l’homme n’a jamais manqué d’imagination dans ce domaine. On peut citer César envoyant des messages à Cléopâtre [1] qui est un simple algorithme à substitution ou la machine enigma lors de la 2ème guerre mondiale [2].

Aujourd’hui, nous utilisons couramment des algorithmes de cryptages (SSL sur internet (le « cadenas » des browsers), la signature numérique de la déclaration d’impôts, etc…). Les algorithmes sont nombreux. On peut citer, entre autres : DES, 3DES, RC4, RC5, AES, RSA.

Des 6 algorithmes que je viens de citer, 5 sont des algorithmes symétriques. RSA est un algorithme asymétrique. Quelle est la différence ? Les algorithmes symétriques ont une clé permettant à la fois de crypter et de décrypter le message. Les algorithmes asymétriques ont une clé publique permettant de crypter le message et une clé privée permettant de décrypter le message. Ainsi, avec un algorithme asymétrique, on peut hurler sa clé publique a tout venant, nous serons les seuls à pouvoir décrypter les messages, contrairement aux algorithmes symétriques où la compromission de la clé rend vulnérable tous les messages cryptés avec cette clé. Bien sûr, on aura pris soin de conserver la clé secrète qui permettra de décrypter les messages… secrète !

Génial ! Mais pourquoi n’utilisons nous pas que des algorithmes asymétriques dans ce cas ? Simplement parce qu’ils sont horriblement lents. A titre d’exemple, on estime que RSA est 1000 fois plus lent que DES. Impossible donc d’implémenter de tels algorithmes dans des processus nécessitant un cryptage au vol (VPN, SSL, etc…) ou dans des puces embarquées (cartes bancaires). On utilise alors une astuce : qu’est-ce qui rend vulnérable les algorithmes symétriques ? La clé. Qu’à cela ne tienne. Cryptons une clé aléatoire avec un algorithme asymétrique pour l’échange et utilisons la clé pour le cryptage symétrique du message lui-même ! Ainsi, la clé est protégée et le cryptage/décryptage du message rapide. C’est ce qu’utilisent tous les systèmes aujourd’hui (WEP, WPA, WPA2, SSL, PGP, etc…).

Le jeu actuel des cryptologues est d’imaginer des attaques mathématiques permettant de craquer le cryptage. RC4 est ainsi considéré comme faible aujourd’hui. De nombreuses attaques ont été rendues publiques. Ainsi, par exemple, en Wi-Fi, il est déconseillé d’utiliser le WEP ou le WPA qui sont basé sur RC4, et de préférer WPA2 qui est basé sur AES.

Au passage, si vous avez à choisir un système de cryptage pour vos données, utilisez un système dont l’algorithme a été rendu public. De nombreux éditeurs de logiciels de cryptage ne divulguent pas leur algorithme pour des raisons de « sécurités ». Mais comment peut-on être sûr de la sécurité et de la robustesse de l’algorithme s’il n’a pas été éprouvé par la communauté des mathématiciens ? Il vaut mieux utiliser l’un des algorithmes standard reconnus. Au moins, si des avancées concernant sa sécurité sont faite, vous serez au courant !

Concernant le fonctionnement de l’algorithme RSA, de nombreux articles ont été fait sur le sujet. [3]
Sa sécurité est principalement basée sur le fait que la décomposition en nombre premier est considérée comme difficile (il est de classe NP). En effet, pour qu’une clé puisse décrypter ce qui est crypté par l’autre clé, elles doivent respecter certaines propriétés mathématiques. En particulier, la clé publique est un nombre semi-premier, c'est-à-dire que sa décomposition en facteur premier n’est constituée que de deux nombres premiers. Or à partir de cette décomposition, on peut retrouver la clé privée… C’est dire l’importance de la décomposition en facteurs premiers !

On estime que si la puissance de calcul des ordinateurs continuent de doubler tous les 18 mois (loi de Moore), les clés 2048 bits de RSA seront craquée en… 2079. Cependant, rien de dit qu’on ne trouvera pas une méthode de factorisation d’ici là, notamment à partir de la preuve de l’hypothèse de Riemann ou parce qu’on aura trouvé que P=NP et qu’on en aura déduit une méthode simple de factorisation. A partir de là, il faudra mettre au point de nouveaux algorithmes de cryptage. Pas de panique cependant, ces travaux sont déjà en cours (Cryptage quantique, par exemple) bien que loin de l’application industrielle pour le moment.

Pour les amateurs de récompenses, n’oubliez pas le challenge RSA [4].

Article par BubuLeMag. >> Réagir


[1] http://www.bibmath.net/crypto/substi/decryptcesar.php3
[2] http://www.bibmath.net/crypto/debvingt/enigmaguerre.php3
[3] http://www.bibmath.net/crypto/moderne/rsa.php3
[4] http://fr.wikipedia.org/wiki/Comp%C3%A9tition_de_factorisation_RSA


Rédigé initialement par BubuLeMag.
Dans Cryptologie et Par nom
Dernière modification de la page le 06/08/2008 à 22h28.