Combien de temps faudrait-il pour rompre un e-mail crypté OpenPGP 1024 bits?

9

Pour WPA, il existe des calculatrices pour déterminer le temps nécessaire pour déchiffrer une phrase secrète, mais je n'ai rien trouvé pour OpenPGP.

Combien de temps faudrait-il pour rompre un e-mail crypté OpenPGP 1024 bits (selon la puissance du processeur)?

Je suis également intéressé par d'autres tailles de clés comme 2048 et 4096.

kelmat
la source

Réponses:

7

Alors que la réponse de @Jens Erat était plutôt complète, j'ai fait des recherches sur la rupture de RSA (l'algorithme derrière OpenPGP), donc je voulais donner mon avis:

Je vais rompre avec la norme et donner d'abord le TL; DR: il vous est impossible de casser cette clé. Si nous regardons cela de manière réaliste, il n'y a aucun moyen pour vous de factoriser un entier de 1024 bits. Votre meilleur pari possible serait d'essayer de briser une autre partie de la chaîne de sécurité (par exemple, le bureau où le destinataire vérifie ses e-mails).

Avec le réalisme à l'écart, examinons les stratégies possibles:

  • Devinette aveugle / Forçage brutal. Avec un demi-temps 1024 bits, il y a peu de chances que cela fonctionne. Il serait préférable d'utiliser votre temps au hasard pour essayer de deviner les numéros de loterie.

  • Génération d'une table arc-en-ciel. Supprimez les conjectures de l'affacturage en prenant chaque nombre premier sous 2 ^ 1024 et en le multipliant par tous les autres nombres premiers, en stockant le résultat dans un tableau. Il vous suffirait alors de rechercher la bonne paire. Comme vous pouvez l'imaginer, cela aussi est impossible. Cela impliquerait x! paires pour x nombre de nombres premiers. Par la fonction de comptage de nombres premiers , vous regardez environ 2,95 * 10 ^ 307 nombres premiers - à titre de comparaison, on estime que le nombre d'atomes dans l'univers observable est de l'ordre de 10 ^ 83, donc même si nous pouvions faire en sorte que chaque atome stocke deux nombres premiers et leur produit d'une manière que notre ordinateur pourrait indexer, ce serait impossible.

  • Utilisez le tamis de champ du numéro général . Le GNFS est votre meilleur pari pour factoriser un grand semi-premier. Il a été utilisé par Kleinjung et son équipe pour factoriser le RSA-768, un semi-amorce de 768 bits. Malheureusement, cela a pris plus de trois ans à son équipe, et ce sont des ordres de grandeur plus petits que les chiffres que vous souhaitez prendre en compte. Même si vous avez dépensé des millions de dollars (par jour) en louant les meilleurs superordinateurs à pleine capacité, il serait presque impossible de prendre en compte le nombre. La première étape de GNFS est de trouver suffisamment de "relations" qui permettent de résoudre les sous-problèmes, ce qui peut prendre très longtemps.

Votre dernier recours consiste à utiliser un ordinateur quantique, ce qui vous permettrait de factoriser les nombres dans un laps de temps possible. Malheureusement, ceux-ci doivent encore être développés à un point de toute utilité. Donc, pour l'instant, nous ne pouvons pas factoriser les demi-premiers 1024 bits et plus (et donc les algorithmes qui en dépendent).

ahjohnston25
la source
20

Tout d'abord, je suppose que vous parlez de chiffrement RSA 1024 bits.

Généralement, le sujet est beaucoup trop compliqué pour fournir un numéro simple.

tl; dr : Cracker un message crypté OpenPGP sur un seul processeur n'est pas possible, et prend probablement des années, même avec de grands clusters informatiques. Pourtant, des failles mathématiques inconnues (du public) pourraient changer cela par ordre de grandeur, comme les ordinateurs quantiques pourraient le faire à un moment donné dans le futur (loin du point de vue de "l'ère d'Internet").

La version légèrement plus longue:

Craquage du chiffrement asymétrique (clé RSA 1024 bits)

En plus des clés RSA 1024 bits, cela s'applique également aux tailles de clé plus grandes. Les clés plus grandes offrent plus de sécurité (sous forme de puissance de calcul pour les casser), mais rappelez-vous que la sécurité n'augmente pas linéairement avec la taille de la clé.

Il y a une bonne publication sur l'échange de piles de sécurité de l'information, "Comment estimer le temps nécessaire pour casser le chiffrement RSA?" , qui ne se termine pas par une estimation telle que "En utilisant un modèle Core i7 xy, vous serez en mesure de casser une clé RSA 1024 bits dans z heures estimées", mais les réponses s'accordent sur "Les clés RSA 1024 bits ne peuvent pas être fissurées par des individus avec la puissance de calcul généralement disponible (c'est-à-dire une poignée de machines haut de gamme) dans un délai raisonnable.

