9
votes

Quelle est la raison 3 comme un exposant public RSA

Je crée une application dans laquelle je dois utiliser RSA pour chiffrer certaines choses à l'aide d'une clé publique. Je veux que ce cryptage soit vraiment rapide. Initialement, j'ai essayé une touche de 2048 bits avec F4 (= 65537) comme l'exposant, mais ce n'est pas assez rapide. Donc maintenant que je considère maintenant les 2 options suivantes:

  1. MODULUS DE 2048 BIT, E = 3
  2. MODULUS 1024 BIT, E = 65537

    Tous deux satisfaire mes exigences de performance, mais laquelle offre une meilleure sécurité? Je devrais également noter que j'utilise le schéma de rembourrage n ° 1 PKCS.


0 commentaires

7 Réponses :


0
votes

Si votre exposant est faible et la valeur de M * E

Ceci est de mes notes sur Crypto il y a deux ans. Mais, en réponse à votre question, il semblerait que l'option 2 soit meilleure.

Quelqu'un qui est plus désireux de faire des mathématiques pourrait être capable de vous donner une meilleure explication pourquoi.


0 commentaires

11
votes

Si vous utilisez un rembourrage aléatoire tel que l'OAEP dans le PKCS n ° 1, la plupart (tous?) des faiblesses connues de l'utilisation des exposants faibles ne sont plus pertinents.

Avez-vous également essayé d'utiliser E = 17? Il n'y a aucune règle qui dit que vous devez choisir soit 3 ou 65537.


4 commentaires

Si vous prenez une carte de crédit et soulevez à la puissance, vous ne pourrez pas remplir 2048 bits. 17 ne devrait pas être utilisé non plus.


Vous avez raison. C'est juste que j'utilise OpenSSL pour générer la clé et à partir de 0,9,8, il ne prend pas en charge l'utilisation d'autres exposants.


Gardez également à l'esprit: "Un périphérique matériel théorique nommé Twirl et décrit par Shamir et TROMER en 2003 ont remis en question la sécurité des touches 1024 bits. Il est actuellement recommandé que N soit au moins 2048 bits longs." en.wikipedia.org/wiki/rsa#security_and_practical_considerati ers


Je viens de découvrir que les touches OpenSSH (générées avec SSH-KeyGen) utilisent e = 35 (qui est réellement inhabituelle car 35 n'est pas une prime). Cela signifie qu'un petit exposant n'est probablement pas un tel problème (lorsqu'un bon schéma de rembourrage est utilisé).



3
votes

dans leur livre ' Cryptographie pratique ', Bruce Schneier et Niels Ferguson suggèrent d'utiliser Un exposant public de 3 pour les signatures et 5 pour cryptage. Vous devez vérifier sur les autres critères qu'ils recommandent qui évitent les catastrophes. La section 13.4 couvre ceci (P229FF) et discute de l'exigence non très complexe qui compte tenu N = PQ (où p et q sont des nombres premiers aléatoires), ni (P-1) ni (q-1) ne peuvent être multiples de 3 ou 5 . Mais encore double vérifier le livre pour les détails.

