Я уже работал с Neural Networks раньше и знаю о них большинство основ. У меня особенно есть опыт работы с регулярными многослойными перцептронами. Меня теперь спросил кто-то, если возможно следующее и как-то почувствовать себя оспариваемым, чтобы справиться с проблемой:)
Ситуация
Предположим, у меня есть программа, которая может шифровать и расшифровывать обычные ASCII-кодированные файлы. Я понятия не имею о конкретном методе шифрования или используемом ключе. Все, что я знаю, это то, что программа может отменить шифрование и, таким образом, прочитать исходный контент.
Что мне нужно?
Теперь мой вопрос: вы думаете, что можно обучить (какую-то) нейронную сеть, которая с приемлемым усилием реплицирует точный алгоритм дешифрования?
Мои идеи и работа до сих пор
У меня мало опыта в шифровании. Кто-то предложил просто предположить шифрование AES, поэтому я мог написать небольшую программу для пакетного шифрования ASCII-кодированных файлов. Таким образом, это будет охватывать сбор учебных данных для контролируемого обучения. Используя зашифрованные файлы как вход для нейронных сетей, так и исходные файлы в качестве учебных данных, я мог бы обучать любую сеть. Но теперь я застрял, как бы вы предложили подавать входные и выходные данные в нейронную сеть. Итак, сколько входов и выходов-нейронов вы бы использовали? Поскольку у меня нет идеи, как выглядят зашифрованные файлы, может быть, лучше всего передать данные в двоичной форме. Но я не могу просто использовать тысячи входных и выходных нейронов и передавать все биты одновременно. Может быть, повторяющиеся сети и кормить один бит за другим? Также звучит не очень эффективно.
Другая проблема заключается в том, что вы не можете расшифровать частично - это означает, что вы не можете быть грубо правильным. Вы либо правильно, либо нет. Иначе говоря, чистая ошибка должна быть равна нулю. Из того, что я до сих пор наблюдал с ANN, этого почти невозможно достичь для больших сетей. Так разрешена ли эта проблема?