7
votes

Cryptage asymétrique

J'ai un examen demain dans le développement avancé, mais je suis bloqué sur le sujet du cryptage. Je l'ai lu sur http://support.microsoft.com/kb/246071 . Cependant, je suis toujours confus.

Si un message est crypté à l'aide de cryptage asymétrique, en utilisant la clé publique, comment le déchiffrement va-t-il connaître la clé privée avec laquelle la déchiffrer? Sûrement le seul moyen de faire cela est de rendre le public privé public, mais qui défait l'objet d'un cryptage asymétrique.

Quelqu'un peut-il s'il vous plaît expliquer cela d'une manière qu'une non-technologie serait capable de le comprendre? Son seul cryptage asymétrique que je ne comprends pas, pas de cryptage symétrique. Merci d'avance.

Cordialement,

richard

Edit: Donc, résumer toutes les réponses dans le cas d'une application Web (l'utilisation spécifique pour laquelle j'ai besoin de savoir à ce sujet):

  1. L'utilisateur visite un site Web;
  2. L'utilisateur est invité à fournir une clé publique;
  3. L'utilisateur crée une paire de clé publique et privée, gardez le privé privé et envoie la clé publique du serveur;
  4. Server utilise la clé publique pour chiffrer tout ce qui doit être envoyé à l'utilisateur et envoie les informations à l'utilisateur;
  5. L'utilisateur utilise sa clé privée pour déchiffrer la réponse du serveur;
  6. L'utilisateur fait ce dont ils ont besoin et envoie une réponse au serveur, à l'aide de la clé privée pour la chiffrer;
  7. Server décrypte à l'aide de la clé publique. Les étapes 4 - 7 peuvent continuer plusieurs fois, ou ils ne peuvent arriver qu'une fois, ou seulement 4 et 5 peuvent se produire.

    Est-ce tout ça correct? Si oui, il devrait être tout ce que j'ai besoin de savoir pour l'examen. Je ne devrais pas penser que je devrais plus connaître pour obtenir le maximum de 40% si une question sur ce sujet se pose - mentionnera cependant l'existence de certificats et de signatures.

    Merci pour toute l'aide.

    Cordialement,

    richard

    Edit: Eh bien, je viens de rentrer de mon examen et ça s'est bien passé, je pense. Mais aucune question sur la cryptographie n'est apparue, cependant ... l'aide a été appréciée de toute façon. Merci tout.

    Cordialement,

    richard


3 commentaires

en.wikipedia.org/wiki/public-key_cryptography ?


BTW, si vous êtes intéressé par la cryptographie, vous devriez jeter un coup d'œil à "le livre de code" de Simon Singh


Merci pour le lien avec wiki, cependant a) on nous a dit de ne jamais utiliser Wiki (je fais toujours quand même pour la plupart des choses !!) et b) la façon dont il a été expliqué ici est beaucoup plus facile à comprendre que le wiki. Cependant, Wiki a de bons chapitres sur des implications pratiques.


5 Réponses :


2
votes

La clé publique est fournie au "crypter" par le "déchiffreur", par conséquent, par définition, le "Decryptor" connaît la clé privée (car elle fait partie de la paire de clés créée par "Decryptor".


3 commentaires

Ah, alors dis-tu que le message est crypté par le déchiffreur à l'aide de la clé privée, le crypter peut donc décrypter le message, puis renvoyer un message crypté à l'aide de la clé publique que seul un utilisateur avec la clé privée originale peut-elle décrypter? Cela a du sens, à moins qu'un pirate informatique n'atteignait pas le message d'origine qui a la clé publique avec elle. Ou je ne l'obtiens toujours pas?


Non ... avec une cryptographie asymétrique, vous devez envoyer à d'autres personnes uniquement votre clé publique. Peu importe qui écoute ce message, tout le monde peut crypter des informations en utilisant votre clé publique et vous l'envoyer. Si quelqu'un écoute, cela n'a pas d'importance, car seulement vous avez la clé privée (qui ne doit jamais être transmise).


Donc, de cela, je suppose que vous voulez dire que, dans une application Web, ce sont les clients eux-mêmes qui fournissent la clé publique du serveur et gardent la clé privée. Si oui, alors cela fait un sens parfait. Merci.



1
votes

Disons "Decryptor" = D et "Crypter" = E.

D envoyé précédemment sa clé publique à E, donc e peut crypter le mesage. Étant donné que je connais sa propre clé privée, seulement D saura savoir comment déchiffrer le message E vient de l'envoyer (rappelez-vous: une clé est utilisée pour chiffrer, l'autre pour déchiffrer). De cette façon, vous obtenez la vie privée.