(Je crois qu'il y a un Nouvelle édition de le livre dû en 2010.)


0 commentaires

6
votes

À condition que vous utilisiez un bon schéma de rembourrage, il n'y a pas de raison connue pour laquelle E = 3 devrait avoir une sécurité pire que tout autre exposant public. L'utilisation d'un court exposant présente des problèmes si vous n'utilisez pas non plus un bon système de rembourrage, mais le problème est plus réduit dans le schéma de rembourrage que dans l'exposant.

Le "sentiment d'intestin" de nombreux chercheurs est que e = 3 n'est pas meilleur que tout autre exposant public, et e = 3 pourrait s'avérer légèrement plus faible à une date future non spécifiée, bien que Rien de points à une telle faiblesse en ce moment.

La longueur de la clé a un impact pratique beaucoup plus pratique sur la sécurité. Une clé RSA de 768 bits a été fissurée récemment (ce n'était pas facile! Quatre années de travail avec de grands ordinateurs et des cerveaux plus gros). Une clé de 1024 bits est jugée adéquate pour les utilisations à court terme, mais les utilisations à long terme (par exemple, les données cryptées ont une valeur élevée et doivent encore être confidentielles en année 2030) pour mandater quelque chose de plus grand, par exemple. 2048 bits. Voir Ce site pour de nombreuses informations sur la manière dont la force cryptographique peut être estimée et a été estimée par divers chercheurs et organisations. < / p>

Si vous êtes après un cryptage asymétrique très rapide, vous voudrez peut-être enquêter sur le Rabin-Williams Cryptage Schéma qui est plus rapide que la RSA, tout en offrant au moins le même niveau de sécurité pour la même longueur de sortie (mais il n'existe pas de norme détaillée facile à utiliser pour ce schéma, contrairement à la RSA avec PKCS n ° 1, vous êtes donc un bit vous-même ici).


0 commentaires

4
votes

Bien qu'il n'y ait actuellement aucune attaque connue contre si un rembourrage correct est utilisé, les petits exposants sont plus susceptibles d'aboutir à des exploits en cas d'erreurs de mise en œuvre. Et les erreurs de mise en œuvre sont malheureusement toujours une menace. Par exemple. Ce est une vulnérabilité qui était assez "populaire". (Remarque, ceci est pour les signatures. Je veux juste montrer que même le logiciel commercial peut avoir de graves insectes.)

Si vous devez couper des coins, vous devez envisager les implications potentielles de vos actions. C'est à dire. Choisir un petit module ou un petit exposant à la fois avoir leurs propres inconvénients.

Si vous choisissez un module petit (1024 bits), vous ne pouvez pas supposer que vos données peuvent être gardées confidentielles pendant des décennies.

Si vous choisissez un petit exposant, vous pourriez être plus susceptible d'être des erreurs de mise en œuvre.

Dans le premier cas, vous savez à peu près lorsque vos secrets sont en danger, car il est assez facile de suivre les progrès réalisés dans l'affacturage. (Cela suppose bien sûr que les agences qui ne publient pas par ex. NSA ne sont pas votre ennemi). Dans le second cas (erreurs de mise en œuvre), vous ne savez pas quand vous avez commis une erreur. Vous serez peut-être en sécurité avec E = 3 ou vous auriez peut-être fait une grosse gaffe. C'est à dire. Dans un cas, vous avez un moyen assez bon d'estimer vos risques et, dans l'autre cas, vous n'avez pas.

Par conséquent, je recommanderais de ne pas utiliser e = 3 du tout. J'utiliserais plus de marge de sécurité contre ces menaces difficiles à prédire que ces menaces largement publiées.


0 commentaires


2
votes

Pour citer le document de 1997 de Don Coppersmith "Petites solutions aux équations polynomiales et les vulnérabilités RSA à faible exposant":

Cryptage RSA avec exponent 3 est vulnérable si l'adversaire connaît les deux tiers du message.

Bien que cela ne pose peut-être pas de problème si le schéma de remplissage RSA-OAEP est utilisé, le schéma de remplissage PKCS n ° 1 (qui utilise) est vulnérable si l'exposant public 3 est utilisé.


3 commentaires

"Le schéma de rembourrage n ° 1 du PKCS (qui utilise) est vulnérable si l'exposant public 3 est utilisé". Ce n'est pas le cas, comme les autres répondent ici ont expliqué.


La référence dans ma réponse pointe vers une attaque spécifique. S'il vous plaît montrer où Don (et donc je) le tort. Répéter une fausse déclaration ne le fait pas la vérité.


Assez juste, puisque OP n'a pas précisé s'il cryptrait des clés ou autre chose, il n'y a aucune garantie qu'il recevrait suffisamment de rembourrage aléatoire avec PKCS n ° 1.