Asymmetrische Verschlüsselungsalgorithmen gehören zum Bereich der Kryptographie. Es handelt sich um Algorithmen, die Informationen verschlüsseln und entschlüsseln können. Ihre Operationen erfordern einen öffentlichen Schlüssel und einen privaten Schlüssel. Der öffentliche Schlüssel kann anderen bekannt sein. Der private Schlüssel darf außer dem Besitzer niemandem bekannt sein. Die beiden Schlüssel können sich gegenseitig verschlüsseln und entschlüsseln. Aufgrund der Verwendung von zwei verschiedenen Schlüsseln für Verschlüsselung und Entschlüsselung werden die Algorithmen als asymmetrische Verschlüsselungsalgorithmen bezeichnet.
Die entsprechenden Algorithmen sind die symmetrischen Schlüsselalgorithmen, die kryptografische Schlüssel sowohl für die Verschlüsselung von Klartext als auch für die Entschlüsselung von Geheimtext verwenden. Wenn beispielsweise AES (Advanced Encryption Standard) symmetrische Schlüsselalgorithmen verwendet werden, um das Wort "Gate.com" zu verschlüsseln, kann der alphabetische String U2FsdGVkX18fop1iGBPzNdnADZ57AJxOn+wEBSIUAG4 erhalten werden. Umgekehrt kann der Geheimtext auch von AES symmetrischen Schlüsselalgorithmen entschlüsselt werden, um den originalen alphabetischen String Gate.com zu erhalten. In früheren Zeiten wurden die symmetrischen Schlüsselalgorithmen verwendet, um verschlüsselte Telegramme zu senden. Dieser Entschlüsselungsprozess ist einfach und schnell, aber nachdem die Verschlüsselungsmethode bekannt geworden ist, ist es einfach, die abgefangenen Informationen zu entschlüsseln, und die Sicherheit ist nicht hoch.
Die Sicherheit der asymmetrischen Schlüsselalgorithmen ist höher als die der symmetrischen Schlüsselalgorithmen, aber ihre Effizienz ist aufgrund ihrer komplexen Operationen niedriger als die der symmetrischen Schlüsselalgorithmen. Lassen Sie uns sie einfach anhand eines Beispiels verstehen: Nehmen wir an, Jim möchte eine Nachricht an Bob mit asymmetrischen Schlüsselalgorithmen senden. Jim muss den folgenden Prozess durchlaufen:
1. Sowohl Jim als auch Bob müssen ein Paar öffentlicher und privater Schlüssel generieren;
2. Jims öffentlicher Schlüssel wird an Bob gesendet, und der private Schlüssel wird von Jim gespeichert; Bobs öffentlicher Schlüssel wird an Jim gesendet, und der private Schlüssel wird von Bob gespeichert;
3. Wenn Jim eine Nachricht an Bob sendet, verschlüsselt er die Nachricht mit Bobs öffentlichem Schlüssel;
4. Nachdem Bob die Nachricht erhalten hat, kann er sie mit seinem privaten Schlüssel entschlüsseln.
Asymmetrische Algorithmen sind die Hauptkryptographiealgorithmen, die in der Blockchain verwendet werden. Ihre Anwendungsszenarien umfassen hauptsächlich die Verschlüsselung von Informationen, digitale Signatur, Anmeldeauthentifizierung und digitales Zertifikat. Ihr Wert in der Blockchain besteht darin, den öffentlichen Schlüssel und den privaten Schlüssel zur Identifizierung der Identität des Absenders und des Empfängers zu verwenden.
Informationsverschlüsselung: sicherstellen der Sicherheit von Informationen. Der Absender hat einen öffentlichen Schlüssel, und es spielt keine Rolle, wenn auch andere ihn kennen, da die von anderen gesendeten Informationen keinen Einfluss auf den Empfänger haben. Der vom Empfänger gehaltene Schlüssel ist der private und nur der Empfänger kann die verschlüsselten Informationen entschlüsseln. Die Verschlüsselungstechnologie von Bitcoin-Transaktionen gehört zu diesem Szenario.
Digitale Signatur: Gewährleistung der Zuordnung von Informationen. Um zu zeigen, dass die Informationen nicht gefälscht wurden und tatsächlich vom Informationsinhaber gesendet wurden, wird die digitale Signatur an die Rückseite der Originalinformation angehängt. Wie eine handschriftliche Unterschrift ist sie einzigartig und prägnant.
Anmeldeauthentifizierung: Der Client verschlüsselt die Anmeldeinformationen mit dem privaten Schlüssel und sendet sie an den Server, der sie nach Erhalt mit dem öffentlichen Schlüssel des Clients entschlüsselt und authentifiziert.
Digitales Zertifikat: Stellen Sie die Legitimität des öffentlichen Schlüssels sicher. Damit der Absender überprüfen kann, ob der aus dem Internet erhaltenen öffentliche Schlüssel wirklich echt ist, wird eine Drittanbieterorganisation CA (Zertifizierungsstelle) generiert, um die Legitimität des öffentlichen Schlüssels sicherzustellen. Beim Veröffentlichen von Informationen muss der Besitzer des Originaltexts der Informationen seine eigene digitale Signatur und sein digitales Zertifikat mitbringen, um sicherzustellen, dass die Informationen nicht manipuliert wurden.
Die asymmetrischen Schlüsselalgorithmen, die im Bitcoin-Blockchain verwendet werden, sind elliptische Kurvenkryptographie-Algorithmen. Sie sind auch asymmetrische Schlüsselalgorithmen, die derzeit häufig in der Blockchain verwendet werden, und werden als ECDSA bezeichnet, wobei EC die Abkürzung für "elliptische Kurve" und DSA die Abkürzung für "digitaler Signaturalgorithmus" ist.
Bei der Bestimmung der Parameter der elliptischen Kurve verwendet das Bitcoin-System einen Kurvenparameter namens SECP256k1. Auf diese Weise erhält das System zufällig einen 32-Byte-Privatschlüssel im Betrieb, und erhält dann den öffentlichen Schlüssel durch den elliptischen Kurve Digital Signatur Algorithmus (unter Verwendung der SECP256k1-Kurve), und führt dann mehrere Hash-Algorithmen aus, um den öffentlichen Schlüssel-Hash zu erhalten, und bildet die endgültige Kontoadresse in Kombination mit der Versionsnummer.
Zum Beispiel werden zwei Primzahlen (152, 891) zufällig generiert, um einen sechsstelligen "privaten Schlüssel" 152891 zu bilden, und die Regel für die Generierung eines "öffentlichen Schlüssels" besagt, dass diese beiden Primzahlen multipliziert werden (152x891=135432). Zu diesem Zeitpunkt können die Personen im Netzwerk diesen "öffentlichen Schlüssel" erhalten. Wenn Sie möchten, dass diese Daten nur von Ihnen geändert werden können, können Sie eine Notiz zu den Daten hinzufügen "'öffentlicher Schlüssel' 135432 ": Nur die linken drei Ziffern des privaten Schlüssels multipliziert mit den rechten drei Ziffern ergeben den öffentlichen Schlüssel und können geändert werden.
Wenn ein Hacker im Netzwerk Daten ohne Zustimmung verändern möchte, selbst wenn er weiß, dass der "private Schlüssel" den "öffentlichen Schlüssel" durch Multiplizieren zweier Primzahlen erzeugt, weiß er nicht, welche die beiden Primzahlen sind. Daher kann er, um den privaten Schlüssel des "öffentlichen Schlüssels" 135423 zu finden, nur auf direktem Weg eins nach dem anderen ausprobieren: 001 x 02, …, 998 x 999 usw. Dieser Prozess ist schwierig, wenn die Primzahl groß ist.
Ein solches Beispiel ist relativ einfach. Ein Computer kann den "privaten Schlüssel" des obigen Beispiels direkt aus dem "öffentlichen Schlüssel" berechnen. Die elliptische Kurvenalgorithmus, den das Bitcoin-System zur Generierung des "öffentlichen Schlüssels" aus dem "privaten Schlüssel" verwendet, ist jedoch mit der aktuellen Technologie schwer zu knacken. Denn seine Primzahl ist sehr groß. Darüber hinaus wird der private Schlüssel-Entschlüsselungsprozess im Bitcoin-System durch eine Stapelausführungssprache der umgekehrten polnischen Notation realisiert.
elliptische Kurve
Der private Schlüssel kann den öffentlichen Schlüssel und den öffentlichen Schlüssel-Hash ableiten, aber der öffentliche Schlüssel und der öffentliche Schlüssel-Hash können nicht den privaten Schlüssel ableiten. Daher muss der private Schlüssel vom Benutzer gut aufbewahrt werden. Wenn der private Schlüssel verloren geht, können die Vermögenswerte auf dem Konto nicht wiederhergestellt werden.
Asymmetrische Algorithmen bilden die Grundlage des Blockchain-Betriebs. Neben dem elliptischen Kurvenkryptografie-Algorithmus, der in Blockchains wie Bitcoin und Ethereum verwendet wird, sind auch die folgenden verschiedenen kryptografischen Algorithmen in Blockchains üblich.
RSA (Rivest Shamir Adleman) Algorithmus: Da es schwierig zu knacken ist, wird es weitgehend im Bereich der digitalen Verschlüsselung und digitalen Signatur eingesetzt. Im RSA-Algorithmus können sowohl öffentliche als auch private Schlüssel zur Verschlüsselung von Informationen verwendet werden. Wenn der öffentliche Schlüssel zur Verschlüsselung verwendet wird (um zu verhindern, dass Informationen gestohlen werden), wird der private Schlüssel zur Entschlüsselung verwendet. Wenn der private Schlüssel zur Verschlüsselung verwendet wird (um zu verhindern, dass Informationen manipuliert werden), wird der öffentliche Schlüssel zur Entschlüsselung (digitale Signatur) verwendet. Theoretisch gilt: Je länger die Anzahl der Schlüsselbits im RSA-Algorithmus ist, desto schwieriger ist es zu knacken (Quantencomputing nicht ausgeschlossen). Daher beträgt die branchenübliche Schlüssellänge nicht weniger als 2048 Bits.
DSA Digital Signature Algorithm: Dieser Algorithmus kann keine Informationen verschlüsseln oder entschlüsseln und wird hauptsächlich verwendet, um verschlüsselte Informationen zu signieren und zu authentifizieren. Die Sicherheit ist genauso hoch wie beim RSA-Algorithmus, aber die Verarbeitungsgeschwindigkeit ist schneller.
ECC elliptische Kurvenkryptographie: Der Verschlüsselungsprozess leitet sich von der elliptischen Kurve in der Mathematik ab. Im Vergleich zum RSA-Algorithmus weist der ECC-Algorithmus eine schnellere Verschlüsselungs- und Entschlüsselungsgeschwindigkeit sowie eine höhere Sicherheitsintensität pro Einheit auf. Bei gleicher Schlüssellänge bietet der ECC-Algorithmus die höchste Sicherheit.
Kryptographie ist eine der grundlegenden Technologien, die den Betrieb von Blockchain-Systemen unterstützt. Sie ist zu einem unverzichtbaren Bestandteil der modernen Computersicherheit und ein Schlüsselkomponente des wachsenden Kryptowährungsökosystems geworden. Mit der kontinuierlichen Entwicklung der Kryptographie werden symmetrische Verschlüsselungsalgorithmen und asymmetrische Verschlüsselungsalgorithmen in Zukunft eine größere Rolle bei der Abwehr verschiedener Bedrohungen in der Computersicherheit und der Validierung der Kryptowährungssicherheit spielen.





