Existe-t-il une différence entre l'exposant de chiffrement/déchiffrement RSA et l'exposant de signe/vérification RSA?Quels sont les exposants de signe RSA courants?
Répondre
Aucune. La clé publique d'une paire publique/privée RSA se compose d'un exposant et d'un module, que ce soit pour signer ou chiffrer. L'exposant le plus courant est 0x100001. Le Wikipedia article on RSA est plutôt bon.
Voulez-vous dire 0x10001 (65537)? – crazyscot
Il n'y a pas de différence structurelle entre une paire de clés RSA utilisée pour la signature et une autre utilisée pour le déchiffrement de chiffrement. En théorie, vous pouvez utiliser une paire pour les deux, mais cela ouvre la voie à de nouvelles attaques, donc ce n'est pas recommandé.
D'autre part, il existe des différences entre les exposants publics et privés:
L'exposant public peut être relativement faible, ce qui réduit la taille de la clé et accélère le cryptage et la vérification de signature. Comme Charlie Martin l'a dit, 0x10001 = 2^16 + 1 = 65537 est un choix commun. D'autre part, l'exposant privé est dérivé de la clé publique et de la factorisation du module, et habituellement dans l'ordre de taille du module lui-même. Comme il doit rester privé, il ne peut pas être petit (sinon il est facile à deviner), et il doit aussi remplir la relation arithmétique avec l'exposant public, ce qui le rend automatiquement grand.
Cela rend la signature/déchiffrement naïve plus lent que les opérations publiques correspondantes, mais d'autre part, il est possible d'accélérer ce un peu en place en utilisant la décomposition du module et le théorème chinois, à savoir le calcul modulo
p
etq
séparément au lieu de modulom = p·q
et puis en combinant les résultats.
Notez que nous distinguons entre le public (chiffrement/vérification) et des exposants privés (décryptage/signature), pas entre signature/vérification et exposants de chiffrement/déchiffrement.
- 1. Quels sont les usages courants des bitarrays?
- 2. Quels sont les modèles de conception courants dans Cocoa Touch?
- 3. Quels sont les algorithmes courants utilisés pour rand() de C?
- 4. Quels sont les surnoms des caractères spéciaux de programmation courants?
- 5. Quels sont les problèmes CSS les plus courants?
- 6. Quels sont les modèles courants DDD (Domain-Driven Design)?
- 7. Quels types d'application courants sont créés avec Visual C++?
- 8. Problème de fonction de signe RSA
- 9. Quels sont les scénarios de programmation les plus courants rencontrés lors de la programmation d'applications Web?
- 10. Quels sont les types de fichiers viraux les plus courants en circulation?
- 11. Quels sont les noms de méthodes/variables/classes les plus courants que vous utilisez?
- 12. Quels sont les problèmes de performances courants, quel que soit le langage de programmation?
- 13. Quels sont les hacks CSS?
- 14. Quels sont les moyens courants que les citations intelligentes seront incorrectement codées?
- 15. Quels sont les schémas de dénomination "backing field" courants dans .net?
- 16. Quels sont les pièges courants à éviter dans une application jsp en termes de sécurité?
- 17. Comment extraire les exposants et le module de fichiers de clés SSH-RSA
- 18. Quels sont les attributs?
- 19. Quels sont les cadres de Drupal et Joomla?
- 20. vérifier un signe rsa de java en php
- 21. Quels sont les pièges courants (et les choses à tester) lors de la création d'applications sensibles au fuseau horaire?
- 22. Quels sont les plugins les plus courants et les plus utilisés pour Hudson, spécialement pour l'intégration continue d'ASP.NET Web Apps?
- 23. Division PHP avec les exposants
- 24. Quels sont les services .NET?
- 25. Quels sont les types imbriqués?
- 26. Quels sont les problèmes les moins courants liés à l'accès à distance à une instance SQL 2k8?
- 27. Quels sont les déclencheurs d'interaction?
- 28. Quels sont les index nécessaires?
- 29. Quels sont les connecteurs m2e?
- 30. Quels sont les "@", "[", "]" utilisés dans les formules Excel
Qu'entendez-vous par "signer/vérifier"? Si c'est une sorte d'autorisation ou de signature numérique, cela se fait avec le cryptage et le décryptage. Si je chiffre un message avec ma clé privée, et que vous déchiffrez avec ma clé publique, vous savez que le message a été envoyé par quelqu'un avec ma clé privée, vraisemblablement moi. –
bien, oui, mais en signant vous confirmez un morceau de texte chiffré, en cryptage vous créez un nouveau texte chiffré. –