15 49.0138 8.38624 1 0 4000 1 https://www.frank-gehry.com 300 0
theme-sticky-logo-alt
theme-logo-alt

Alles über Hashing-Algorithmen und wie sie funktionieren

Heute werden wir erklären Wie funktionieren Hashing-Algorithmen? und was ihre Funktion in einer Kryptowährung ist.

Was ist Hashing?

Ein Hash-Algorithmus komprimiert Daten auf eine bestimmte Größe. Mit Hashes können Computer Dateien oder Datenbanken einfach vergleichen oder identifizieren. Anstatt die gesamten Daten in ihrer ursprünglichen Form durchzugehen, vergleichen sie nur die Hash-Werte. Hashing kann zum Speichern von Passwörtern, Computergrafiken, SSL-Zertifikaten und vielen anderen Funktionen angewendet werden.

Die bestimmenden Merkmale von Hashing sind Irreversibilität und Einzigartigkeit. Sobald ein Datenpreis gehasht wurde, können Sie das Projekt nicht mehr rückgängig machen. Außerdem erhalten Sie niemals dieselben Hash-Werte, wenn Sie zwei verschiedene Daten hashen. Wenn zwei exakte Hashes für zwei unterschiedliche Daten gefunden werden, wird dieses Vorkommen als “Hash-Kollision” bezeichnet, und ein solcher Algorithmus ist nutzlos.

Bildergebnis für Bitcoin mit HashwertQuelle: Besatzung

Hashing-Funktion

Die mathematische Funktion, die die Eingabedaten beliebiger Länge in einen komprimierten numerischen Wert umwandelt, dh die Ausgabe einer festen Länge, wird als Hashing-Funktion bezeichnet. Die numerische Ausgabe wird als Hash-Wert oder Hash bezeichnet.

Bildergebnis für Hashwert-KryptoQuelle: ResearchGate

Die Länge der Ausgabe oder des Hash wird durch den verwendeten Hashing-Algorithmus bestimmt. Der gemeinsame Längenbereich für Hashing-Algorithmen oder -Funktionen liegt zwischen 160 und 512 Bit.

Hashwert

Wie oben erwähnt, wird der Hash-Wert aus einer Basiseingabennummer generiert, die unter Verwendung des Hashing-Algorithmus konvertiert wurde.

Datei: Hash-Tabelle 4 1 1 0 0 1 0 LL.svgQuelle: Wikipedia

In Crypto wird der öffentliche Schlüssel mit dem Hashwert verschlüsselt. Es ist fast unmöglich, die ursprünglichen Eingabenummern zu bestimmen, ohne dass die Daten vom Hash-Wert verwendet werden.

Was sind Hashing-Algorithmen? Wie funktionieren Hashing-Algorithmen??

Eine Hash-Funktion ist der Kern des Hashing-Algorithmus. Um den Hash-Wert einer voreingestellten Länge zu generieren, müssen die Eingabedaten zunächst in Blöcke fester Größe unterteilt werden, da die Hash-Funktion Daten mit fester Größe aufnimmt. Diese werden als “Datenblöcke” bezeichnet.

Datenblöcke haben je nach angewendetem Algorithmus unterschiedliche Größen. In den meisten Fällen liegt die Nachricht nicht im Vielfachen der Blockgrößenbeschränkung. Im Allgemeinen wird die Auffülltechnik verwendet, bei der die gesamte Nachricht in Datenblöcke fester Größe aufgeteilt wird. Die Hash-Funktion wird für so viele Datenblöcke wie möglich angewendet, die sich ergeben haben.

Blöcke werden einzeln verarbeitet, wobei die Ausgabe des ersten Datenblocks zusammen mit dem zweiten Datenblock als Eingabe angegeben wird. Dann wird die Ausgabe des zweiten als Eingabe mit dem dritten Block gegeben, und dies geht weiter, bis der letzte Block verarbeitet wird. Das Endergebnis ist also eine Kombination aller Blöcke. Wenn ein Bit in der Nachricht geändert wird, ändert dies den Hash-Wert vollständig. Dies wird als „Lawineneffekt“ bezeichnet.

Datei: Cryptographic Hash Function.svgQuelle: Wikipedia

Obwohl Hashing-Algorithmen erstellt wurden, um als Einwegfunktion zu dienen, die nicht invertiert werden kann, gab es viele Fälle von Hashes, die kompromittiert wurden.

Kryptografische Hashes werden zum Erstellen digitaler Signaturen verwendet, die bei der Kennwortspeicherung, bei Dateiverifizierungssystemen, bei der Nachrichtenauthentifizierung und bei verschiedenen anderen Authentifizierungsformen verwendet werden.