0 commentaires

7
votes

Alice crée sa clé privée + clé publique. Elle garde sa clé privée privée. Elle rend sa clé publique publique.

Bob prend la clé publique d'Alice (il devrait d'abord vérifier, que c'est vraiment la clé publique d'Alice!), et l'utilise pour chiffrer un message, qu'il envoie à Alice.

Alice peut décrypter le message en utilisant sa clé privée.


3 commentaires

D'après ce que je comprends, cela fonctionne aussi, Alice peut crypter en utilisant sa clé privée puis Bob peut déchiffrer. Bon moyen de l'expliquer. Merci.


Non. Dans ce scénario, Bob devrait utiliser la clé publique pour déchiffrer. Mais n'importe qui d'autre connaît également la clé publique (c'est public!) Et pourrait également déchiffrer.


@Jens: Ce n'est pas utile pour le cryptage (dans le sens du secret), mais cela peut être utilisé pour signer des messages. Remarque: Selon le schéma de chiffrement, il peut être important d'utiliser différentes touches pour la signature et le cryptage (voir par exemple Security.stackexchange.com/q / 1806 )



5
votes

D'autres ont fourni une description "générique" et je vais aller plus loin dans le côté réel.

Les normes de cryptage asymétriques les plus modernes ne fonctionnent pas avec des clés publiques et privées brutes, mais avec des emballages plus complexes, tels que des certificats X.509 ou des touches OpenPGP (voici deux infrastructures de cryptage asymétrique les plus populaires). Les certificats et les touches OpenPGP contiennent des informations supplémentaires qui les permettent d'être facilement identifiées, recherchées et gérées.

Maintenant, le bloc de données crypté comprend généralement la partie publique (c'est-à-dire la clé de certificat ou openpgp public) utilisé pour le cryptage ou au moins l'ID (hachage de cette partie publique). Le destinataire des données a généralement (ou est censé avoir) les parties publiques et privées (les clés privées sont généralement conservées avec des certificats ou des clés publiques openpgp) à portée de main. Ainsi, lorsque le destinataire reçoit les données cryptées, il sait qu'il doit regarder son stockage de clé privé pour la partie publique avec une pièce d'identité donnée (ou une partie publique donnée lorsqu'elle est incluse dans les données cryptées).

Il existe des cas lorsque rien n'est inclus. Ensuite, le destinataire n'a rien à faire, mais essayez toutes les clés privées disponibles pour le déchiffrement. Mais ces cas sont rares comme par défaut, le certificat ou l'identifiant de clé est présent dans le bloc de données crypté.


1 commentaires

C'est une bonne réponse - vous devez ajouter des informations d'identification au bloc crypté / blob pour identifier ce que la (s) clé (s) la dromettez-le. (Nom, empreinte digitale ou hachage de la clé publique)



13
votes

Une clé privée est destinée à être connue que par son utilisateur légitime et non distribuée. Son homologue, la clé publique, peut être distribuée à n'importe qui.

basé sur cela, vous pouvez obtenir 4 opérations:

  • chiffrer à l'aide de la clé publique
  • Decrypt en utilisant la clé privée
  • signe en utilisant la clé privée
  • Vérifiez la signature à l'aide de la clé publique

    Le problème suivant que vous pouvez rencontrer est la liaison d'une identité à une clé publique (comme vous ne voudriez pas chiffrer quelque chose avec ou faire confiance à quelque chose signé avec la clé publique d'un imposteur). Il existe différents modèles de distributions clés publiques. Typiquement, vous pouvez avoir:

    • a Web de confiance , où les gens sentent l'association de chacun entre la clé publique et l'identité : C'est typiquement le modèle PGP.
    • A Infrastructure clé publique (PKI) où vous obtenez des autorités de certification pour produire des certificats, souvent avec intermédiaires, dans une hiérarchie de type arbre. (PGP peut également utiliser ce modèle, mais cela semble moins courant.)

0 commentaires