Question

En utilisation standard du système cryptographique asymétrique, le chiffrement est fait avec la clé publique, le déchiffrement avec la clé privée.

inversing le processus "le cryptage avec la clé privée" est appelée "signature".

outils standard, en dépit de la terminologie et le manque d'outils directs, permet de mettre en œuvre le système de cryptage qui utiliserait la clé privée pour le chiffrement.

Quelqu'un pourrait-il expliquer clairement pourquoi cette solution est vulnérable?

Cas utilisateur:

Considérez que Alice veut envoyer à Bob quelques trucs d'une manière non traditionnelle:

Alice et Bob a rencontré une fois et Alice a donné Bob une « clé publique » générée à partir d'une clé privée, elle a créé mais elle a averti Bob de garder le secret. Et elle a gardé secrète la clé privée, et ne donne jamais à quelqu'un d'autre la clé publique.

pourrait Bob être sûr que les messages qu'il reçoit d'Alice (à condition que ceux sont chiffrés par la clé privée Alice) ne sont lisibles que par lui (à condition qu'il vraiment gardé sa copie secrète clé publique d'Alice)?

Et comment se compare cette solidité de chiffrement à la manière traditionnelle, qui, dans notre cas, être Bob l'envoi de messages cryptés (par la clé publique d'Alice) à Alice?

Qu'est-ce que la question est sur

Le fait que les clés asymétriques sont nommées ne contribue pas à comprendre ma question « privé » et « public ». Les clés ont des propriétés sous-jacentes, et il me diffuser la propriété « clé publique » qui lui donne son « public ». S'il vous plaît faire cette distinction claire avant de répondre: Je ne suis pas compte tenu des propriétés « publiques » et « privées » de ces clés, mais la solidité du chiffrement « clé privée » contre le chiffrement « clé publique »

.

Je ne peux pas utiliser une autre terminologie même si elle est trompeuse dans ce cas particulier.

Je sais que ce cas est non traditionnelle, et pourrait conduire à plusieurs incohérences, ou non point des systèmes crypto asymétriques comme Bob et Alice partagent ici une sorte de secret commun et ce n'est pas le point de Crypto asymétrique .

J'ai vu plusieurs réponses Stackoverflow qui suggèrent que « clé privée » et « clé publique » sont échangeables (juste lire ci-dessous des réponses). Cela ne vaut pas pour RSA car il est trivial de générer la clé publique de la clé secrète, ce qui est garanti de ne pas être possible dans le calcul inverse. Pour les non fidèles, le processus de génération de clé en openssl avec RSA est le suivant:

  1. générer une clé secrète
  2. extraire la clé publique de la clé secrète.

S'il y a tellement de grandes différences entre « clé privée » et « clé publique », est-il une différence de solidité entre le chiffrement « clé privée » contre le chiffrement « clé publique » traditionnelle?

Réponse courte de réponse à long sélectionnée

Incompréhension sur ce qui est la « clé privée » ne me aidait pas exactement. Il y a deux définition différente de la « clé privée ». La « clé privée pratique », et la « clé privée théorique ».

théorique clé privée d'actions théorie RSA symmetricity mathématique avec la clé publique:

      
  • Vous ne pouvez pas déduire un de l'autre
  •   
  • Le cryptage est également solide dans les deux cas

clé privée pratique à partir d'outils RSA (comme OpenSSL) contient des informations supplémentaires pour des raisons d'efficacité, et souvent, une partie de la clé publique est même fixé par convention. Ces hypothèses transgresse la symmetricity:

      
  • Il est trivial d'obtenir la clé publique de « clé privée pratical »
  •   
  • Mais le cryptage reste tout aussi solide

Pour plus de détails, voir la réponse sélectionnée! S'il vous plaît commenter si les idées fausses reste ...

