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.