Ein Problem, das wir in unserem Arbeitshandbuch für Hashing-Algorithmen diskutieren werden, sind Kollisionen. Da Hashes eine Zeichenfolge fester Länge charakterisieren, bedeutet dies, dass es für jede mögliche Eingabe andere Eingaben gibt, die zur Generierung desselben Hashs führen können.

Wenn es jemandem gelingt, bei Bedarf Kollisionen zu erstellen, kann er die gefälschten Dateien oder Daten als Beweis dafür verwenden, dass er den richtigen Hash hat. Hash-Computing sollte nicht übermäßig effizient sein, da es das künstliche Computing von Kollisionen erleichtert.

Eine gute Hash-Funktion sollte in der Lage sein:

  • Berechnen Sie mit hoher Geschwindigkeit den Hash-Wert aller Arten von Daten.
  • Es ist unmöglich, eine Nachricht daraus zurückzuverfolgen oder zu berechnen (Brute-Force-Angriff ist die einzige Option).
  • Seien Sie widerstandsfähig gegen “Pre-Image-Angriffe” (bei denen Hacker versuchen, den Wert zu replizieren, der den Hash generiert hat).
  • Vermeiden Sie Hash-Kollisionen. Jede Nachricht muss einen eigenen Hash haben.
  • Dies führt zu einem Lawineneffekt, wenn an einer beliebigen Stelle in der Nachricht eine Änderung vorgenommen wird.

Allgemeine Hashing-Algorithmen

MD5

MD5 war einer der ersten Hashing-Algorithmen, die ausgiebig verwendet wurden, bis sie kompromittiert wurden. Aufgrund seiner zahlreichen Sicherheitslücken wurde MD5 als für die weitere Verwendung ungeeignet eingestuft. Heute wird es nur verwendet, um Daten auf versehentliche Korruption zu überprüfen.

SHA-Familie

Der von der NSA entwickelte Secure Hash-Algorithmus ist eine Familie kryptografischer Hash-Funktionen. Ihr erster Algorithmus, SHA-0 (1993 eingeführt), ist seit Jahrzehnten veraltet.

SHA-1 (1995) erzeugte einen Hashwert von 160 Bit (20 Byte) und brachte nur eine geringfügige Verbesserung für MD5, wodurch die Ausgabe eine 40-stellige Hexadezimalzahl wurde. Aufgrund theoretischer Kollisionen wurde der Algorithmus 2005 kompromittiert, sein Massenersatz erfolgte jedoch 2010.

SHA-2 ist die Algorithmusversion, die noch verwendet wird und als sicher gilt. Die SHA-2-Familie besteht aus sechs Hash-Funktionen: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256.

Im Jahr 2006 Wettbewerb von der Nationales Institut für Standards und Technologie (NIST), SHA-3 wurde entwickelt. SHA-3 wurde 2015 zum Standard, und selbst wenn es als der Rest der NSA-Algorithmen bezeichnet wird, gehört es tatsächlich zu einer Familie von Hashing-Algorithmen, die als KECCAK (ausgesprochen ketch-ak) bekannt sind..

Der Unterschied besteht darin, dass sie eine Schwammkonstruktion haben, die zufällige Permutationen verwendet, um Daten zu absorbieren und auszugeben, während zufällige zukünftige Eingaben ausgegeben werden, die in den Algorithmus implementiert werden.

Hashing und wie es in Blockchain verwendet wird

Um Daten zu hashen, verwendet Bitcoin SHA256, während Ethereum derzeit eine Variante des SHA-3 (KECCAK256) verwendet. Der Proof-of-Work-Algorithmus von Ethereum, Dagger-Hashimoto, wurde für die Hardware-Berechnung als speicherintensiv berechnet.

Der SHA256 von Bitcoin kann nur mit anwendungsspezifischen integrierten Schaltkreisen (ASICs) berechnet werden. Bitcoin hascht Daten mit SHA256, indem zwei Versionen des Algorithmus in seinem Protokoll verwendet werden. Durch die Verwendung eines doppelten SHA256 kann Bitcoin den Schaden eines möglichen Längenverlängerungsangriffs verringern.

Bei dieser Art von Angriff versucht der Hacker, die Länge einer Hash-Eingabe zu ermitteln und damit die Hash-Funktion auszutricksen, um einen bestimmten Teil seines internen Status zu initiieren, indem er dem Hash-Wert eine geheime Zeichenfolge zuweist.

Fazit

Wir hoffen, dass Sie jetzt wissen, wie Hashing-Algorithmen funktionieren und wie diese Art der Verschlüsselung für Krypto und Blockchain relevant ist.

Ausgewähltes Bild: Steemit

Previous Post
קזינו DuckDice: משחק קוביות ביטקוין חדש עם ברז ביטקוין!
Next Post
أفضل 10 طرق لشراء Bitcoin ببطاقة مسبقة الدفع