it-swarm.com.de

Verwenden Sie mehrere Computer für schnellere Brute Force

Ich habe Mr. Robot in letzter Zeit gesehen und kann nicht aufhören zu überlegen, warum es so schwierig war, mit AES-Verschlüsselung mit einem 256-Bit-Schlüssel verschlüsselte Dateien zu entschlüsseln.
Nehmen wir an, die einzige Methode, um den Schlüssel zu finden, ist rohe Gewalt.
Können wir nicht einen Computer so einstellen, dass er ab dem ersten möglichen Schlüssel brachial und einen anderen ab dem letztmöglichen Schlüssel beginnt, und vielleicht ein paar Computer, um die Schlüssel in der Mitte auszuprobieren?
Würde das nicht die Zeit dramatisch verkürzen?

28
Mero55

Sicher ist es möglich, aber es hilft nicht wirklich. Die Anzahl der Möglichkeiten ist einfach zu groß.

Beachten Sie, dass ein 256-Bit-Schlüssel 2 hat256 mögliche Werte. Das ist 12-1076oder 12 gefolgt von 76 Nullen. Wenn wir großzügig davon ausgehen, dass ein Computer eine Billion testen kann (das sind 1012) mögliche Schlüssel pro Sekunde, und dass wir eine Billion Computer haben (woher bekommen wir sie?), die die Schlüsselsuche durchführen, dauert es 12✕1076/ (1012✕1012) Sekunden, um den gesamten Schlüsselraum zu durchsuchen. Das ist 12-1052 Sekunden. Da ein Jahrhundert nur 3.155.760.000 Sekunden benötigt, dauert es ungefähr 4 approximately1043 Jahrhunderte, um alle möglichen Schlüssel zu versuchen. Es besteht eine 50: 50-Chance, dass Sie den Schlüssel in nur der Hälfte dieser Zeit finden.

So wird die Verschlüsselung entworfen. Die Anzahl der Möglichkeiten ist einfach zu groß, um rechtzeitig geknackt zu werden, was für den Menschen interessant ist.

71
Neil Smithline

Ich habe dies einmal berechnet. Nehmen wir an, AES kann nur mit roher Gewalt gebrochen werden. Natürlich brauchen wir einen Zähler, der von 0 bis 2 zählt256-1und im Durchschnitt muss es bis 2 zählen255. Das Betreiben dieses Zählers kostet Energie. Wie viel Energie braucht es?

Wie sich herausstellt, gibt es hier eine thermodynamische Grenze, das Landauer-Prinzip. Bei einer bestimmten Temperatur ist eine minimale Energiemenge erforderlich, um ein Bit einzustellen (1 Bit Entropie), denn wenn wir nicht so viel Energie verbrauchen, können wir die Entropie des Systems tatsächlich verringern, was thermodynamisch ist unmöglich. Die Energie, die es benötigt, ist kT ln 2, wobei k die Boltzman-Konstante ist (1,38 × 10−23 J/K) und T ist die Temperatur in Kelvin. Natürlich wollen wir dies so günstig wie möglich machen, also lassen Sie uns die Berechnungen bei 3 Kelvin durchführen, was ungefähr der Temperatur der Hintergrundstrahlung des Universums entspricht. Wir können nicht cooler sein, ohne mehr Energie für die Kühlung des Systems aufzuwenden, als wir für das Umdrehen der Bits ausgegeben hätten! Dadurch werden die Energiekosten für ein leichtes Umdrehen auf 2,87 × 10 festgelegt−23 J/Bit.

Wie viele Bitflips brauchen wir jetzt? Die Antwort wird viel sein. Um die Energiemengen für den Menschen verständlich zu halten, möchte ich das Problem vereinfachen. Anstatt AES-256 zu lösen, tun wir so, als würden wir AES-192 lösen, was nur das Zählen bis 2 erfordert191. Wie viele Bitflips brauchen wir also? Wenn wir in normaler Binärzahl gezählt haben, müssen wir möglicherweise mehrere Bits pro Inkrement des Zählers umdrehen. Die Berechnung ist ärgerlich. Stellen Sie sich also vor, wir könnten diesen Zähler mit Gray Codes ausführen, der nur ein Bit pro Inkrement umdreht.

Inkrementieren eines Zählers 2191 mal bei 2,87 × 10−23 J/Bit ergibt 9 × 1034 J. Das ist viel Energie. Wenn ich zu einer meiner Lieblings-Wikipedia-Seiten gehe, Größenordnung (Energie) , sehen wir, dass die von unserer Sonne jedes Jahr emittierte Energie 1,2 × 10 beträgt34 J. Das stimmt. Allein das Ausführen des Zählers , der den Kern des AES-Unterbrechungsprozesses bilden würde, würde die Gesamtsumme von fast einem Jahrzehnt der energetischen Leistung der Sonne in Anspruch nehmen. Alles davon.

Wenn wir nun das ursprüngliche AES-256-Problem erneut betrachten, steigen die Energiekosten um 264. Somit würde dieser Zähler 1,6 × 10 dauern54 J. Betrachtet man erneut die Größenordnung (Energie), so stellt man fest, dass die gesamte sichtbare Massenenergie in der Milchstraßengalaxie 4 × 10 beträgt58 J. Wenn Sie also 0,004% der gesamten Massenenergie der Galaxie umwandeln würden (d. H. Die gesamte Masse unter Verwendung von E = mc in Energie umwandeln2) könnten Sie einen Zähler ausführen, der von 0 bis 2 zählen könnte255.

Deshalb erzwingt man niemals brutal einen modernen Krypto-Algorithmus. Die benötigten Energiemengen sind buchstäblich auf der Ebene des "Hitzetodes des Universums".

40
Cort Ammon

Es ist nicht nur möglich, die Leute haben das tatsächlich erfolgreich gemacht. Aber nur mit sehr kurzen Tasten.

Distributed.net gelang es 2002, eine 64-Bit-RC5-Verschlüsselung mithilfe eines verteilten Computernetzwerks zu unterbrechen. Bei den Computern handelte es sich hauptsächlich um PCs für Endverbraucher, die Freiwilligen gehörten und im Hintergrund ein Programm zum Knacken von Schlüsseln installierten. Dies war Teil von der RSA Secret Key Challenge - einem Wettbewerb von RSA Labs zum Entschlüsseln von Nachrichten, die mit Schlüsseln verschlüsselt wurden, die weitaus kürzer sind als in der realen Welt.

"Nach über vierjähriger Anstrengung, Hunderttausenden von Teilnehmern und Millionen von CPU-Stunden Arbeit hat Distributed.net den Schlüssel zur 64-Bit-Verschlüsselungsherausforderung von RSA Security brutal erzwungen."

Sie haben 2003 ein weiteres Projekt gestartet, um die RSA 72-Bit-Herausforderung zu gewinnen. 13 Jahre später sie berechnen immer noch und haben noch nicht einmal 4% des Schlüsselraums getestet .

Beachten Sie, dass dies extrem vereinfachte Versionen von RSA sind. Die empfohlene Schlüssellänge für RSA-RC5 in der realen Welt beträgt mindestens 128 Bit. Jedes zusätzliche Bit verdoppelt die Rechenzeit, sodass diese verteilten Ansätze noch Lichtjahre von einem Angriff auf eine reale Verschlüsselung entfernt sind.

3
Philipp