La discussion sur la rupture de clés de 1024 bits avec beaucoup plus de puissance de calcul n'a été envisagée que d'un point de vue académique:

J'ai récemment appris que la sélection des paramètres pour une factorisation des nombres de 1024 bits a commencé (c'est la partie "intelligente"); le tamisage est techniquement réalisable (il sera coûteux et nécessitera des années de calcul sur de nombreux clusters universitaires) mais, pour le moment, personne ne sait comment faire la partie de réduction linéaire pour un entier 1024 bits. Ne vous attendez donc pas à une pause de 1024 bits de si tôt.

Cela vaut probablement aussi pour les grandes institutions bien financées avec beaucoup de puissance de calcul comme la NSA.

Les choses pourraient changer rapidement si

  • quelqu'un trouve une faille mathématique, ce qui réduit la complexité du RSA par ordre de grandeur (certaines institutions comme la NSA emploient un grand nombre de grands mathématiciens), ou
  • Les ordinateurs quantiques fonctionnent enfin et deviennent suffisamment puissants et capables d'exécuter certains algorithmes. Ne devrait pas se produire au cours des prochaines années.

Pour DSA / ElGamal, les choses sont un peu différentes. Une clé DSA de la même taille qu'une clé RSA offre plus de sécurité, mais en même temps, DSA est plus vulnérable aux mauvais nombres aléatoires (comparer avec la faille du générateur de nombres aléatoires Debian ). La cryptographie à courbe elliptique qui est à venir pour OpenPGP en ce moment n'a pas encore d'attaques connues pour les algorithmes pris en charge et généralement considérés comme sûrs, mais il y a un doute, en particulier sur les courbes recommandées par le NIST (le NIST a perdu une certaine réputation pour faire un hasard cassé générateur de nombres en standard), et quelques choix de mise en œuvre.

Cracking the Symmetric Encryption

Pour les rasons de performance, OpenPGP utilise un cryptage hybride, ainsi le message est crypté avec un cryptage symétrique et une clé symétrique aléatoire (dans OpenPGP, souvent appelé "clé de session"). Cette clé de session est à nouveau cryptée à l'aide de l'algorithme de cryptage asymétrique, par exemple. RSA.

Si vous pouvez déchiffrer la clé de chiffrement symétrique d'un message, vous pouvez également lire le message (contrairement au déchiffrement de la clé asymétrique, où vous pouvez lire tous les messages chiffrés avec cette clé).

Contrairement aux versions très anciennes de PGP (qui utilisaient un algorithme de chiffrement symétrique conçu par Zimmermann lui-même appelé BassOmatic , qui est considéré comme cassé), tous les algorithmes symétriques définis pour OpenPGP n'ont pas d'attaques connues pertinentes.

À moins que quelqu'un choisisse de ne pas utiliser de chiffrement symétrique (ce qui est en fait possible!), La rupture d'un message à l'aide de l'algorithme de chiffrement symétrique ne devrait pas être considérée comme faisable pour le moment.

Jens Erat
la source
Je dois demander ... la faute d'orthographe de "asymétrique" est-elle intentionnelle?
David Z
Non, bien sûr que non; ni "copming". Merci de m'avoir prévenu.
Jens Erat du
Il n'y a rien de tel qu'une "clé DES de la même taille qu'une clé RSA". DES utilise des clés de 56 bits, point . Il n'est défini qu'avec des clés 56 bits; vous ne pouvez pas exécuter DES avec une autre taille de clé. Il n'est pas non plus vulnérable aux mauvais nombres aléatoires, car DES n'utilise aucun nombre aléatoire à aucun moment de l'algorithme (ni aucune autre primitive de chiffrement par blocs); des utilisations particulières de celui-ci pourraient inclure un aspect aléatoire (par exemple, un IV pour le mode CBC doit être aléatoire), mais le DES lui-même est entièrement déterministe. Le DES n'est également plus utilisé (le triple DES l'est parfois, mais le DES lui-même jamais). Êtes-vous sûr de vouloir parler du DES?
cpast
Bien sûr , je ne pas envie. La confusion entre DES et DSA n'aurait pas dû se produire. DES, PGP, RSA, NSA, DSA: nous avons besoin de moins de trois acronymes!
Jens Erat
Afaict la plupart des clés openpgp 1024 bits (contrairement aux clés ssl / tls) sont DSA et non RSA. Je trouve beaucoup de discussions en ligne sur le craquage de RSA 1024 bits mais peu sur le craquage de DSA 1024 bits.
plugwash