Was ist hashing?

By Anycoin Direct

In dieser Lektion werden wir über Hashing sprechen. Es ist sicherlich nicht einfach, aber wir werden uns davon nicht abschrecken lassen. Los geht's.

Kurze Zusammenfassung

✔️ Unter Hashing versteht man die Umwandlung einer Sammlung von Daten in einen Code, den Hash, unter Verwendung einer vorher festgelegten Berechnung.

✔️ Hashing wird häufig verwendet, um Passwörter so zu sichern, dass nur der Benutzer sie lesen kann, und um Prüfsummen beim Herunterladen von Dateien zu vergleichen.

✔️ Digitale Signaturen verwenden Hashing zur Authentifizierung, wobei der Empfänger den private key benötigt, um die Nachricht zu entschlüsseln.

✔️ Kryptowährungen verwenden Hashing für das Mining, bei dem Computer ihre Rechenleistung einsetzen müssen, um Rätsel zu lösen, um Belohnungen zu erhalten.

Hashing

Hashing ist der Prozess der Umwandlung einer Datensammlung durch eine Funktion in einen Code, den Hash.

Lassen Sie uns zunächst erklären, was ein Hash ist. Ein Hash ist das Ergebnis einer Berechnung, die auf vorher festgelegten Bedingungen basiert. Ein Hash besteht aus einer Reihe von Zahlen und Buchstaben.

Zur Veranschaulichung geben wir Ihnen ein Beispiel für Hashing. Mit SHA (Secure Hashing Algorithm) 256 können Sie einen Hash für jede Art von Textinformation erhalten. Ich werde zwei Sätze erstellen, die sich sehr ähnlich sind, deren Ergebnis (der Hash) aber sehr unterschiedlich aussieht.

Der Satz “was ist Hashing" (Eingabe) ergibt den folgenden Hashwert:

a85eaf708bd0da1c0b7206ab8d69c30403b34be19588b71702d420ff9b21f09c (Ausgabe)

Der Satz "Was ist Hashing" ergibt einen ganz anderen Hash:

4bc6139ce79a8c6aeca74cd9397259fb54d4ea4fc7b930bb74404cfe94c34bcd

SHA-256 erzeugt einen 256 Bit langen Hash (64 Zeichen).

Übrigens funktionieren Hashes in eine Richtung. Sie können den Hash eines Satzes erstellen, aber Sie können einen Satz nicht aus dem Hash rekonstruieren.

Ein Hash muss so aufgebaut sein, dass es einen unzumutbaren Aufwand erfordert, den Hash mit roher Gewalt zu erraten (indem einfach alle Möglichkeiten 1 zu 1 überprüft werden). Je mehr Zeichen eine Hash-Funktion erzeugt, desto schwieriger ist eine Eingabe zu knacken.

Jetzt muss die Idee des Hashings in Ihrer Vorstellung Gestalt angenommen haben.

Wofür wird Hashing verwendet?

Im Allgemeinen können wir sagen, dass Hashing zur Sicherung von Daten verwendet wird. Am häufigsten wird es in der IT zur Sicherung von Passwörtern verwendet.

Angenommen, Sie denken sich ein Passwort aus und müssen es über das Internet versenden, indem Sie es irgendwo eingeben. Wenn es im Klartext ohne Verschlüsselung oder Hash gesendet wird, können Hacker lesen, was Sie dort eingeben. Deshalb werden Passwörter heute gehasht, so dass nur der Nutzer lesen kann, was er eingibt.

Hashing kann auch beim Herunterladen von Dateien verwendet werden. Sie berechnen zunächst den Hash-Wert der Datei, bevor Sie sie herunterladen, und sehen dann nach, ob die so genannte Prüfsumme gleich ist. Wenn beide Werte gleich sind, ist die Datei das Original. Sehr praktisch, wenn Sie nicht wollen, dass Viren oder Trojanische Pferde über die Ports übertragen werden.

Ein bekanntes Phänomen aus der Kryptowelt ist die digitale Signatur. Hier haben Sie einen Sender und einen Empfänger. Von einer Nachricht wird ein Hash erstellt. Ohne den privaten Schlüssel kann die Nachricht nicht gelesen werden. Der Empfänger der Nachricht benötigt dann den geheimen Schlüssel, um die Nachricht zu entschlüsseln. Wenn der Hash der Nachricht mit dem Hash übereinstimmt, der mit diesem Schlüssel berechnet werden kann, ist die Nachricht identisch mit der ursprünglichen Nachricht.

