Asymmetrische Kryptographie bei der Universa Blockchain

Im vorherigen Artikel haben Sie die Grundprinzipien der Hash-Funktionen, die im Universa Blockchain-Protokoll verwendet werden, kennengelernt. Die Kombination von drei Hash-Funktionen, HashID genannt, schützt Daten, sodass diese sicher gespeichert werden können, ohne dass eine vertrauenswürdige Drittpartei in einem Netzwerk verteilter Knoten erforderlich ist. Ein weiterer wichtiger Aspekt bei der sicheren Speicherung von Daten ist, dass sie nicht von Unternehmen geändert werden können, die nicht über die entsprechenden Rechte verfügen.

In diesem Artikel werden wir etwas weiter in die Welt der Kryptographie eintauchen. Besonders in der Welt der „asymmetrischen Kryptographie“ mit Verschlüsselung / Entschlüsselung, öffentlichen / privaten Schlüsseln und Signierung / Verifizierung.

Hashing und Verschlüsselung

Zunächst ist es wichtig den Unterschied zwischen Hashing und Verschlüsselung zu erkennen und zu verstehen. Verschlüsselung ist, wenn Sie eine „ursprüngliche Nachricht“ in eine „verschlüsselte Nachricht“ konvertieren (unter Verwendung eines Verschlüsselungsschlüssels). Danach können Sie die verschlüsselte Nachricht (mit dem Entschlüsselungsschlüssel) direkt zur ursprünglichen Nachricht zurückkonvertieren.

Mit dem Verschlüsselungs- / Entschlüsselungsalgorithmus variiert die Größe der verschlüsselten Nachricht in Abhängigkeit von der ursprünglichen Nachrichtengröße. Normalerweise ist diese zumindest gleich groß.

Wenn Sie 10 Millionen Textzeichen verschlüsseln, erhalten Sie wahrscheinlich 10 Millionen Zeichen für den verschlüsselten Text, da die Verschlüsselung verlustfrei ist. Mithilfe des Schlüssels können Sie die ursprüngliche Nachricht aus der verschlüsselten Nachricht wiederherstellen.

Beim Hashing ist alles anders. Der springende Punkt beim Hashing ist auf kontrollierte Weise mit Verlust zu sein. Jede mögliche Nachricht, unabhängig von ihrer Größe, erhält dieselbe Hash-Größe.

Auf der Universa-Blockchain werden nur diese Hashes gespeichert. Bei der verschlüsselten DAG werden keinerlei Daten gespeichert. Die Verträge selbst werden niemals verschlüsselt / entschlüsselt, da sie von den Knoten auf direkte Weise verarbeitet werden müssen. Im vorherigen Artikel können Sie weitere Informationen über die HashID, als Zeichenfolge mit 128 Zeichen, finden. Unabhängig davon, welche Art von Smart-Vertrag Sie betreiben, wird der Status des Vertrags immer von der entsprechenden HashID aus 128 Zeichen überprüft.

Keine Sorge: Die Kommunikation zwischen den Clients und den Knoten wird im laufenden Betrieb verschlüsselt und entschlüsselt, sodass sich Dritte nicht einmischen können.

Asymmetrische Kryptographie

Das Prinzip eines verteilten und dezentralen Netzwerks besteht darin, eine zuverlässige und vertrauenswürdige Datenspeicherung zu gewährleisten, was offensichtlich nicht möglich ist ohne Daten auf sichere Weise übertragen zu können. Bei einer solchen kryptosystemgesicherten Übertragung sind die Daten nur für diejenigen verfügbar die sie sehen dürfen und sind für diejenigen verborgen die sie nicht lesen sollen.

Kurz gesagt, um auf diese Daten zugreifen zu können, benötigen Sie einen digitalen Schlüssel. Was benötigt wird ist ein Schlüssel zum Verschlüsseln der Daten und ein Schlüssel zum Entschlüsseln der Daten. Und denken Sie daran: Die Länge des Inputs wird verlustfrei mit der Ausgabe gleicher Länge verschlüsselt.

Asymmetrische Kryptographie wird auch als „Kryptographie mit öffentlichem Schlüssel“ bezeichnet. Es ist ein kryptografisches System das Schlüsselpaare verwendet: öffentliche Schlüssel, die offen geteilt werden können und private Schlüssel, die nur dem Eigentümer bekannt sind.

In einem Verschlüsselungsschema mit asymmetrischem Schlüssel kann jeder Nachrichten mit dem öffentlichen Schlüssel verschlüsseln, aber nur der Inhaber des passenden privaten Schlüssels kann diese entschlüsseln. Dies ist es was es nicht zu einer symmetrischen (und reversiblen) Art der Kryptographie macht und daher als asymmetrisch bezeichnet wird. Die Sicherheit der Daten hängt von der Geheimhaltung des privaten Schlüssels ab.

Diese asymmetrische Verschlüsselung wird während des sicheren Kanals zwischen den Knoten oder zwischen dem Knoten und dem Client verwendet.

Um es einfacher zu machen: Asymmetrische Kryptographie ist wie ein Ein-Wege-Prozess der nicht zurückverfolgt werden kann. Bei der symmetrischen Kryptographie wird der geheime Schlüssel zum Ver- und Entschlüsseln von Daten verwendet (mit nur einem einzigen Schlüssel).

Hierbei sprechen wir vom RSA-Kryptosystem, das aufgrund der Anfangsbuchstaben der Nachnamen der Schöpfer (Rivest-Shamir-Adleman) so bezeichnet wird. Der Verschlüsselungsschlüssel ist öffentlich und unterscheidet sich von dem geheimen (privaten) Entschlüsselungsschlüssel.

Verschlüsselung und Entschlüsselung

