Comment un cryptage RSA 2048 peut-il être brisé?

Meilleure réponse

Dans le champ de cryptanalyse, il y a une énorme différence entre «  crack « et » break « .

Vous craquez un mot de passe au sens le plus simple en essayant de déverrouiller le système avec toutes les itérations possibles de ce mot de passe, une méthode connue sous le nom de craquage par force brute. Si vous connaissez les règles qui régissent la création et lutilisation du mot de passe, vous connaissez également à lavance le coût en temps / effort inhérent à ce chiffrement. Chaque algorithme a une attente pré-connue dans leffort de calcul nécessaire pour le casser.

Un algorithme, comme MD5 ou SHA-1 (exemples réels) est dit être cassé lorsque vous trouvez une sorte de collision qui réduit cet univers attendu (toutes les solutions possibles à la formule utilisée pour créer la clé / le mot de passe).

Pour simplifier, laissez-moi vous guider à travers un exemple réel de WPS (Wi-Fi Protected Setup ). WPS a été créé pour permettre aux utilisateurs de sécuriser plus facilement leur réseau Wi-Fi. Il consistait en un code PIN à huit chiffres qui serait échangé entre lutilisateur demandeur et le routeur sur simple pression dun bouton.

Les créateurs du système connaissaient à lavance lunivers attendu: 8 numéros vous donnent 100000000 possibles combinaisons (10 ^ 8). Cependant, la mise en œuvre du protocole a divisé ce nombre en 2 combinaisons à quatre chiffres qui ont été validées séparément.

Cela signifiait que vous nauriez en fait quà essayer 10 000 (10 ^ 4) + 10 000 (10 ^ 4) combinaisons, dans le pire des cas, pour casser le code PIN. Votre univers de 100 millions de combinaisons est maintenant soudainement tombé à seulement 20 000 combinaisons. Lalgorithme est effectivement cassé . Vous pouvez alors essayer de le casser – comme vous auriez pu le faire sil nétait pas cassé – mais comme il est cassé, vos chances de réussir sont bien meilleures, ne nécessitant au plus que 20 000 tentatives au lieu de 100 millions.

La conclusion à en tirer:

La rupture et la fissuration sont des choses différentes. Un chiffrement cassé ne signifie pas qu’il n’est pas sûr, juste quil est plus facile de craquer maintenant. En fonction de la valeur de ce qui est protégé par celui-ci, être brisé nentraîne pas la mort dun système donné, mais il suffit de comprendre quil est moins sûr maintenant quil ne devait lêtre à lorigine.

RSA-2048 sera cassé si quelquun trouve un moyen de créer des collisions qui réduisent intrinsèquement le nombre attendu de combinaisons pour déchiffrer le chiffrement. RSA 2048 peut être déchiffré tel quel, comme tout autre chiffrement, par force brute.

Réponse

RSA, en lui-même et seulement de lui-même, na que quelques attaques sur le module public (qui est généralement un semi-prime, ou deux grands nombres premiers choisis au hasard s multipliés ensemble). Lalgorithme classique le plus efficace pour résoudre le problème de la factorisation, qui permet de dériver la clé privée en utilisant larithmétique de base, est le General Number Field Sieve (GNFS). Cet algorithme sexécute dans un temps sous-exponentiel et ne peut pas être utilisé sur des systèmes correctement implémentés RSA-2048 bits.

Il existe également Lalgorithme de Shor, mais qui ne peut pas être monté sur RSA-2048 par un attaquant typique. Les fabricants dordinateurs quantiques dirigent un oligopole, notamment dirigé par D-Wave. Non seulement il est extrêmement coûteux den obtenir un, mais cela nécessite également un équipement spécialisé pour les faire fonctionner et les entretenir. Aucune puce na été créée avec suffisamment de persistance des informations et de puissance pour casser plus de quelques bits.

Comme mentionné précédemment, un cryptosystème nest rien sans une implémentation correcte. La plupart des implémentations de RSA utilisent également un algorithme dempreinte digitale à clé publique, généralement un hachage. De plus, trouver la factorisation des nombres premiers est possible avec un exploit à la fois incroyablement rare et statistiquement négligeable en termes de taux de réussite. Comme Euclid la souligné , il y a des nombres premiers infinis, mais non seulement il y a des nombres premiers infinis, il y en a beaucoup dans un certain espace de clés. Si deux modules partagent le même nombre premier, il est facile de trouver leur factorisation. En utilisant le plus grand algorithme de diviseur commun , qui sexécute en temps linéaire (il peut facilement être exécuté sur lappareil sur lequel vous visualisez ceci en quelques millisecondes), le facteur commun peut être trouvé, puis divisé hors des modules pour obtenir les deux autres nombres premiers manquants. Cela conduit à accéder aux deux clés. Toute implémentation correcte de RSA ne réutiliserait jamais les nombres premiers pour des clés séparées, mais les sélectionnerait complètement au hasard. Parce quil existe de nombreux modules possibles dans lespace de clés de 2048 bits, qui peuvent être écrits comme le nombre de nombres premiers longueur 2048 sélectionnez 2 (ou supérieur à 2 si vous travaillez avec des modules non standard), les chances que deux clés partagent même deux nombres premiers sont négligeables . En dautres termes, prendre toutes les clés dun serveur de clés et exécuter lalgorithme GCD sur chacune delles est simplement une perte de temps.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *