Developpez.com

Le Club des Développeurs et IT Pro

RSA-768 factorisé par une équipe de chercheurs

Ce type d'algorithme est-il toujours sécuritaire ?

Le 2010-01-13 10:28:15, par Katleen Erna, Expert éminent sénior
RSA-768 factorisé par une équipe de chercheurs, ce type d'algorithme est-il toujours sécuritaire ?

Une équipe internationale de chercheurs vient de réussir à factoriser le nombre RSA-768, qui est sans aucun doute l’un des algorithmes les plus utilisés au monde pour chiffrer ou signer des données électroniques. Son nom vient des initiales des trois cryptologues, Rivest, Shamir et Adleman, qui l’ont créé dans les années 1970.

Plusieurs pays ont contribué au succès de cette opération, dont la France. Ce résultat témoigne d'une belle avancée technologique et n'aurait aucun impact sur les systèmes utilisant actuellement cette taille de clé.

La factorisation de RSA-768 est :

RSA-768 =
3347807169895689878604416984821269081770479498371376856891
243138898288379 38780022876147116 52531743087737814467999489 * 367460436667995904282446337996279526322791581643430876426760
322838157396665112792 333734171 43396810270092798736308917

Pour plus d'information, veuillez lire le communiqué de presse de l'INRIA qui aborde le sujet en détails :

Quatre ans après le dernier record qui a permis de casser une clé RSA de 663 bits, l’INRIA et ses partenaires démontrent la vulnérabilité d’une clé RSA de 768 bits. En conjuguant différentes capacités de calcul mises à leur disposition pendant 2 ans et demi, ils sont parvenus à casser cette clé de 232 chiffres en retrouvant les facteurs premiers qui la composent. Ce nouveau record est une belle illustration de l’efficacité des systèmes de calcul distribué. Il confirme les recommandations de l’Agence nationale de la sécurité des systèmes d’information (ANSSI) en démontrant la vulnérabilité d’une clé RSA de 768 bits.

L’équipe CACAO (pour Courbes, Algèbre, Calculs, Arithmétique des Ordinateurs) de l’INRIA Nancy - Grand Est (commune à Nancy-Université et au CNRS) et ses partenaires suisses, japonais, hollandais et allemands (EPFL, CWI, NTT, Université de Bonn) ont mis en commun différentes capacités de calcul pour réussir à factoriser une clé RSA de 768 bits. Pour réaliser ce calcul à grande échelle, l’INRIA a recouru à une partie de l’infrastructure Grid’5000 qui relie en France 1544 machines, soit plus de 5000 cœurs. Au total, avec l’intervention des autres partenaires, ce sont l’équivalent de 1700 cœurs utilisés pendant un an, soit 425 PC quadri-cœurs pendant un an, qui ont été mobilisés.

Différentes étapes ont été nécessaires pour mener à bien ce projet dont la première a consisté à collecter plus de 64 milliards de relations (1). Cela a nécessité plusieurs espaces disque (5 Tera-octets, copies de sauvegarde et espace de travail). Pour garantir la bonne exécution du calcul, l’intégrité des données, qui ont circulé d’un bout à l’autre de la planète, a dû être vérifiée en permanence.

Le calcul a démarré il y a 2 ans et demi. L’INRIA, seul intervenant français, a rejoint le projet en 2008 et a contribué à 37% du résultat global (en ressources de calcul). L’équipe a notamment apporté son expertise pour élaborer un protocole d’utilisation des machines et rassembler le nombre nécessaire de relations. Selon Paul Zimmermann, directeur de recherche au sein de l’équipe CACAO « Réaliser un tel calcul en recourant à un outil comme Grid’5000 montre l’efficacité de solutions de calcul distribué ou grilles de calcul. Ces dernières représentent une alternative très sérieuse aux supercalculateurs. En rassemblant des ressources simples, à l’échelle d’un PC, elles sont efficaces à moindre coût.».

Les systèmes cryptographiques garantissent la sécurité des échanges de données sur Internet, ils sont au cœur du commerce électronique. S’assurer de leur fiabilité est dès lors crucial. Casser les codes de protection d’un système de cryptographie conduit à chercher de nouvelles solutions et donne les arguments pour favoriser l’adoption de systèmes plus sécurisés.

Les systèmes à clé publique (les clés pour chiffrer et déchiffrer sont différentes, destinataire et expéditeur du message n’utilisent pas la même clé) permettent d’échanger des informations confidentielles ou de signer électroniquement des documents allant de l’Internet aux cartes à puces. L’algorithme RSA (pour Rivest Shamir Adleman) fait partie de cette famille de systèmes.

Pour casser de telles clés, il faut retrouver les facteurs premiers qui la composent. Une clé RSA-768 qui a été factorisée est un nombre de 232 chiffres d’où le besoin d’utiliser de grandes capacités de calcul pour la factoriser.

D’après la loi de Moore, la puissance des ordinateurs double tous les 18 mois. Il convient donc de s’assurer régulièrement de la solidité des clés mises sur le marché au vu des capacités de calcul sans cesse croissantes des ordinateurs et des progrès algorithmiques.

Le résultat atteint par l’INRIA et ses partenaires prouve de manière catégorique la fragilité d’une clé RSA de 768 bits.
Il confirme les recommandations de l’ANSSI (Agence nationale de la sécurité des systèmes d’information) qui invite à ne pas utiliser de clé de taille inférieure à 2048 bits pour une utilisation au-delà de 2010. Ce résultat lui donne l’argument décisif, pour convaincre les derniers utilisateurs de clés RSA de 768 bits (ou moins) de changer de solution. Tout système de chiffrement basé sur de telles clés sous-dimensionnées, qui serait encore inclus dans les transactions numériques (commerce électronique), les puces de cartes bancaires ou autre système, s’avère en effet dès lors résolument inadapté.