Bei Kryptowährungen arbeiten sie mit dem privaten Schlüssel und dem öffentlichen Schlüssel, um Ihre Adresse anzuzeigen (öffentlich) oder festzustellen, ob Sie diesen Geldbetrag ausgeben können (privater Schlüssel).

Er wird auch für persönliche Daten verwendet. Wenn Sie online in einem Geschäft etwas bestellen, erstellen Sie zunächst ein Konto. Die meisten Ihrer Daten werden gehasht, so dass Sie anonym bestellen können, aber die Lieferung kann an Ihre Adresse erfolgen.

Das Hashing kann durch Salt und Pepper noch etwas sicherer gemacht werden. Mit Salz können Sie dem Hash eine zufällig generierte Zahl hinzufügen, die dann einen neuen Hash erzeugt, um es Hackern noch schwerer zu machen, den Code zu knacken.

Sie können auch eine Prise Pfeffer hinzufügen, indem Sie eine zufällig generierte Zeichenfolge von 32 Zeichen hinzufügen, die für alle Datensätze gleich ist.

Bitcoin-Hashing

Beim Schürfen von Bitcoin spricht man oft von der Hash-Rate. Vielleicht können Sie jetzt erraten, was damit gemeint ist.

Die Hashrate eines Computers ist die Rechenleistung, die er besitzt, um ein schwieriges kryptographisches Rätsel zu lösen. Dieses schwierige Rätsel ist das Erraten der Eingabe eines Hashwertes. Derjenige, der ihn zuerst errät, darf einen neuen Block zur Blockchain hinzufügen und erhält die Belohnung in Form von Transaktionsgebühren und neuen Bitcoins.

Die Hashrate des Bitcoin-Netzwerks ist die Gesamtrechenleistung aller Computer, die Bitcoin schürfen. Je höher sie ist, desto schwieriger muss das Rätsel werden. Tatsache ist, dass laut Satoshi Nakamoto etwa alle 10 Minuten ein neuer Block gefunden werden muss. Wenn die Rechenleistung nachlässt, z.B. wenn viele Miner aufhören, muss das Rätsel einfacher werden, sonst werden aus den zehn Minuten schnell 11 oder 12 Minuten und machen einen Strich durch die Rechnung.

Wenn ein neuer Block bei Bitcoin erstellt wird, besteht er aus einer Reihe von Abschnitten. Jeder Block enthält einen Hash des vorherigen Blocks. Damit soll sichergestellt werden, dass alle Blöcke der Reihe nach gespeichert werden.

Als nächstes stoßen Sie auf die tx_root, den Wurzel-Hashwert des Merkle-Baums, der alle Transaktionen enthält. Einen Merkle-Baum kann man sich als eine Sammlung von Hashes vorstellen. Es handelt sich um ein Baumdiagramm, bei dem alle Transaktionen mit einem Hashwert versehen und zusammengeführt werden, bis nur noch ein Datensatz mit allen Transaktionen (Hashwerten) in einem einzigen Hashwert übrig bleibt, die Merkle-Wurzel oder auch Root-Hash genannt. Mit dieser Methode ist ein Block viel weniger bevölkert, als wenn Sie alle Transaktionen in ihn hineinschreiben müssten, was die Geschwindigkeit erhöht.

Als nächstes kommt der Zeitstempel. Dieser enthält den Zeitpunkt, zu dem der Block erstellt wurde. Auf diese Weise können Sie nur Blöcke vorwärts in der Zeit erstellen.

Als nächstes kommt die Nonce. Dies ist ein Hash, den der Miner erraten muss, um einen neuen Block schürfen zu dürfen.

In Kryptowährungen wird das Hashing verwendet, weil es so gut und schnell funktioniert. Hashing trägt auch erheblich zur Sicherheit bei, weil es ein Einwegsystem ist. Sie können sehr leicht einen Hash generieren, aber die Eingabe aus dem Hash zu erraten, ist fast unmöglich.

Testen Sie Ihr Wissen

Frage: 1/5Wie nennen Sie das, was Sie in eine hash umwandeln wollen?
AInput
BOutput
CInfo
DKryptografische