Ich bin relativ neu in Kryptographie und Blockchain und lerne, wie Public-Key-Kryptographie funktioniert und wie sie in der Umgebung von Bitcoin angewendet wird.
Ich habe zwei verschiedene Artikel gelesen, der erste war sinnvoll, aber der zweite hat mich verwirrt.
Aus dem 1. Artikel ( https://www.blockchain-council.org/blockchain/how-does-blockchain-use-public-key-cryptography/ ) verstehe ich, dass der private Schlüssel des Absenders verwendet wird, um die digitale Transaktion zu signieren und Der öffentliche Schlüssel des Absenders wird vom Miner/Empfänger verwendet, um die Signatur des Absenders zu verifizieren.
Ein zweiter Artikel, den ich gelesen habe ( https://www.ibm.com/support/knowledgecenter/en/SSB23S_1.1.0.14/gtps7/s7pkey.html ) über Kryptografie mit öffentlichen Schlüsseln hat es jedoch umgekehrt; Verwenden Sie zuerst den öffentlichen Schlüssel und dann den privaten Schlüssel. Ich habe das Bild vom zweiten Link angehängt:
Was verstehe ich falsch? Warum ist die Verwendung der Tasten in umgekehrter Reihenfolge?
Vielen Dank im Voraus für Ihren Beitrag...
Was verstehe ich falsch?
Sie verwechseln mehrere unterschiedliche Verwendungen von Kryptografie, mehrere unterschiedliche Zwecke:
Wenn Sie jemandem eine private Nachricht so senden möchten, dass niemand, der die Nachricht abfängt, sie lesen kann, verschlüsseln Sie die Nachricht normalerweise mit einem symmetrischen (geheimen Schlüssel) Algorithmus und einem neu erstellten geheimen Schlüssel. Anschließend verschlüsseln Sie den geheimen Schlüssel mit dem öffentlichen Schlüssel des beabsichtigten Empfängers. Dadurch wird sichergestellt, dass nur der beabsichtigte Empfänger den geheimen Schlüssel für die Nachricht entschlüsseln kann, indem er seinen privaten Schlüssel verwendet (den niemand sonst kennt). Nach dem Entschlüsseln des geheimen Schlüssels ist der beabsichtigte Empfänger in der Lage, die Nachricht unter Verwendung des symmetrischen Algorithmus zu entschlüsseln.
Beachten Sie, dass Sie nur einen symmetrischen Algorithmus verwenden, um die Nachricht zu verschlüsseln, da solche Algorithmen viel schneller sind als asymmetrische (Public-Key) Algorithmen. Es dient in erster Linie der Effizienz, aus keinem anderen Grund.
Wenn Sie jemandem eine Nachricht senden und nachweisen möchten, dass Sie die Nachricht gesendet haben, verwenden Sie ein anderes Verfahren. Sie erstellen mithilfe eines Hash-Algorithmus einen kryptografischen Hash der Nachricht. Sie verschlüsseln diesen Hash dann mit Ihrem privaten Schlüssel (den nur Sie kennen). Der verschlüsselte Hash wird mit der Nachricht gesendet. Dieser verschlüsselte Hash wird als digitale Signatur bezeichnet. Der Empfänger der Nachricht kann Ihren öffentlichen Schlüssel verwenden, um den Hash zu extrahieren und ihn mit einem neu berechneten Hash der Nachricht zu vergleichen. Wenn die Hashes übereinstimmen, ist dies ein Beweis dafür, dass Sie die Nachricht gesendet haben.
Asymmetrisch bedeutet, dass Sie unterschiedliche Schlüssel zum Verschlüsseln und Entschlüsseln verwenden. Es gibt sowohl einen privaten als auch einen öffentlichen Schlüssel. daher der Name "Public-Key-Kryptographie".
Im Gegensatz dazu ist DES ein Beispiel für einen symmetrischen (nicht asymmetrischen) Algorithmus , der ein symmetrischer Verschlüsselungsalgorithmus ist, da es nur einen Schlüssel gibt und derselbe Schlüssel sowohl zum Verschlüsseln als auch zum Entschlüsseln verwendet wird. Der Schlüssel ist ein gemeinsam genutzter „Secret-Key“ – daher die Namen „Secret-Key-Kryptografie“ oder „Shared-Key-Kryptografie“.
Von dem, was ich gelesen habe, verwendet Bitcoin
Beachten Sie, dass ECDSA asymmetrisch ist
Beachten Sie auch, dass Bitcoin sich um Anonymität und nicht um Privatsphäre kümmert (die Blockchain ist öffentlich, nicht privat). Daher verwendet Bitcoin keine Verschlüsselung für Datenschutzzwecke. Ihre Wallet-Software verwendet möglicherweise Verschlüsselung, um Ihre geheimen Schlüssel hinter einem Passwort zu verbergen – aber das ist nicht Teil der BitCoin-Spezifikation.
Der erste Artikel handelt davon, wie Bitcoin (den Hash von) Daten signiert, um den Besitz (und die Ausgabe) von Münzen nachzuweisen. Es ist nichts verschlüsselt, es wird als Authentifizierungsschema verwendet.
Im zweiten Artikel geht es um asymmetrische Verschlüsselung . Es dient der Verschlüsselung von Daten, nicht der Authentifizierung. Es ist nicht das, was Bitcoin verwendet. (Siehe auch: ECIES)
Sie haben unterschiedliche Zwecke. Lassen Sie sich nicht verwirren.
Die beiden Artikel sprechen über zwei sehr unterschiedliche Dinge.
Der 1. Artikel handelt von digitalen Signaturen, die verwendet werden, um zu beweisen, dass jemand eine Nachricht geschrieben hat und nicht imitiert wurde. Diese werden in Bitcoin ausgiebig verwendet. Der Absender der Nachricht verwendet seinen eigenen privaten Schlüssel zum Signieren, der Empfänger verwendet den öffentlichen Schlüssel des Absenders, um zu überprüfen, ob die Signatur authentisch ist.
Der zweite Artikel befasst sich mit der Verschlüsselung, die verwendet wird, um den Inhalt einer Nachricht vor allen außer dem beabsichtigten Empfänger zu verbergen. Dies wird in Bitcoin überhaupt nicht verwendet. An Orten, an denen es verwendet wird, verwendet der Absender den öffentlichen Schlüssel des Empfängers zum Verschlüsseln, und der Empfänger verwendet seinen eigenen privaten Schlüssel zum Entschlüsseln und zum Zugriff auf die Informationen.
DCH
RedGrittyBrick