Wenn ich Ihre Frage so umformulieren musste, wie ich sie verstehe, stellen Sie Folgendes:
Wenn Public Key - Kryptographie stellt sicher , dass ein öffentlicher Schlüssel kann von einem privaten Schlüssel abgeleitet wird, sondern ein privater Schlüssel kann nicht aus einem öffentlichen Schlüssel abgeleitet wird, dann könnte man sich fragen, wie kann ein öffentlicher Schlüssel entschlüsselt eine Nachricht mit einem privaten Schlüssel , ohne den Absender signiert den privaten Schlüssel in der signierten Nachricht dem Empfänger zugänglich machen? (Lesen Sie das einige Male durch, bis es Sinn macht)
Andere Antworten haben bereits erklärt, wie asymmetrische Kryptographie bedeutet, dass Sie entweder :
- Mit öffentlichem Schlüssel verschlüsseln, mit passendem privaten Schlüssel entschlüsseln (Pseudocode unten)
var msg = 'secret message';
var encryptedMessage = encrypt(pub_key, msg);
var decryptedMessage = decrypt(priv_key, encryptedMessage);
print(msg == decryptedMessage == 'secret message'); // True
- Mit privatem Schlüssel verschlüsseln, mit passendem öffentlichen Schlüssel entschlüsseln (Pseudocode unten)
var msg = 'secret message';
var encryptedMessage = encrypt(priv_key, msg);
var decryptedMessage = decrypt(pub_key, encryptedMessage); // HOW DOES THIS WORK???
print(msg == decryptedMessage == 'secret message'); // True
Wir wissen, dass sowohl Beispiel 1 als auch Beispiel 2 funktionieren. Beispiel 1 ist intuitiv sinnvoll, während Beispiel 2 die ursprüngliche Frage aufwirft .
Es stellt sich heraus, dass die Kryptographie mit elliptischen Kurven (auch als "Multiplikation mit elliptischen Kurven" bezeichnet) die Antwort auf die ursprüngliche Frage ist. Die Kryptographie mit elliptischen Kurven ist die mathematische Beziehung, die die folgenden Bedingungen ermöglicht:
- Ein öffentlicher Schlüssel kann mathematisch aus einem privaten Schlüssel generiert werden
- Ein privater Schlüssel kann nicht mathematisch aus einem öffentlichen Schlüssel generiert werden (dh "Trapdoor-Funktion").
- Ein privater Schlüssel kann werden überprüft durch einen öffentlichen Schlüssel
Für die meisten sind die Bedingungen 1 und 2 sinnvoll, aber was ist mit 3?
Sie haben hier zwei Möglichkeiten:
- Sie können ein Kaninchenloch hinuntergehen und stundenlang lernen, wie die Kryptographie mit elliptischen Kurven funktioniert ( hier ist ein guter Ausgangspunkt ) ... ODER ...
- Sie können die oben genannten Eigenschaften akzeptieren - genau wie Sie Newtons 3 Bewegungsgesetze akzeptieren, ohne sie selbst ableiten zu müssen.
Zusammenfassend wird ein öffentliches / privates Schlüsselpaar unter Verwendung der Kryptographie mit elliptischen Kurven erstellt, die von Natur aus einen öffentlichen und einen privaten Schlüssel erstellt, die mathematisch in beide Richtungen verknüpft , aber nicht in beide Richtungen mathematisch abgeleitet sind . Auf diese Weise können Sie den öffentlichen Schlüssel einer Person verwenden, um zu überprüfen, ob diese eine bestimmte Nachricht signiert hat, ohne dass sie Ihnen ihren privaten Schlüssel zur Verfügung stellt.