Source : L'annonce officielle de la factorisation (PDF)

Depuis 2004, l’ANSSI recommande d’utiliser des tailles de clés RSA d’au moins 1536 bits. Cette factorisation démontre d'une clé de 768 peut être cassée. Quelles garanties apporte alors une clé de cette taille ? Est-elle toujours fiable ?
  Discussion forum
14 commentaires
  • dams78
    Membre expert
    Le rôle des systèmes de cryptages à trappes est justement d'avoir un tour d'avance par rapport à ce qui est techniquement possible de calculéer La taille de la clé que RSA recommande est suffisante au vu des moyens de calcul qu'on possède aujourd'hui mais demain il faudra augmenter cette taille et ainsi de suite...
  • Grabeuh
    Membre éclairé
    Ce résultat témoigne d'une belle avancée technologique et n'aurait aucun impact sur les systèmes utilisant actuellement cette taille de clé.
    Le résultat atteint par l’INRIA et ses partenaires prouve de manière catégorique la fragilité d’une clé RSA de 768 bits.
    Il confirme les recommandations de l’ANSSI (Agence nationale de la sécurité des systèmes d’information) qui invite à ne pas utiliser de clé de taille inférieure à 2048 bits pour une utilisation au-delà de 2010. Ce résultat lui donne l’argument décisif, pour convaincre les derniers utilisateurs de clés RSA de 768 bits (ou moins) de changer de solution. Tout système de chiffrement basé sur de telles clés sous-dimensionnées, qui serait encore inclus dans les transactions numériques (commerce électronique), les puces de cartes bancaires ou autre système, s’avère en effet dès lors résolument inadapté.
    N'est-ce pas un peu contradictoire ?
  • j'ai eu des cours sur le RSA durant mes études, mais j'aimerais (vu que c'était des cours plutot passionnant et bien présenté), comprendre ce que veut dire la factorisation , si quelqu'un veut prendre 2 scd pour expliquer svp.
  • mabdylon
    Nouveau membre du Club
    De mémoire et je vais peut être dire des bêtises, le nombre a 232 chiffres dont parles l'article est le produit de 2 nombres premier, on n'a donc qu'une solution pour factoriser celui ci : trouver ces 2 nombres premiers.

    D’après la loi de Moore, la puissance des ordinateurs double tous les 18 mois. Il convient donc de s’assurer régulièrement de la solidité des clés mises sur le marché au vu des capacités de calcul sans cesse croissantes des ordinateurs et des progrès algorithmiques.
    Par contre je pensai que la loi de Moore était loin d'avoir été vérifiée ces dernières années, je me trompe ?

    d'ailleurs l'argument n'a pas tellement de sens si on considère que la complexité du RSA n'est pas linéaire, mais exponentiel ?

    Enfin il s'agit de vieux souvenirs de cours, donc je mettrai pas ma main à couper.
  • Marco46
    Expert éminent sénior
    Attention, il s'agit de la factorisation d'une clef RSA et pas de toutes les clefs possibles pour l'algorithme.
  • deadalnix
    Membre émérite
    Envoyé par Marco46
    Attention, il s'agit de la factorisation d'une clef RSA et pas de toutes les clefs possibles pour l'algorithme.
    Oui, mais, comme je l'avais expliqué sur un autre site à ce sujet les chercheur ont aussi produit des données intermédiaires qui peuvent servir à accélérer le cassage d'un prochaine clef.

    Un pirate avec un botnet peut très bien reproduire cela.
  • dams78
    Membre expert
    Envoyé par deadalnix
    Oui, mais, comme je l'avais expliqué sur un autre site à ce sujet les chercheur ont aussi produit des données intermédiaires qui peuvent servir à accélérer le cassage d'un prochaine clef.

    Un pirate avec un botnet peut très bien reproduire cela.
    Les chercheurs n'avait pas de super calculateur en plus?
  • deadalnix
    Membre émérite
    Si bien sur.
  • Uther
    Expert éminent sénior
    Envoyé par Bourgui
    j'ai eu des cours sur le RSA durant mes études, mais j'aimerais (vu que c'était des cours plutot passionnant et bien présenté), comprendre ce que veut dire la factorisation , si quelqu'un veut prendre 2 scd pour expliquer svp.
    La clé publique (qui permet de crypter) est le produit des deux nombres premiers qui constituent la clé privée(qui permet de décrypter).
    Factoriser signifie donc retrouver les deux nombre qui constituent la clé privée a partir de la clé publique.

    Envoyé par mabdylon
    Par contre je pensai que la loi de Moore était loin d'avoir été vérifiée ces dernières années, je me trompe ?
    La loi de Moore reste a peu près vérifié.
    La loi originelle dit que la quantité de transistor sur une même surface double tout les 1,5 ans. Pendant longtemps la fréquence d'horloge, à suivi la même progression. Actuellement, la fréquence d'horloge ne progresse plus autant mais la quantité de transistor n'a pas arrêté d'augmenter.

    Envoyé par mabdylon
    d'ailleurs l'argument n'a pas tellement de sens si on considère que la complexité du RSA n'est pas linéaire, mais exponentiel ?
    Sauf que la progression de la puissance de calcul l'est aussi.
  • robert_trudel
    Membre éprouvé
    puisque rsa-768 a été cassé il est demandé de passé a une dd 2048 bits

    dans les outils, il y a souvent divers algo... lequel utilisé?

    DESX
    BLOWFISH
    RIJNDAEL or AES
    CAST
    3DES
    RC2
    DIAMOND2
    TEA
    SAFER
    3WAY
    GOST
    SHARK
    SQUARE
    SKIPJACK
    TWOFISH
    MARS (developé IBM)
    SERPENT
    RSA