Trend-Themen
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Ein Brief, den ich 2010 an die SHA-3 Mailingliste geschrieben habe:
Von: Zooko O'Whielacronx
An: hash-forum
Datum: 2010-10-14 03:46 UTC
Leute:
Wenn ein Hash eine 32-Bit Pre-Image-Resistenz hat, bedeutet das, dass ein Angreifer etwa 2³² Ressourcen aufwenden könnte, um ein Pre-Image zu finden.
Wenn ein Hash eine 64-Bit Pre-Image-Resistenz hat, bedeutet das, dass ein Angreifer etwa 2⁶⁴ Ressourcen aufwenden könnte, um ein Pre-Image zu finden.
Was wäre, wenn ein Hash eine 512-Bit Pre-Image-Resistenz hat? Was würde das bedeuten? Dass ein Angreifer etwa 2⁵¹² Ressourcen aufwenden könnte, um ein Pre-Image darin zu finden? Das ist eine bedeutungslose Möglichkeit, darüber zu diskutieren, da 2⁵¹² Ressourcen niemals im Leben dieses Universums existieren werden, also kann es das nicht bedeuten, oder wenn es das bedeutet, dann hat es keinen Sinn, über "512-Bit Pre-Image-Resistenz" zu sprechen. Vielleicht bedeutet es etwas anderes?
Zur Analogie, nehmen wir an, Sie würden den Bau einer Brücke in Betracht ziehen, die 10³ Tonnen Druck standhalten kann. Sie könnten auch eine Brücke in Betracht ziehen, die 10⁶ Tonnen Druck standhalten kann. Wenn die Brücke in einer Situation eingesetzt werden würde, in der mehr als 10³ Tonnen, aber weniger als 10⁶ Tonnen auf ihr lasten könnten, dann wäre das eine sehr wichtige Unterscheidung.
Aber was würde es bedeuten, ein Design für eine Brücke zu diskutieren, die 10¹⁵⁰ Tonnen Druck standhalten könnte? Eine solche Druckmenge könnte niemals auf die Brücke angewendet werden. Wäre es von Wert, einen Unterschied zwischen einem Brückendesign, das 10¹⁵⁰ Tonnen Druck standhalten würde, und einem anderen, das 10³⁰⁰ standhalten würde, zu machen? Auch wenn keiner von beiden jemals so viel wie 10¹⁵⁰ Tonnen Druck erfahren könnte, wäre vielleicht die letztere Brücke immer noch sicherer gegen eine andere Bedrohung – einen Fehler seitens der Bauherren oder Designer oder ein stressiges Ereignis, das nicht im Modell enthalten war, das wir zur Bewertung unserer Brücken ursprünglich verwendet haben.
Oder vielleicht auch nicht. Vielleicht ist die Brücke, die dafür ausgelegt ist, 10³⁰⁰ Tonnen Druck standzuhalten, tatsächlich wahrscheinlicher, zu versagen als die andere, wenn sie von diesem unvorhergesehenen, nicht modellierten Ereignis getroffen wird. Wer kann das sagen?
Eine vernünftige Position wäre, dass es ein Fehler von NIST war, zu spezifizieren, dass einige der SHA-3 Hashes eine 512-Bit Pre-Image-Resistenz haben mussten. (Wenn es ein Fehler war, dann habe ich wirklich keine Ahnung, was ich in dieser Hinsicht tun soll!)
Diese Position besagt, dass es einen Bedarf für eine Hash-Funktion gibt, die viel mehr CPU-Zeit benötigt als SHA-3-256, um eine viel geringere Wahrscheinlichkeit zu bieten, dass ein Angreifer in der Lage ist, ein Pre-Image darin zu finden als in SHA-3-256, aber dass diese "viel geringere Wahrscheinlichkeit" in keinem sinnvollen Sinne mit der Idee einer "512-Bit Pre-Image-Resistenz" korreliert ist.
Eine andere vernünftige Position ist, dass eine Hash-Funktion, von der bekannt ist, dass sie höchstens 384-Bit Pre-Image-Resistenz hat, wahrscheinlicher versagt als eine, von der bekannt ist, dass sie höchstens 512-Bit Pre-Image-Resistenz hat. Hier endet mein begrenztes Verständnis der Kryptoanalyse von Hash-Funktionen. Ist das plausibel? Wenn ich Ihnen zwei solche Hash-Funktionen gebe, sind Sie zuversichtlich, dass Sie lernen könnten, wie man Pre-Images in der ersten findet, bevor Sie Pre-Images in der zweiten finden? Wie sicher sind Sie? Ist es möglich, dass es umgekehrt wäre – dass Sie eine Methode zur Auffindung von Pre-Images in der zweiten entdecken würden, bevor Sie eine Methode zur Auffindung von Pre-Images in der ersten entdecken?
Wenn jemand, der echte Expertise in der Kryptoanalyse von Hash-Funktionen hat und der die letztere Position einnimmt, erklären könnte, was er mit "wahrscheinlicher zu versagen" meint, wäre ich fasziniert, das zu hören.
In jedem Fall bin ich mir ziemlich sicher, dass ich als Benutzer von Hash-Funktionen mich um "wahrscheinlicher zu versagen" (und Effizienz) kümmere, nicht um "Bits der Sicherheit" für irgendein Bit-Level über etwa 128 (einschließlich der Berücksichtigung von Quantenangriffen, Multi-Target-Angriffen usw.).
Danke, dass Sie sich die Zeit genommen haben, dies zu lesen.
Mit freundlichen Grüßen,
Zooko Wilcox-O'Hearn
4,39K
Top
Ranking
Favoriten