In der Computersicherheit ist die Hash-Funktion sehr wichtig, um die Integrität der Übertragung und Registrierung von Informationen zu gewährleisten, die ein hohes Maß an Schutz erfordern.
Hash-Funktionen werden in Aktionen wie der Benutzervalidierung und -authentifizierung, dem Signieren von Dokumenten und auch in verwendet criptomonedas als Methode zur Vermeidung von Transaktionsfälschungen und zur Verhinderung böswilliger Handlungen.
Eine Hash-Funktion ist ein kryptografisches Verfahren, bei dem ein bestimmter Algorithmus verwendet wird, um eine bestimmte Information (z. B. Text) in eine eindeutige alphanumerische Folge fester Länge, einen sogenannten Hash, umzuwandeln.
Wie wir bereits ausführlich erklärt haben Was ist ein Hash? Im vorherigen Kapitel werden wir nicht sehr ins Detail gehen, aber wir werden hervorheben, dass ein Hash nicht das Ergebnis einer Verschlüsselung ist, sondern dass es sich um eine einseitige Zusammenfassung handelt, da der Prozess irreversibel ist, d. h. die ursprünglichen Informationen kann nicht vom endgültigen Hash aus entschlüsselt/wiederhergestellt werden, wenn nicht versucht wird, einen Hash durchzuführen, ohne anzuhalten, bis Sie den Originaltext gefunden haben, vorausgesetzt, dass der gefundene Hash mit dem von Ihnen gesuchten und bereits bekannten übereinstimmt.
Im Laufe der Jahre sind viele Möglichkeiten (Algorithmen) zum Generieren von Hashes aufgetaucht, das heißt, es gibt viele Arten von Hash-Funktionen, aber dAus technischer Sicht müssen sie alle eine Reihe von Eigenschaften aufweisen, um ihren Zweck ordnungsgemäß zu erfüllen:
- Unidirektionalität: Wenn wir ein Dokument M haben, ermöglicht uns der Hash, daraus einen zusammenfassenden Hash namens h(M) zu erstellen, aber aus diesem Hash ist es unmöglich, den Inhalt des Originaldokuments M zu kennen.
- Compression: Das Gewicht des Dokuments M ist gleichgültig, da der resultierende Hash immer die gleiche Länge und die gleiche Anzahl von Bits hat.
- Einfache Berechnung: Für eine schnelle Erzeugung sollte es einfach sein, h(M) aus „M“ zu berechnen, und keine Verschwendung von Zeit, Energie und Rechenleistung.
- Bitübertragung: Der Hash h(M) muss eine komplexe Funktion der ursprünglichen Nachricht „M“ sein. Wenn M irgendwo geändert würde, und selbst wenn es nur eine minimale Änderung wäre, würde sich das Element h(M) vollständig ändern.
- Schwacher Kollisionswiderstand: Es wird rechnerisch unmöglich sein, dass wir, wenn wir M kennen, ein anderes M' finden können, so dass h(M) = h(M'). Erstes Vorbild.
- Starke Kollisionsbeständigkeit: Es muss rechnerisch schwierig sein, ein Paar (M, M') zu finden, so dass h(M) = h(M'). Zweites Vorbild.
Hash-Sicherheit
Ja. Den Originaltext von a finden Sie hier Hash-. Aber es ist praktisch unmöglich. Nur mit roher Gewalt.
Beispielsweise hat der 128-Bit-Hash (eine Basisversion von Hash) 2^128 verschiedene Möglichkeiten und die Wahrscheinlichkeit von 50 % wäre die Quadratwurzel von 2^128, was dazu führt, dass 2^64 einer Instanz auftreten. Daraus ergibt sich, dass es auf statistischer Ebene einfacher ist, die Kollision zu durchbrechen, als den Widerstand des vorherigen Bildes zu durchbrechen.
Es ist also wahr, dass es auf der Welt keine Hash-Funktion gibt, die kollisionsfrei ist, aber wenn sie keinen Konstruktionsfehler aufweist, ist das Brechen sehr kompliziert und würde eine beträchtliche Zeit in Anspruch nehmen, manchmal Milliarden von Jahren mit einer Kapazität Rechenleistung, die größer ist als die des gesamten Planeten Erde.
Hash-Funktion in Bitcoin
Einer der Hash-Funktionsalgorithmen schlechthin ist SHA-256wird aufgrund seines Gleichgewichts zwischen Sicherheit und Erzeugungskomplexität (in Bezug auf Zeit- und Energieaufwand) in unzähligen Fällen eingesetzt.
Einer der Hunderttausenden Einsatzorte ist Bitcoin.
Innerhalb der Bitcoin-Ökosystem Die Hash-Funktion ist sehr wichtig, solange sie effizient ist. Damit dies der Fall ist, muss der Hash komplex sein und somit ein hohes Maß an Sicherheit bieten, was bedeutet, dass seine Berechnung länger dauert und desto ineffizienter ist Prozess ist.
Die Hash-Funktion in Bitcoin wird in zwei Bereichen verwendet.
1. Erstellung der Adresse
Eine der häufigsten Anwendungen der Hash-Funktion ist der Generierungsprozess von Bitcoin-Adressen.
Die SHA256-Hash-Funktion wird bei der Adressgenerierung bis zu dreimal verwendet.
Dank dieser Funktion ist die Adresse kürzer als der öffentliche Schlüssel, von dem sie stammt. Darüber hinaus wird es durch die Generierung insgesamt konsistent gemacht Prüfsummenzeichen.
Wenn Sie immer noch nicht wissen, wie Sie eine Adresse generieren, können Sie fortfahren. über den folgenden Link.
2. Bergbau: Proof-of-Work
Wie wir bereits im entsprechenden Kapitel ausführlich erläutert haben Bitcoin-Miningist die Aktion bestimmter Personen, die beschließen, ihre Rechenleistung dem Bitcoin-Netzwerk zur Überprüfung verschiedener Transaktionen zur Verfügung zu stellen.
Hash-Funktionen sind ein Schlüsselprozess in BlockerstellungTatsächlich wird es auch in mehreren Schritten verwendet, da der Miner die Transaktionen mit dem Block verknüpfen muss. Verwenden Sie dazu die Hash-Funktion, um die zu erstellen Merkle-Baum.
Mit diesem Ergebnis wird zusätzlich zu dem Hash, der sich aus dem vorherigen Block ergibt, und einer Information, die erfunden werden muss (genannt Nuntius) muss sicherstellen, dass der resultierende Hash ein bestimmtes Muster aufweist. Wenn Sie es abschließen, haben Sie das mathematische Problem gelöst, einen Block abgebaut und verdienen derzeit (Juni 50.00) fast 2020 €.
Auf diese Weise werden alle neuen und vergangenen Transaktionen vollständig miteinander verknüpft, wodurch absolute Integrität und Unveränderlichkeit entsteht
Den Hashing-Prozess einmal durchzuführen ist extrem einfach, aber der Miner muss ihn millionenfach durchführen. Es ist wie eine Kniebeuge, die einfach ist, aber millionenfach nicht.
Schließlich, damit die Knoten Stellen Sie sicher, dass alles korrekt ist. Sie führen den Vorgang nur einmal durch und wenden die Hash-Funktion in den verschiedenen Teilen des Prozesses erneut an.
Jetzt wissen Sie, was eine Hash-Funktion ist und welche Rolle sie innerhalb von Kryptowährungen spielt. Wir ermutigen Sie, sich weiter zum Experten für Kryptowährungen und Blockchain-Technologie weiterzubilden.