Wie kann eine RSA 2048-Verschlüsselung unterbrochen werden?

Beste Antwort

Im Bereich der Kryptoanalyse gibt es einen großen Unterschied zwischen „ crack „und“ break „.

Sie knacken ein Passwort im einfachsten Sinne, indem Sie versuchen, das System mit zu entsperren alle möglichen Iterationen dieses Passworts, eine Methode, die als Brute-Force-Cracking bezeichnet wird. Wenn Sie die Regeln kennen, die die Erstellung und Verwendung des Kennworts regeln, kennen Sie im Voraus auch die mit dieser Verschlüsselung verbundenen Zeit- / Aufwandskosten. Jeder einzelne Algorithmus hat eine bekannte Erwartung an Rechenaufwand, die erforderlich ist, um ihn zu knacken.

Ein Algorithmus wie MD5 oder SHA-1 (echte Beispiele) wird als fehlerhaft bezeichnet, wenn Sie eine Art von Algorithmus finden Kollision, die das erwartete Universum reduziert (jede mögliche Lösung für die Formel, mit der der Schlüssel / das Kennwort erstellt wurde).

Zur Vereinfachung möchte ich Sie durch ein reales Beispiel für WPS (Wi-Fi Protected Setup) führen ). WPS wurde erstellt, um Benutzern die Sicherung ihres Wi-Fi-Netzwerks zu erleichtern. Es bestand aus einer achtstelligen PIN, die auf Knopfdruck zwischen dem anfragenden Benutzer und dem Router ausgetauscht werden konnte.

Die Entwickler des Systems kannten das erwartete Universum im Voraus: 8 Zahlen geben Ihnen 100.000.000 Möglichkeiten Kombinationen (10 ^ 8). Bei der Implementierung des Protokolls wurde diese Zahl jedoch in zwei vierstellige Kombinationen aufgeteilt, die separat validiert wurden.

Dies bedeutete, dass Sie tatsächlich nur 10.000 (10 ^ 4) + 10.000 (10 ^ 4) ausprobieren mussten. Kombinationen, im schlimmsten Fall, um die PIN zu knacken. Ihr Universum von 100 Millionen Kombinationen ist jetzt plötzlich auf nur noch 20.000 Kombinationen gefallen. Der Algorithmus ist effektiv defekt . Sie können dann versuchen, es zu knacken – wie Sie es hätten tun können, wenn es nicht kaputt wäre -, aber da es kaputt ist, sind Ihre Erfolgsaussichten viel besser und erfordern nur höchstens 20.000 Versuche anstelle von 100 Millionen.

Die Schlussfolgerung daraus:

Brechen und Knacken sind verschiedene Dinge. Eine gebrochene Chiffre bedeutet nicht, dass sie nur unsicher ist dass es jetzt einfacher ist zu knacken. Abhängig vom Wert dessen, was dadurch geschützt wird, bedeutet Brechen nicht den Tod für ein bestimmtes System, sondern nur das Verständnis, dass es jetzt weniger sicher ist, als es ursprünglich erwartet wurde.

RSA-2048 wird beschädigt, wenn jemand einen Weg findet, Kollisionen zu erzeugen, die die erwartete Anzahl von Kombinationen zum Knacken der Chiffre von Natur aus reduzieren. RSA 2048 kann wie jede andere Chiffre mit Brute-Force geknackt werden.

Antwort

RSA hat an und für sich nur wenige Angriffe auf den öffentlichen Modul (normalerweise ein Semiprime oder zwei große zufällig ausgewählte Primzahlen) s multipliziert). Der effizienteste klassische Algorithmus zur Lösung des Faktorisierungsproblems, der die Ableitung des privaten Schlüssels unter Verwendung der Basisarithmetik ermöglicht, ist das General Number Field Sieve (GNFS). Dieser Algorithmus wird in subexponentieller Zeit ausgeführt und kann nicht auf korrekt implementierten RSA-2048-Bit-Systemen verwendet werden.

Es gibt auch Shors Algorithmus, der jedoch von einem typischen Angreifer nicht auf RSA-2048 gemountet werden kann. Quantencomputerhersteller betreiben ein Oligopol, das insbesondere von D-Wave angeführt wird. Die Anschaffung ist nicht nur unglaublich teuer, sondern erfordert auch spezielle Geräte, um sie zu betreiben und zu warten. Es wurde kein Chip mit ausreichender Informationspersistenz und Leistung erstellt, um mehr als ein paar Bits zu brechen.

Wie bereits erwähnt, ist ein Kryptosystem nichts ohne eine korrekte Implementierung. Die meisten Implementierungen von RSA verwenden auch einen Fingerabdruckalgorithmus mit öffentlichem Schlüssel, normalerweise einen Hash. Außerdem ist es möglich, die Faktorisierung von Primzahlen mit einem Exploit zu finden, der sowohl unglaublich selten als auch statistisch vernachlässigbar in Bezug auf die Erfolgsrate ist. Wie Euklid hervorhob , gibt es unendlich viele Primzahlen, aber es gibt nicht nur unendlich viele Primzahlen, sondern viele innerhalb eines bestimmten Schlüsselraums. Wenn zwei Module dieselbe Primzahl teilen, ist es einfach, ihre Faktorisierung zu finden. Bei Verwendung des größten gemeinsamen Divisor-Algorithmus , der in linearer Zeit ausgeführt wird (er kann problemlos auf dem Gerät ausgeführt werden, auf dem Sie dies innerhalb von Millisekunden anzeigen), kann der gemeinsame Faktor gefunden werden, dann aus den Modulen aufgeteilt, um die beiden anderen fehlenden Primzahlen zu erhalten. Dies führt zum Zugriff auf beide Schlüssel. Eine korrekte Implementierung von RSA würde Primzahlen niemals für separate Schlüssel wiederverwenden, sondern sie vollständig zufällig auswählen. Da es innerhalb des 2048-Bit-Schlüsselraums viele mögliche Module gibt, die als Anzahl der Primzahlen 2048 Select 2 (oder höher als 2, wenn mit nicht standardmäßigen Modulen gearbeitet werden) geschrieben werden können, ist die Wahrscheinlichkeit, dass zwei Schlüssel sogar zwei Primzahlen gemeinsam nutzen, vernachlässigbar . Mit anderen Worten, es ist einfach Zeitverschwendung, alle Schlüssel von einem Schlüsselserver zu nehmen und den GCD-Algorithmus auf allen auszuführen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.