Könnte Deep Learning verwendet werden, um die Verschlüsselung zu knacken?

10

Angenommen, Sie haben ein Dataset mit Millionen von Zeilen und den Attributen Nur-Text, Schlüssel und Ausgabe-Chiffretext. Könnte Deep Learning theoretisch verwendet werden, um Muster in den Ausgaben zu finden, die helfen, den Chiffretext zu entschlüsseln? Gibt es andere mögliche Ansätze?

user28473
quelle

Antworten:

10

Wahrscheinlich nicht. Moderne Verschlüsselungssysteme basieren auf kryptografischen Zufallszahlengeneratoren. Ihre Ausgabe ist so konzipiert, dass sie statistisch nicht von der tatsächlichen Zufälligkeit zu unterscheiden ist. Maschinelles Lernen basiert im Allgemeinen auf der Ermittlung statistischer Muster in den Daten, und bei wirklich zufälligen Daten gibt es keine. Selbst bei fehlerhafter Krypto, bei der ein kleines Muster zu finden ist, wird die große Zufälligkeit der Eingabe jeden direkten Versuch, den Chiffretext zu entschlüsseln, überwältigen.

Darüber hinaus gibt es keine Heuristik, mit der Sie feststellen können, ob Sie sich einer korrekten Entschlüsselung nähern. Ein einziges Bit bei der Vermutung eines Schlüssels verschlüsselt beispielsweise die Ausgabe vollständig (Hollywood wird dafür verantwortlich gemacht, wenn die Entschlüsselung auf dem Bildschirm angezeigt wird) ein Kreuzworträtsel, bei dem die richtigen Buchstaben passen). Dieses Alles-oder-Nichts schließt das Erkennen von Algorithmen über einen maschinellen Lernprozess aus, selbst wenn Sie über den Verschlüsselungsschlüssel verfügen. Das Beste, was Sie tun können, ist, alle bekannten Algorithmen brutal zu erzwingen. Wenn Sie den Schlüssel nicht haben, müssen Sie auch alle möglichen Schlüssel brutal erzwingen.

Sie können untersuchen, wie schwierig das Problem ist, indem Sie versuchen, den für einen Zufallszahlengenerator verwendeten Startwert zu erraten. Unter Verwendung des Mersenne Twister RNG (dem Standard, der in z. B. Python verwendet wird) könnte die Eingabe das Bitmuster für 624 32-Bit-Ganzzahlen ohne Vorzeichen sein, und die Ausgabe könnte die 32 Bits des Startwerts sein, der zum Erzeugen dieser Reihe verwendet wird. Der Grund , warum ich diese spezifischen Zahlen lege nahe, weil es ist in der Tat möglich zu knacken Mersenne Twister mit so vielen Daten. Ich denke jedoch immer noch, dass ML-Ansätze das völlig falsche Werkzeug wären.

Eine andere einfache Variante wäre zu sehen, ob Sie einem Netzwerk beibringen können, einen kryptografischen Hash entweder zu erzeugen oder umzukehren. Sie könnten mit einem bekannten defekten wie MD5 beginnen. Die Ein- und Ausgabe kann 80 Bit betragen, was die Architektur und die Pipeline so vereinfacht, dass Sie diesen Test in wenigen Stunden zusammenstellen können. Obwohl bekannt ist, dass MD5 kompromittiert ist, besteht meines Erachtens keine Chance, dass Sie einem neuronalen Netzwerk beibringen, ein beliebiges Muster zu finden.


Ein wichtiges Detail: Wenn Sie eine Verschlüsselung "knacken" möchten, können Sie den Schlüssel nicht als bekannten Wert verwenden. Es besteht jedoch die Möglichkeit, dass selbst wenn Sie den Schlüssel für einen ML-Prozess angeben, das Entschlüsseln nicht erlernt werden kann.

Neil Slater
quelle
2

Wie in einer früheren Antwort vorgeschlagen , kann es für ML-Techniken schwierig sein, die Verschlüsselung direkt zu unterbrechen.

Es gibt jedoch Möglichkeiten, wie ML- und neuronale Netzwerktechniken verwendet werden können, um die Verschlüsselung zu unterbrechen (AES insbesondere, weil ich daran gearbeitet habe, aber auch für andere).

Ich konzentriere mich auf die AES-Verschlüsselung in eingebetteten Geräten. Wenn ein Gerät verschlüsselt (oder entschlüsselt), verliert es normalerweise Informationen in Form von Strom oder elektromagnetischer Strahlung. Diese werden als "Seitenkanalleckagen" bezeichnet. Untersuchungen haben gezeigt, dass diese Leckagen mit dem geheimen Schlüssel korrelieren, der während der Verschlüsselung (oder Entschlüsselung) verwendet wird. Und wenn es eine Korrelation gibt, können ML / neuronale Netzwerktechniken verwendet werden, um den verwendeten geheimen Schlüssel abzurufen. Überprüfen Sie diese Dokumente, in denen ML / Neuronale Netze zum Abrufen (eines Teils) des bei der AES-Verschlüsselung verwendeten geheimen Schlüssels verwendet wurden: Ref2 Ref3

Die Forschung auf diesem Gebiet ist noch nicht abgeschlossen und es gibt noch viel zu tun. Aber es ist nicht alles verloren und es gibt immer noch Hoffnung, tiefes Lernen zu nutzen, um die Kryptographie oder einen Teil davon zu brechen.

Manoj
quelle