Note d'édition:

      
  • système de chiffrement asymétrique des paires de clés sont souvent annoncés comme swappable (même dans les réponses stackoverflow actuelles), je tente d'apporter une réflexion sur le fait qu'il pourrait être malentendu dangereux car il est pas le cas dans les outils de la vie réelle.
  •   
  • Ajout le cas de l'utilisateur, j'espère que cela clarifier ma question
  •   
  • Ajout finale 'réponse courte'
Était-ce utile?

La solution

  

En utilisation standard du système cryptographique asymétrique, le chiffrement est fait avec la clé publique, le déchiffrement avec la clé privée.

Cela dépend de qui fait quoi. Supposons Alice veut envoyer un message à Bob que seul Bob peut décoder. Alice encrypte le message en utilisant la clé publique de Bob (sous la définition standard de la « clé publique », ce qui signifie celui qui est connu pour d'autres personnes que son propriétaire). Maintenant que quelqu'un qui connaît la clé privée de Bob (probablement, la seule personne qui connaît la clé privée de Bob est en fait Bob) peut déchiffrer le message d'Alice à Bob.

Si Alice veut Bob sache que seulement elle aurait pu envoyer, elle peut chiffrer le message avec sa propre clé privée, en supposant Bob connaît sa clé publique, que ce soit avant ou après le chiffrement du message avec la clé publique de Bob. Supposons qu'elle le message avec encrypte sa clé privée, alors le résultat avec la clé publique de Bob. Pour lire le message, Bob doit déchiffrer le message avec son (Bob) clé privée, puis décrypter à nouveau le résultat avec la clé publique d'Alice. Si ce qu'il lit est un texte maintenant sensible, il sait que quelqu'un qui connaît à la fois la clé privée d'Alice (probablement Alice) et sa clé publique (pourrait être tout le monde à tous) envoyé le message.

Dans la pratique, les algorithmes asymétriques sont coûteux à calculer, donc ce que vous faites vraiment est de choisir une clé de session aléatoire d'une longueur appropriée et un accord sur l'algorithme de chiffrement symétrique standard tel que AES. Ensuite, le message principal est chiffré avec l'algorithme (relativement rapide) symétrique et envoyé comme une partie du message. L'autre partie du message est crypté - clé de session aléatoire - ou doublement cryptée. Bob peut déchiffrer la section clé de session du message pour obtenir la clé de session; il utilise alors que pour déchiffrer la partie principale du message.

Notez que si vous envoyez un message à beaucoup de gens, vous pouvez utiliser un cryptage du message approprié, puis chiffrer la clé de session une fois pour chaque destinataire, en utilisant la clé publique du destinataire. Chaque destinataire ne peut décrypter la séance d'information clé à l'aide de la touche qui leur appartient, mais tout peut effectivement le déchiffrer. Si le message est important (disons 2 Mo de PDF), puis ce qui est beaucoup plus économique que le cryptage séparément le message à chaque destinataires clé publique.

  

inversing le processus "le cryptage avec la clé privée" est appelée "signature".

Non; signature est une opération séparée. Si vous lisez « Cryptographie pratique » de Schneier, vous verrez que les auteurs suggèrent d'utiliser un clé publique / privée paire pour le chiffrement, et une seconde paire pour les travaux de signature. Par exemple, une signature encrypte un hachage de longueur fixe du message original en utilisant la clé privée de la clé de signature. Toute personne qui connaît la partie clé publique de la clé de signature peut alors déchiffrer la signature pour obtenir le hachage du message d'origine. On peut supposer que le même destinataire peut également déchiffrer le message (en utilisant la clé publique de la paire de clés de signature), et peut alors vérifier que le hachage du message reçu correspond au hachage dérivé de la signature. Toute discordance indique un problème et le message doit être mis au rebut.

Il y a plusieurs façons de faire ces choses - selon les exigences de sécurité

.

Mais le point fondamental est qu'une personne connaît la clé privée d'une clé asymétrique, et potentiellement beaucoup de gens connaissent la partie publique de la clé asymétrique (ce qui est tout à fait sûr). Les données peuvent être chiffrées par l'expéditeur en utilisant les destinataires de clé publique; il peut également être chiffré par l'expéditeur en utilisant leur propre clé privée. Le destinataire peut déchiffrer le message reçu en utilisant leur propre clé privée et, au besoin, en utilisant la clé publique de l'expéditeur.


La question, même modifiée à environ 2009-09-05T13: 00-07: 00, est pas tout à fait cohérente, IMNSHO.

Vous devriez lire le chapitre 13 « RSA » dans « Cryptographie pratique » (probablement après avoir lu certains des chapitres précédents aussi - notamment la section 3.3 de chiffrement à clé publique).

Notation pour le chiffrement et le déchiffrement

Définissons un peu de notation pour discuter la cryptographie à clé publique orthodoxe. Commençons par le chiffrement symétrique de base:

  • C = E (k, m) est le message crypté (texte chiffré, C) générés par l'algorithme de chiffrement E à l'aide du clavier K sur (texte en clair) message m.
  • P = D (K, C) est le message texte (texte brut, P) découvert par le déchiffrement algorith D en utilisant la clé K sur (crypté) un message c.
  • Pour un système de travail, m = P, si D (K, E (k, m)) = m.

Jusqu'à présent, cette notation applique à chiffrement symétrique, car la même valeur K est utilisée dans le chiffrement et le déchiffrement. Quiconque connaît K (et l'algorithme, mais le principe de Kerckhoff que « le secret est dans les clés » signifie que vous assumez les attaquants connaissent l'algorithme - toute hypothèse contraire est « huile de serpent » cryptographique). Peut déchiffrer le message

Avec un système de chiffrement asymétrique, E a et D a sont les méthodes de cryptage et de décryptage pour l'algorithme A. La principale caractéristique distinctive d'un chiffrement cryptographique asymétrique est que la clé K encrypt utilisée par E a est différente de la clé K decrypt utilisée par D a . De plus, pour être pratique, il doit être infaisable pour en déduire K Décrypter même si vous connaissez K Chiffrer et vice versa.

Avec le cryptage asymétrique, Alice crée une paire de clés (S Alice , P Alice ). Classiquement, S alice est la clé secrète et P alice est la clé publique. Notez que Alice connaît les deux touches. Tout ce qui importe est:

  1. S Alice et P Alice sont différentes.
  2. Alice ne laisse personne sait d'autre sur l'une des touches (S alice ); il est essentiel que cette information ne sait pas à quelqu'un d'autre.
  3. Alice peut laisser d'autres personnes connaissent l'autre touche (P alice ) sans compromettre la sécurité du système.

De même, Bob va créer une paire de clés (S bob , P bob ). Notez que:

  • Bob connaît les clés S bob , P bob et P alice .
  • Alice connaît les clés S alice , P alice et P bob .

Alice envoie un message à Bob

Maintenant, quand Alice veut envoyer un message, M alice-bob , à Bob pour que Bob puisse le lire (mais personne ne peut d'autre), elle doit chiffrer avec la clé de Bob P bob . Ainsi, elle crée un message:

  • C Alice-bob = E a (P bob , M Alice-bob )

Bob sait (à partir de preuves externes) que le message a été chiffré avec P bob , alors il sait qu'il doit déchiffrer avec S bob :

  • M Alice-bob = D a (S bob , C Alice-bob )

Cependant, à ce stade, tout ce qu'il sait sur le message est qu'il venait de quelqu'un qui connaissait son P bob clé. Il ne sait pas qu'il est venu d'Alice, sauf par la preuve extrinsèque.

Si Bob et Alice conviennent que leurs messages doivent être chiffrés tels qu'ils sont tous deux convaincus que le message reçu est venu de l'autre, les deux doivent avoir l'assurance que personne ne autre que Alice connaît S alice et que personne ne sait autre que Bob S bob . Ils doivent également avoir l'assurance que P alice est connu Bob et Bob doit avoir l'assurance que P alice vraiment n'appartient à Alice, et que P bob est connu pour Alice et Alice doit avoir l'assurance que P bob vraiment n'appartient à Bob. L'établissement de ces relations de confiance est beaucoup de ce que l'ICP (infrastructure à clé publique) est sur le point.

En supposant que ces critères sont remplis, alors Alice peut envoyer son message à Bob de telle sorte que Bob est convaincu que seule Alice aurait pu l'envoyer. Comme il est indiqué plus haut, le mécanisme est un double cryptage:

  • C1 Alice-bob = E a (S Alice , M Alice-bob )
  • C2 Alice-bob = E a (P bob , C1 Alice-bob )

Alice envoie C2 alice-bob à Bob (avec une signature ou MAC pour confirmer qu'il n'a pas été corrompu en transit), puis Bob calcule:

  • D1 Alice-bob = D a (S bob , C2 Alice-bob )
  • D2 Alice-bob = D a (P Alice , D1 Alice-bob )

Si tout est passé selon le plan, D2 alice-bob = M alice-bob .

Mécanique des paires de clés RSA

L'algorithme de chiffrement RSA est basée sur le fait que si vous avez deux numéros connus du public (qui sont deux parties d'une clé publique), l'exposant e et le module n , puis donné un message m , il est facile de calculer c = m e mod n . Cependant, il est infaisable pour en déduire m c (et e et n ). Cependant, si vous connaissez un autre exposant, d , alors vous pouvez par magie calculer r = c d mod n et r = m si vous avez calculé e , d et n de façon appropriée. Il est impossible de calculer d de e et n sans connaître d'autres informations.

Dans le cadre du système de cryptage RSA, vous commencez à travailler avec deux (grands) nombres premiers déterminés au hasard, p et q , et leur produit est n . L'algorithme RSA repose sur le fait qu'il est extrêmement difficile de facteur n (déterminer p et q donné que n ); si quelqu'un trouve jamais un moyen facile d'affacturage grand nombre, alors l'algorithme RSA est immédiatement rompue.

Une fois que vous avez n , vous devez déterminer les exposants e et d tel que:

  • ed = 1 mod t t = PPCM (p-1, q-1), et LCM est le plus petit commun multiple .

Vous pouvez choisir l'une des deux valeurs comme un petit nombre impair - Schneier et Ferguson suggèrent e = 3 par exemple. Calculez ensuite d à l'aide des calculs qu'ils couvrent dans environ 6 pages de leur livre. En règle générale, d un assez grand nombre. Vous pouvez ensuite publier la paire ( e , n ) comme composite clé publique, en gardant les valeurs ( p , q , t , d ) secret de la clé privée. Compte tenu de e et n , il est possible d'en déduire informatiquement d sans avoir d'abord l'affacturage n . "Cryptographie pratique" suggère d'utiliser deux paires différentes ( e 1 , d 1 ) et ( e 2 , d 2 ), dérivé de la même valeur n , où vous utilisez e 1 pour chiffrer les messages et e 2 pour les signatures numériques; ils suggèrent même en utilisant les valeurs 3 et 5 pour ces derniers.


OpenSSL et génération de clés

Votre description de la façon dont les clés RSA sont générés par OpenSSL est confus, je crois.

Le processus de génération pour générer des première a de grands nombres premiers aléatoires, p et q dans la notation ci-dessus. Il existe des méthodes stochastiques pour déterminer si un grand nombre donné est (probablement) prime; il faut un peu de temps pour calculer deux de ces nombres premiers. Pris ensemble, ceux-ci sont utilisés pour calculer premier n , puis d (en supposant e est établi par une convention). Les deux étapes que vous voyez dans OpenSSL sontdétermination n , puis en déterminant d .


Dissection de cas d'utilisateur

La question dit:

  

Considérez que Alice veut envoyer à Bob quelques trucs d'une manière non traditionnelle:

     

Alice et Bob a rencontré une fois et Alice a donné Bob une « clé publique » générée à partir d'une clé privée, elle a créé mais elle a averti Bob de garder le secret. Et elle a gardé secrète la clé privée, et ne donne jamais à quelqu'un d'autre la clé publique.

Jusqu'à présent, si bon. La « clé publique » n'est pas très public, mais il n'y a pas de mal à cela.

  

pourrait Bob être sûr que les messages qu'il reçoit d'Alice (à condition que ceux sont chiffrés par la clé privée Alice) ne sont lisibles que par lui (à condition qu'il vraiment gardé sa copie secrète clé publique d'Alice)?

Si la technologie de cryptage est de toute utilisation, alors oui; que Alice et Bob peuvent lire le message crypté Alice avec sa clé secrète parce que Alice et Bob savent la clé publique qui va de pair avec sa clé secrète.

  

Et comment compare cette solidité de chiffrement à la manière traditionnelle, qui, dans notre cas, être Bob l'envoi de messages (chiffré par la clé publique d'Alice) à Alice?

