Notionally, Sie verschlüsseln nicht mit einem privaten Schlüssel. Sie verschlüsseln entweder mit einem öffentlichen Schlüssel oder einer Kombination aus einem öffentlichen Schlüssel und einem privaten Schlüssel.
Hier ist, wie das häufigste Schema funktioniert:
mit einem öffentlichen Schlüssel verschlüsselt:
1. Der Empfänger ein öffentliches/privates Schlüsselpaar erzeugt. Diese zwei Schlüssel sind verwandt.
2. Der Empfänger sendet Ihnen seinen öffentlichen Schlüssel und Sie bestätigen, dass er ihnen gehört.
3. Sie verschlüsseln etwas mit dem öffentlichen Schlüssel des Empfängers.
4. Dies kann nur mit dem privaten Schlüssel des Empfängers entschlüsselt werden, den nur der Empfänger hat.
5. Der Empfänger entschlüsselt die Nachricht mit ihrem privaten Schlüssel.
Der Vorteil dieses Systems ist, dass keine spezifische Konfiguration zwischen dem Absender und dem Empfänger erforderlich ist. Der Empfänger kann seinen öffentlichen Schlüssel für alle verfügbar machen, und jeder kann ihm eine verschlüsselte Nachricht senden, die nur er lesen kann.
Der öffentliche Schlüssel und der private Schlüssel stehen in einer bestimmten Beziehung zueinander. Es ist komplizierte Mathematik, aber hier ist eine vereinfachte (aber immer noch knifflig) Erklärung, wie es in der Regel getan wird:
Sie haben einige Operation, die sich wie Multiplikation verhält, außer es ist irreversibel. Der private Schlüssel wird zufällig generiert. Es gibt eine wohlbekannte Konstante G. Der öffentliche Schlüssel ist der private Schlüssel, multipliziert mit G. Ich rufe den geheimen Schlüssel Rs des Empfängers und seinen öffentlichen Schlüssel Rp an. Also Rp = Rs * G
. (Hier steht *
für eine Operation, die der Multiplikation entspricht, aber irreversibel ist.)
Um eine Nachricht zu verschlüsseln, wählen Sie ein neues zufälliges öffentliches/privates Schlüsselpaar, das nur für diese Nachricht verwendet werden soll. Ich rufe den öffentlichen Schlüssel Ep
und den privaten Schlüssel Es
. Also Ep = Es * G
.
Um eine Nachricht zu senden, verschlüsseln Sie sie mit Es * Rp
und senden Sie sie zusammen mit Ep
. Um es zu entschlüsseln, entschlüsselt der Empfänger es mit Rs * Ep
.
Warum funktioniert das? Weil Es * Rp = Rs * Ep
. Warum?
Es * Rp = Rs * Ep
Es * Rs * G = Rs * Es * G
Dies ist richtig, weil diese Multiplikation ähnliche Operation ist kommutativ.
Warum kann ein Angreifer ihn nicht entschlüsseln? Ein Angreifer hat:
Ep (weil wir es geschickt)
Rp (weil es öffentlich)
Und ein Angreifer braucht entweder Es * Rp
oder Rs * Ep
. Das heißt, er braucht Es * Rs * G
und er hat nur Es * G
und Rs * G
. Hoppla, er sitzt fest, weil er sich nicht teilen kann.
Der Absender verschlüsselt die Nachricht mit dem öffentlichen Schlüssel des Empfängers und der Empfänger entschlüsselt sie mit ihrem privaten Schlüssel. – samgak