Ich bin verwirrt von den Public-Key-Kryptografieversionen, die ich bisher gelesen habe. Sind die Schritte optional, abhängig von den Arten der Blockchain oder beziehen sie sich auf verschiedene Methoden?
Version 1 =========
Alice zu Bob
Schritt 1. Inhalt > Hash > Digest > Mit Alices privatem Schlüssel verschlüsseln > Digitale Signatur
Schritt 2. Digitale Signatur > Verschlüsseln mit Alices privatem Schlüssel + Bobs öffentlichem Schlüssel > Digest
Schritt 3. Digest an Bob senden
In den obigen Schritten verwendet Alice den privaten Schlüssel ZWEIMAL. Verschlüsseln Sie zuerst den Digest des Inhalts. Zweites Mal zusammen mit Bobs öffentlichem Schlüssel verschlüsseln.
Ist Hashing optional?
Wird der Hash automatisch generiert, sobald er mit Alices privatem Schlüssel verschlüsselt wurde?
Oder ist das Verschlüsseln mit Alices privatem Schlüsselschritt optional?
Ist Schritt 2 auch optional? oder sind alle oben genannten Schritte automatisiert?
Bob erhielt
Schritt 1. Digest > Alices öffentlicher Schlüssel > Inhalt
Schritt 2. Digest > Bobs privater Schlüssel > Inhalt
=
=
Version 2 =========
Alice zu Bob
Schritt 1. Alice generiert das Schlüsselpaar
Schritt 2. Alice gibt Bob ihren öffentlichen Schlüssel
Schritt 3. Alice verschlüsselt Inhalte mit ihrem eigenen privaten Schlüssel
In den obigen Schritten hat Alice den Inhalt nicht zuerst gehasht.
Bob erhielt
Schritt 1. Bob entschlüsselt mit Alices öffentlichem Schlüssel
Was ist, wenn jemand anderes den öffentlichen Schlüssel von Alice hat, kann er ihn nicht auch entschlüsseln?
=
=
Version 3 =========
Alice zu Bob
Schritt 1. Alice verschlüsselt mit Bobs öffentlichem Schlüssel
Bob erhielt
Schritt 1. Bob entschlüsselt mit seinem eigenen privaten Schlüssel
=
=
Fragen wie diese können nicht beantwortet werden, ohne das von Ihnen verwendete digitale Signaturschema anzugeben.
Allgemein
Im Allgemeinen besteht ein digitales Signaturschema aus 3 Algorithmen:
Welche Datentypen betroffen sind, hängt von dem spezifischen Schema ab.
ECDSA
In ECDSA, dem in Bitcoin verwendeten digitalen Signaturschema, ist der private Schlüssel eine Zahl, der öffentliche Schlüssel ein Punkt auf einer elliptischen Kurve, die Nachricht ein Byte-Array und die Signatur ein Paar aus zwei Zahlen.
ECDSA erfordert einen Hash-Schritt. Tatsächlich ist es ohne den Hashing-Schritt vollständig kaputt.
Nirgendwo ist jedoch eine Verschlüsselung beteiligt. Es gibt einfach einen Signieralgorithmus und einen Verifizierungsalgorithmus.
RSA
Der Fehler, den Sie machen, das Signieren als "Verschlüsselung mit dem privaten Schlüssel" zu bezeichnen, ist weit verbreitet, da digitale Signaturschemata häufig so erklärt werden.
Dies gilt für einige spezifische Signaturschemata, aber nicht für alle. Dies gilt insbesondere für RSA. Die privaten und öffentlichen Schlüssel sind dort austauschbar, so dass das Verschlüsselungsschema tatsächlich durch das Austauschen zu einem Signaturschema wird.
Samantha
Pieter Wuille
Pieter Wuille
Samantha
Pieter Wuille