Confusion : la section a commencé par discuter de messages envoyer Alice à Bob; Maintenant, vous êtes passé à Bob envoyer un message à Alice.

Quand Bob et Alice se sont réunis, Alice a Bob son P alice clé publique. On peut supposer que Bob a également Alice son P bob clé publique. Et les deux clés publiques ont très limité la circulation publique -. Ce qui est bon, mais pas essentiel à la sécurité du système

Maintenant, quand Bob veut envoyer un message à Alice, il peut le chiffrer avec son P alice clé publique et Alice (et seulement Alice) peut déchiffrer le message en utilisant son S alice clé secrète. Sinon, Bob pourrait chiffrer le message avec son S bob clé secrète, et Alice pourrait déchiffrer avec P Bob bob clé publique. Les deux ensembles de chiffrement et de déchiffrement travailleraient.

  

Qu'est-ce que la question est sur

     

Le fait que les clés asymétriques sont nommées ne contribue pas à comprendre ma question « privé » et « public ». Les clés ont des propriétés sous-jacentes, et il me diffuser la propriété « clé publique » qui lui donne son « public ». S'il vous plaît faire cette distinction claire avant de répondre: Je ne suis pas compte tenu des propriétés « publiques » et « privées » de ces clés, mais la solidité du chiffrement « clé privée » contre le chiffrement « clé publique »

