it-swarm.com.de

SHA256-Sicherheit: Was bedeutet es, dass Angriffe "46 der 60 Runden von SHA256" gebrochen haben?

Wikipedia berichtet

Derzeit brechen die besten öffentlichen Angriffe 46 der 64 Runden von SHA-256 oder 46 der 80 Runden von SHA-512.

Was bedeutet das und wie sicher wird SHA-256 in der denkbaren Zukunft sein? Für einen Laien klingen 46 von 64 vielleicht so, als ob es sich um "72% kaputt" handelt. Da Bitcoin auf SHA-256 basiert, wird es wahrscheinlich immer noch sicher bleiben?

31
Random Random

Viele kryptografische Algorithmen (Hash-Funktionen, symmetrische Verschlüsselung ...) sind als Folge von "Runden" organisiert, die einander mehr oder weniger ähnlich sind. Es wurde empirisch bemerkt, dass für eine gegebene Algorithmusstruktur normalerweise Mehr Runden mehr Sicherheit bedeuten; Genau genommen sehen einige Angriffsklassen (z. B. Differential und lineare Kryptoanalyse ), dass ihre Effizienz mit der Anzahl der Runden mehr oder weniger exponentiell abnimmt.

Wenn Kryptographen nicht wissen, wie ein vollständiger Algorithmus zu brechen ist, versuchen sie, reduzierte Versionen desselben Algorithmus zu brechen, wobei einige Funktionen entfernt werden. insbesondere weniger Runden für Algorithmen mit Runden. Wenn SHA-256 als "bis zu 46 Runden" gebrochen bezeichnet wird, bedeutet dies, dass eine andere Hash-Funktion, die durch Einnahme von SHA-256, aber Entfernen der letzten 18 Runden erhalten wird, angegriffen werden kann (zumindest auf "akademische Weise"): Der Angriff muss nicht realistisch sein, er muss nur weniger unmöglich sein als der Angriff auf die volle Funktion. Aber nur die letzten 17 Runden zu entfernen, ergibt eine Funktion, die, soweit wir wissen, so gut ist wie die ganze Sache. Kryptographen werden sich sicherer fühlen wenn die maximale Anzahl angegriffener Runden wesentlich niedriger ist als die tatsächliche Anzahl von Runden im vollständigen Algorithmus.

Da das Verhalten der Angriffseffizienz in der Anzahl der Runden tendenziell exponentiell und nicht linear ist, kann (und darf) dies nicht einmal intuitiv übersetzt werden in: "Kann 80% der Runden brechen -> Algorithmus bei 80% gebrochen". Analogie: Angenommen, Sie möchten Ihr Vermögen erhöhen, indem Sie es zehnmal verdoppeln. Sie beginnen mit einem Dollar; Nach zehn Verdopplungen hätten Sie 1024 Dollar. Das ist dein Ziel. Nach acht Verdopplungen haben Sie 256 Dollar. Acht von zehn Verdopplungen: Das sind 80% der Arbeit, oder? Wie kommt es dann, dass Sie nur 256 Dollar haben und nicht 80% von 1024 Dollar (das wären 819,2 Dollar)?

Um zusammenzufassen, sollten Sie nicht versuchen, in diesen Behauptungen zu viel zu lesen. Es sind wissenschaftliche Ergebnisse, die für Wissenschaftler interessant sind, aber leicht überinterpretiert werden können.

33
Tom Leek

Erstens, um den Teil "72%" anzusprechen:

Nee. Sie sind mehr oder weniger auf dem gleichen Sicherheitsniveau.

Schauen wir uns ein anderes Zitat auf die Seite an:

Es gibt zwei Pre-Image-Angriffe gegen SHA-2 mit einer reduzierten Anzahl von Runden. Der erste greift 41-Runden-SHA-256 von 64 Runden mit einer Zeitkomplexität von 2 an253.5 und Raumkomplexität von 216und 46-Runden-SHA-512 von 80 Runden mit der Zeit 2511.5 und Raum 23. Der zweite greift 42-Runden-SHA-256 mit einer Zeitkomplexität von 2 an251.7 und Raumkomplexität von 212und 42-Runden-SHA-512 mit der Zeit 2502 und Raum 222.

SHA-256 hat eine Zeitkomplexität von 2256 normal knacken. Reduzieren auf 2253.5 ist ein vernachlässigbarer Unterschied, und es würde Jahrhunderte solcher Änderungen dauern, bis das Knacken möglich wäre SHA wäre machbar.


Über "Runden":

SHA-256 und SHA-512 sind im Grunde eine bestimmte Funktion (mit unterschiedlichen Konstanten für die beiden Algorithmen), die immer wieder auf eine Zahl angewendet wird. Jedes Mal, wenn Sie es anwenden, wird es als "Runde" bezeichnet. Was diese Forscher anscheinend getan haben, sind die SHA - Algorithmen für eine reduzierte Anzahl von Runden und das Knacken , dass .

8
Manishearth