2016-12-31 2 views
1

Je vous envoie des données cryptées avec pvt1 (clé privée).Relation clé publique et clé privée

Alors, comment ouvrez-vous ce document?

Sans mon pvt1 comment pouvez-vous l'ouvrir?

Si vous pouvez ouvrir avec votre clé pvt2 alors ne devrait pas y avoir une relation entre pvt1 et pvt2 key?

Sinon, comment pouvez-vous ouvrir mon document?

Si vous avez besoin de mon pvt1 pour ouvrir le document, est-ce que nous nous rencontrons avant d'échanger la clé?

+1

L'expéditeur crypte le message à l'aide de la clé publique du destinataire et le destinataire le décrypte avec sa clé privée. – samgak

Répondre

4

Notionellement, vous ne cryptez pas avec une clé privée. Vous cryptez avec une clé publique ou une combinaison d'une clé publique et d'une clé privée.

Voilà comment fonctionne le système le plus commun:

Encrypting avec une clé publique:
1. Le destinataire génère une paire de clés publique/privée. Ces deux clés sont liées.
2. Le destinataire vous envoie sa clé publique et vous confirmez qu'elle lui appartient.
3. Vous cryptez quelque chose avec la clé publique du destinataire.
4. Ceci ne peut être décrypté qu'avec la clé privée du destinataire que seul le destinataire a.
5. Le destinataire déchiffre le message avec sa clé privée.

L'avantage de ce système est qu'aucune configuration n'est requise spécifiquement entre l'expéditeur et le destinataire. Le destinataire peut mettre sa clé publique à la disposition de tous et permettre à quiconque de lui envoyer un message crypté qu'il est le seul à pouvoir lire.

La clé publique et la clé privée sont liées d'une manière particulière. C'est compliqué en mathématiques, mais voici une explication simpliste (mais difficile) de la façon dont cela est généralement fait:

Vous avez une opération qui se comporte comme une multiplication sauf qu'elle est irréversible. La clé privée est générée de manière aléatoire. Il y a une certaine constante G. La clé publique est la clé privée "multipliée" par G. J'appellerai la clé secrète du destinataire Rs et leur clé publique Rp. Donc Rp = Rs * G. (Ici * représente une opération qui est comme une multiplication mais est irréversible.)

Pour crypter un message, vous choisissez une nouvelle paire de clés publique/privée aléatoire à utiliser pour ce message. Je vais appeler la clé publique Ep et la clé privée Es. Donc Ep = Es * G.

Pour envoyer un message, vous devez le crypter avec Es * Rp et l'envoyer avec Ep. Pour le déchiffrer, le destinataire le décrypte avec Rs * Ep.

Pourquoi cela fonctionne-t-il? Parce que Es * Rp = Rs * Ep. Pourquoi?
Es * Rp = Rs * Ep
Es * Rs * G = Rs * Es * G
Ceci est vrai car cette opération de type multiplication est commutative.

Pourquoi un attaquant ne peut-il pas le déchiffrer? Un attaquant a:
Ep (parce que nous l'avons envoyé)
Rp (parce qu'il est public)

Et un attaquant a besoin soit Es * Rp ou Rs * Ep. Autrement dit, il a besoin de Es * Rs * G et il n'a que Es * G et Rs * G. Oups, il est coincé car il ne peut pas diviser.

+1

Spellbound. Merci d'avoir compris ma question. 100 sur 100 – user7360021