Guide d'autodéfense numérique

Dans la réalité, la clé publique et la clé privée sont des nombres. Ce qu'une clé permet de chiffrer, l'autre permet de le déchiffrer :

Mais comment est-il possible que la clé publique permette de chiffrer un message sans permettre de le déchiffrer ? La cryptographie asymétrique repose en fait sur des problèmes mathématiques extrêmement difficiles à résoudre. L'algorithme de chiffrement RSA, par exemple, repose sur la « factorisation de nombres entiers ». C'est-à-dire la décomposition d'un nombre entier en nombres premiers.

Étant donné le nombre 12, il est simple de le décomposer en 2 × 2 × 3. De même, 111 est égal à 3 × 37. En revanche, comment décomposer le nombre suivant, composé de 232 chiffres ?

1230186684530117755130494958384962720772853569595334792197322452151726400 5072636575187452021997864693899564749427740638459251925573263034537315482 6850791702612214291346167042921431160222124047927473779408066535141959745 9856902143413

Le résultat est le produit de deux nombres premiers composés chacun de 116 chiffres.

Ce problème de factorisation d'entiers est étudié depuis plus de 2000 ans par des mathématiciens ; pourtant, aucune solution pratique n'a encore été trouvée : la meilleure solution connue est d'essayer avec tous les nombres premiers possibles.

Avec un ordinateur actuel, ce calcul serait beaucoup plus long que la durée d'une vie humaine1. Les nombres les plus difficiles à factoriser sont les produits de deux grands nombres premiers. On choisira donc des nombres suffisamment grands pour que même avec des ordinateurs extrêmement puissants, la factorisation ne puisse pas se faire en un temps réaliste.

Faire confiance à cette méthode revient donc à faire le pari que son adversaire dispose d'une puissance de calcul relativement limitée. La taille des clés, qui se mesure en bits, est d'une importance capitale. En effet, si on considère qu'une clé asymétrique de 2048 bits2 est sûre jusqu'en 20303, une clé de 512 bits se casse en quelques mois avec un ordinateur personnel haut de gamme actuel4. Il faut garder à l'esprit que ce qui est « cassable » par un ordinateur en 10 ans pourrait l'être en 1 an avec 10 ordinateurs identiques au premier.

De plus, si un jour une personne résout ce problème mathématique, il sera possible de déchiffrer sans trop de difficulté les échanges chiffrés qui auront ont été enregistrés – ce type de collecte et de stockage fait partie entre autres des activités de la NSA, agence de renseignement états-unienne5. Beaucoup de secrets militaires et commerciaux seraient alors révélés à ceux qui auront accès à ces enregistrements. En d'autres termes, on peut imaginer une sacrée pagaille entre entreprises concurrentes et agences de renseignements ennemies...

En attendant, les attaques utilisées à l'heure actuelle sur les systèmes de cryptographie asymétrique ciblent la façon de le mettre en œuvre dans tel ou tel logiciel, ou une erreur dans son code source, et non le principe mathématique du système.


  1. La factorisation de ce nombre de 768 bits en 2010 a nécessité 20^10 opérations. Les chercheurs qui l'ont réalisée estiment que le calcul aurait pris environ 2000 ans sur un AMD Opteron à 2.2 GHz, ce qui correspond à plusieurs centaines d'années sur un processeur dernier cri (Thorsten et al., 2010, Factorization of a 768-bit RSA modulus – en anglais).

  2. Un bit est un chiffre binaire (0 ou 1). Pour en savoir plus, voir Wikipédia, 2014, Bit.

  3. Agence nationale de la sécurité des systèmes d’information, 2014, Mécanismes cryptographiques – Règles et recommandations concernant le choix et le dimensionnement des mécanismes cryptographiques.

  4. S. A. Danilov, I. A. Popovyan, 2010, Factorization of RSA-180 (en anglais).

  5. Nicole Perlroth, Jeff Larson et Scott Shane, 2013, N.S.A. Able to Foil Basic Safeguards of Privacy on Web, The New York Times (en anglais).