.

Il est tout aussi fiable pour chiffrer avec la clé privée correcte et décrypter avec la clé publique correcte car il est de chiffrer avec la clé publique correcte et décrypter avec la clé privée correcte. La différence est qui peut faire quelle opération. Si vous comprenez clairement qui fait l'encryptage et qui est en train de faire le déchiffrage, et qui sait quelles clés, le secret des méthodes deviennent assez claires.

  

Je ne peux pas utiliser une autre terminologie même si elle est trompeuse dans ce cas particulier.

Eh bien, les « clés publiques » dans votre cas ne sont pas si bien connu, mais c'est tout ce qui est inhabituel à ce sujet.

  

Je sais que ce cas est non traditionnelle, et pourrait conduire à plusieurs incohérences, ou non point des systèmes crypto asymétriques comme Bob et Alice partagent ici une sorte de secret commun et ce n'est pas le point de Crypto asymétrique .

Le point de l'ensemble des systèmes de chiffrement asymétrique est qu'il n'a pas d'importance si les attaquants (classiquement appelé Eve, l'indiscret) connaît la clé publique. Tant que les clés privées sont gardées privées par Alice et Bob, les messages peuvent être envoyés en toute sécurité. Cependant, vous devez comprendre que si Alice envoie un message à Bob qui est crypté que par clé secrète d'Alice, alors tout le monde (par exemplecomme Eve) qui connaît la clé publique d'Alice peut lire le message. Eve ne peut pas créer un faux message qui prétend venir d'Alice si elle sait aussi la clé secrète - si Eve découvre la clé secrète d'Alice, Eve peut faire semblant d'être Alice à tout moment qu'elle aime. Mais elle peut le lire. Si Alice envoie un message à Bob qui est crypté que par la clé publique de Bob, alors que Bob peut lire le message (en utilisant sa clé secrète), mais Bob n'a aucun moyen de savoir si elle se fait d'Alice ou si Eve l'a envoyé faire semblant de être Alice. C'est pourquoi vous devez travailler dur pour faire en sorte que Bob sait que seule Alice aurait pu envoyer le message, et Alice sait que seul Bob peut lire le message.

Autres conseils

Tout simplement parce que lorsque vous cryptez quelque chose, vous le masquer de sorte qu'une seule personne peut le lire (la personne avec la clé privée). Vous n'avez tout ce que vous possédez pas la clé privée de cette personne, est leur clé publique.

Si vous cryptez avec votre clé privée, tout le monde peut le déchiffrer avec votre clé publique - ce qui est le principe de la signature - ils peuvent dire qu'il a été chiffré par la clé privée

Pour mettre un peu plus explicite, « chiffrement avec une clé privée » signifie que pour vous décryptez besoin d'utiliser la clé publique. Ce n'est pas un problème, sauf que quiconque peut alors décrypter votre [point insérer ici], puisque la clé publique est juste que: publique . Il est inutile de données protéger , ce système est utilisé pour garantissez données.

Par exemple, Alice veut envoyer un toBob fichier (oui, oui, me tirer dessus). Alice ne se soucie pas si quelqu'un d'autre peut lire son dossier, ce n'est pas confidentielle, mais elle veut Bob pour être sûr que ce qu'elle a envoyé ce qu'il ait reçu. Elle peut alors chiffrer son dossier avec sa clé privée et Bob peut déchiffrer le fichier sur sa fin avec sa clé publique, en veillant à ce que le fichier n'a pas été falsifié. Mais si quelqu'un d'autre est à l'écoute pour la transaction, ils peuvent également décrypter et lire le fichier. Ils ne peuvent tout simplement pas le changer.


Pour le cas que vous fournissez, une meilleure façon serait l'échange de clés quand ils se rencontrent pour qu'il y ait en fait deux paires de clés. Vous vous dites que RSA en particulier ne workr pas vraiment si vous essayez de chiffrer avec la clé publique en raison de faits dans l'Optimisations algorithme. Je ne serais pas surpris si tout cela est un cas commun avec d'autres algorithmes. Ils sont conçus pour fonctionner d'une manière (privé / Chiffrer, public / Décrypter) et sont une opération connue « coûteuse », donc ils susceptibles d'être fortement optimisés dans la réalité.

Autre que cela, je ne vois pas de problèmes de sécurité avec votre plan ... Tant que les clés sont vraiment resteront privées. Privé / public ne sont que des noms communs basés sur l'utilisation typique. Il n'y a rien qui vous oblige à faire une clé publique entièrement publique. Dans votre cas, vous pouvez vous à terme les « clé de chiffrement » et « clé de déchiffrement », mais je ne voudrais pas utiliser chaque clé pour les deux. Enfait, je vous recommande les avez terme comme dans votre programme, pour les raisons données par Jonathan Leffler dans ses commentaires:

  

Une « clé publique » est quelque chose qui peut être partagée par plusieurs personnes. C'est la définition de la « clé publique ». Tout le reste est très déroutant

Je pense que vous manque le point de chiffrement à clé publique / privée (au moins si je comprends bien).

Dans la situation que vous avez, le chiffrement symétrique fonctionnerait aussi bien. La raison d'utiliser le chiffrement non symétrique est une question d'échelle.

Disons que vous avez, non seulement Bob et Alice, mais les gens imaginaires pour chaque lettre de l'alphabet. Ces gens veulent être en mesure d'envoyer des messages à tout le monde, en veillant à assurer que seul le destinataire puisse le lire. En utilisant une normale, le chiffrement symétrique, cela nécessite une clé partagée entre chaque personne, donc si nous avons les 26 personnes de la ville de l'alphabet, ce qui est des clés 26x25, avec toute personne ayant à retenir et sécuriser 25 clés secrètes.

Entrer le chiffrement symétrique (alias clé publique / privée). Maintenant, chaque personne a une clé privée et une clé publique, les règles normales. Pour envoyer un message à Fred, vous regardez son (et il n'y a qu'une seule) clé publique. Ensuite, vous lui envoyez le message. Seul Fred peut lire ce message. Dans ce schéma, vous avez des clés 26x2, et chaque personne n'a besoin que de se rappeler et de sécuriser 1 clé secrète . Il faut aussi être une source de clés publiques, mais cela est facile.

L'utilisation du cryptage asymétrique, la façon dont vous décrivez, avec une paire de clés pour chaque ensemble de personnes, exigerait alors des clés 26x25x2.

Encore une fois, il est sur le point d'évolutivité. Le nombre de clés nécessaires pour les systèmes symétriques est N^2-N, où dans les régimes asymétriques, il est seulement 2*N.

Je ne sais pas s'il y a des problèmes de droit d'auteur, mais je vais citer « Valery Pryamikov » de ce forum .

Signature et cryptage sont deux prototypes différents avec exigences de sécurité entre autres nécessitent un rembourrage différent modes. Utilisez la phrase « décrypter avec le public » clé était le plus grand de Obuse la terminologie dans l'histoire de la cryptographie qui a été répandue par Bruce Le livre de Schneier « Cryptographie appliquée ». L'expression elle-même était Censé être utilisé pour décrire les systèmes de signature avec le message récupération (tel que RSA). Cette phrase a également été utilisé pour ajuster asymétrique chiffrement et signature aux anciens modèles de vérification des protocoles tels que INTERDIRE. Cependant, par elle-même c'est juste une missnomer - clé publique est connu pour tout le monde et décrypter le fonctionnement a un sens de fournir la vie privée au contenu - ce qui est impossible si la clé de déchiffrement est connu pour tout le monde.

Même si cru RSA permet l'échange de clé publique et privée, mais réalité ils ne peuvent pas être interchangés. clé privée de déchiffrement est mis en oeuvre avec l'aide de CRT (théorème du reste chinois) pour fournir 4x une meilleure performance de fonctionnement clé privée. Pour cela - vous ne devez pas seul exposant, mais aussi factorisation du module et multiplicatif de certains produits inverses ces facteurs. clé publique a un module seulement et exposant et ne peut pas être utilisé avec un tel calcul.

Vous abusant de termes ici.

Si les clés sont vraiment privées et publiques, alors oui, quoi que ce soit crypté avec la clé privée ne peut être déchiffré par la clé publique, mais si la clé est vraiment publique, tout le monde peut déchiffrer que.

Nous allons ne pas tenir compte que.

Le problème est ce que Bob sait ici. Est-ce que Bob sait en fait, si Alice envoie sa clé publique à quelqu'un d'autre? Sinon, il ne peut assurer que lui seul peut déchiffrer le message. Il n'y a rien dans la technologie qui assure cela. Tout ce chiffré par la clé privée Alices peut être déchiffré par sa clé publique, et donc par toute personne en possession de cette clé. Par la nature même des clés publiques, qui devrait être tout le monde.

La seule façon de garantir qu'un message pour Bob est seulement déchiffrable par Bob est pour Bob donner Alice sa clé publique, et faire Alice cryptez tout qu'elle veut envoyer à Bob par sa clé publique, qui fera l'un des données -decryptable par personne, sauf Bob. Que ce soit elle aussi les mêmes encrypte les données par sa clé privée (ie. Signe les données) est d'ailleurs le point.

Bien sûr, encore une fois, Bob, ne peut pas savoir que Alice n'a pas envoyé exactement le même message à quelqu'un d'autre, le cryptage pour les autres clés publiques.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top