Beginnen wir mit einem einfachen Beispiel. Stellen Sie sich vor, Sie sind der Absender einiger Daten. Dies kann eine Zahlung / Transaktion oder etwas anderes sein. Dazu müssen Sie den Smart-Contract mit Ihrem Schlüssel signieren.

Der öffentliche Schlüssel kann im Smart-Contract gespeichert sein oder Sie können ihn einfach für den gewünschten Benutzer freigeben. Wenn Sie über den privaten Schlüssel verfügen, können Sie einen beliebigen Vorgang zur Nutzung des Smart-Contracts signieren.

Der private Schlüssel und der öffentliche Schlüssel (zusammen auch als „Schlüsselpaar“ bezeichnet) sind mathematisch korreliert.

Privater und öffentlicher Schlüssel

Wenn Sie Ihren privaten Schlüssel im Webclient erstellen (tatsächlich erstellen Sie das gesamte Schlüsselpaar), laden Sie die Datei normalerweise automatisch mit der Erweiterung .unikey herunter.

Sie müssen diese Datei nicht in Notepad oder einem anderen Editor „öffnen“. Diese Datei ist Ihr Schlüssel. Das ist alles. Nicht mehr, nicht weniger.

Sie sollten diese Datei niemals weitergeben, Dritten Zugriff darauf gewähren oder versuchen diese mit einem Programm oder Texteditor zu öffnen. Sie würden das Risiko eingehen diese irreparabel zu beschädigen und den Zugriff auf Ihre Daten für immer zu verlieren.

Dies ist das Wichtigste bei der Verwendung der Universa Blockchain: Mit dem Schlüsselpaar können Sie Verträge signieren und prüfen. Wie Sie sich vielleicht erinnern, speichert das Universa Blockchain-Protokoll nur die Hashes der Revision des Smart-Contracts.

Um diesen zu ändern, müssen Sie nachweisen, dass Sie über den entsprechenden privaten Schlüssel für den Smart-Contract verfügen. Auf der Knowledge-BasedWebsite finden Sie weitere Informationen zu den Schlüsselpaaren bei Universa.

Signierung und Verifizierung

Wenn Sie eine Transaktion auf der Universa Blockchain durchführen möchten, müssen Sie diese mit Ihren Schlüsseln signieren. Stellen Sie sich den privaten Schlüssel als Ihren einzigartigen persönlichen Stempel oder Ihre Unterschrift vor, den niemand außer Ihnen verwenden kann und mit dem Sie jedes Dokument für andere Parteien signieren können.

Der öffentliche Schlüssel steht verschiedenen Parteien, mit denen Sie kommunizieren, zur Verfügung.

Um einen Smart-Contract zu registrieren, müssen Sie diesen signieren. Sie können ihn auch bearbeiten, aber wenn Sie dies tun möchten, dann müssen Sie den Schlüssel haben um es zu signieren. Das System prüft ob Sie dazu berechtigt sind.

Übrigens: Der Schritt vom öffentlichen Schlüssel zu den entsprechenden Adressen erfolgt übrigens durch Hashing (jedoch nicht durch die HashID-Funktion, die recht komplex ist und daher nur zum Hashing des gesamten Vertrags verwendet wird).

Durch das Verschlüsseln einer Nachricht mit dem öffentlichen Schlüssel wird automatisch überprüft ob der Absender derjenige ist, der er angibt zu sein, da der öffentliche Schlüssel möglicherweise für alle öffentlich ist. Um den Ursprung einer Nachricht zu überprüfen kann RSA auch zum Signieren einer Nachricht verwendet werden.

Angenommen Sie möchten eine signierte Nachricht an Alexander senden. Sie können diese entschlüsseln und der Nachricht einen Hashwert als „Signatur“ hinzufügen.

Wenn Alexander die signierte Nachricht erhält verwendet er denselben Hash-Algorithmus in Verbindung mit Ihrem öffentlichen Schlüssel. Dieser verschlüsselt die Nachricht und vergleicht den resultierenden Hashwert mit dem tatsächlichen Hashwert der Nachricht.

Wenn die beiden übereinstimmen, weiß das Netzwerk auch, dass der Autor der Nachricht im Besitz Ihres privaten Schlüssels war und dass die Nachricht seitdem nicht mehr manipuliert wurde.

Lange und kurze Adressen

Die Adresse ist eine kurze alternative Darstellung Ihres öffentlichen Schlüssels, die bequem verwendet werden kann wenn Sie sie in einigen Formularen eingeben müssen. Sie können alternativ eine kurze Adresse (51 Symbole lang) oder eine lange Adresse (72 Symbole lang) verwenden.

Beide beziehen sich auf denselben öffentlichen Schlüssel. Die lange Adresse bietet das ultimative Sicherheitsniveau und die kurze Adresse bietet immer noch ausreichende Sicherheit für die meisten Verwendungsszenarien. Die lange Adresse verwendet SHA3-384 und die kurze Version SHA3-256.

Weitere Informationen zur Binär- und Textdarstellung der Adressen finden Sie auf unserer Knowledge-Based Website.

Bei Universa kann das einzelne Schlüsselpaar dazu verwendet werden mehrere Adressen zu generieren. Jede von ihnen kann unabhängig verwendet werden, verweist jedoch immer noch auf denselben öffentlichen Schlüssel. Haben Sie irgendwelche Fragen? Kontaktieren Sie @starnold bei Telegram.

Help translating this post to Englisch Französisch Niederländisch Italienisch Spanisch Kroatisch Russisch. Contact @starnold to participate!

Related posts

Was macht die Universa Blockchain so sicher? HashID

Arnold

Innerhalb des Universa DAG

Arnold

The Digital Migration: Why Universa is the Rail Blazer

kobina

Leave a Comment