J'étudie pour un test et je ne comprends toujours pas pourquoi les algorithmes à clé publique sont beaucoup plus lents que les algorithmes symétriques.Pourquoi les algorithmes à clé publique sont-ils lents?
Répondre
Public-key cryptography est une forme de asymmetric cryptography, dans laquelle la différence est l'utilisation d'une clé cryptographique supplémentaire.
Symmetric algorithms d'utiliser un «secret partagé» dans lequel deux systèmes utilisent chacun une clé cryptographique unique pour crypter les communications décryptées et.
La cryptographie à clé publique n'utilise pas une seule clé partagée, mais utilise des paires de clés mathématiques: une clé publique et une clé privée. Dans ce système, les communications sont cryptées avec la clé publique et décryptées avec la clé privée. Voici une meilleure explication de Wikipedia:
La technique distinctive utilisée dans la cryptographie à clé publique est l'utilisation de algorithmes clés asymétriques, où la clé utilisée pour chiffrer un message n'est pas la même chose que la clé utilisée pour déchiffrer il. Chaque utilisateur possède une paire de clés cryptographiques , une clé de cryptage publique et une clé de déchiffrement privée. La clé de cryptage disponible au public est largement distribuée, tandis que la clé de décryptage privée est connue uniquement du destinataire . Les messages sont cryptés avec la clé publique du destinataire et ne peuvent être décryptés qu'avec la clé privée correspondante . Les clés sont liées mathématiquement, mais la clé privée ne peut pas être possible (c'est-à-dire dans pratique réelle ou projetée) être dérivé de la clé publique. La découverte des algorithmes qui pourraient produire des paires de clés publiques/privées a révolutionné la pratique de cryptographie commençant au milieu 1970s.
Le temps de calcul est alors tout à fait évidente: la clé publique est disponible à tout système, il est exposé à (un système à clé publique sur Internet, par exemple expose la clé publique à l'internet toute ).Pour compenser, les clés publiques et privées devront être assez grandes pour assurer un niveau de cryptage plus fort. Le résultat, cependant, est un niveau de cryptage beaucoup plus fort, car la clé de déchiffrement privée (jusqu'à présent) ne peut pas être réorientée à partir de la clé de cryptage publique.
Il y a plus qui peut affecter la "vitesse" d'un public-key infrastructure (PKI). Comme l'un des problèmes avec ce système est l'approbation, la plupart des implémentations impliquent un certificate authority (CA), qui sont des entités approuvées pour déléguer des paires de clés et valider l'identité des clés. Donc, pour résumer: des tailles de clés cryptographiques plus grandes, deux clés cryptographiques au lieu d'une, et avec l'introduction d'une autorité de certification: des recherches DNS supplémentaires, et des temps de réponse du serveur. C'est à cause de cette surcharge supplémentaire que la plupart des implémentations bénéficient d'un hybrid algorithm, où les clés publiques et privées sont utilisées pour générer une clé de session (un peu comme un secret partagé dans des algorithmes symétriques) pour obtenir le meilleur des deux mondes.
Excellente réponse qui résume bien les différents composants impliqués dans la crypto asymétrique, et les raisons pour lesquelles elle devient plus lente. –
Les méthodes de cryptage et de chiffrement sont un sujet très complexe et complexe que seuls les cerveaux les plus intelligents du monde peuvent parfaitement comprendre, mais il existe des vues de haut niveau que la plupart des gens peuvent comprendre.
La principale différence est que les algorithmes symétriques nécessitent une clé beaucoup plus petite que les méthodes asymétriques (PKI). Parce que les algorithmes symétriques fonctionnent sur un "secret partagé" (tel que abcd1234
) qui est transféré dans une méthode de communication de confiance (par exemple, je vais vous appeler au téléphone et vous demander le secret partagé) alors ils ne le font pas doivent être aussi longtemps qu'ils s'appuient sur d'autres méthodes de sécurité (ie je te fais confiance de ne le dire à personne). L'infrastructure PK implique l'envoi de cette "clé" sur Internet, sur un espace non sécurisé, et implique l'utilisation d'énormes nombres premiers et de clés massives (1024 bits ou 2048 bits plutôt que 128 ou 256 bits par exemple). En règle générale, les méthodes PKI sont environ 1000 fois plus lentes qu'une clé symétrique.
=) ah le keysize est l'un des problèmes :) –
Les algorithmes à clé publique reposent sur des calculs de type "trappe", dont le chiffrement est coûteux en ressources de calcul et les calculs impossibles à déchiffrer avec la clé secrète. Si la première étape est trop facile (ce qui est en corrélation avec la vitesse), la deuxième étape devient moins difficile (plus fragile). Par conséquent, les algorithmes à clé publique ont tendance à nécessiter beaucoup de ressources.
Les algorithmes de clé privée ont déjà le secret pendant la phase de cryptage, donc ils n'ont pas à faire autant de travail qu'un algorithme avec un secret public. Ce qui précède est une sur-généralisation, mais devrait vous donner une idée des raisons qui expliquent les différences de vitesse relatives. Cela étant dit, un algorithme de clé privée peut être lent et un algorithme de clé publique peut avoir une implémentation efficace. Le diable est dans les détails :-)
Les gars sur stackoverflow.com ou programmers.stackexchange.com seront en mesure d'y répondre mieux. – Iain
Ou peut-être infosec se: http://security.stackexchange.com/ – DanFromGermany