Нейронная сеть для дешифрования файлов - возможно?

Я уже работал с нейронными сетями раньше и знаю о них большинство основ. У меня особенно есть опыт работы с обычными многослойными перцептронами. Кто-то спросил меня, возможно ли следующее, и я почему-то испытываю трудности с решением этой проблемы:)


Ситуация

Предположим, у меня есть программа, которая может шифровать и дешифровать обычные файлы в кодировке ASCII. Я понятия не имею ни о конкретном методе шифрования, ни об используемом ключе. Все, что я знаю, это то, что программа может отменить шифрование и, таким образом, прочитать исходный контент.

Чего я хочу?

Теперь мой вопрос: Как вы думаете, можно ли обучить (своего рода) нейронную сеть, которая воспроизводит точный алгоритм дешифрования с приемлемыми усилиями?

Мои идеи и работа на данный момент

У меня не так много опыта в области шифрования. Кто-то предложил просто использовать шифрование AES, чтобы я мог написать небольшую программу для пакетного шифрования файлов с кодировкой ASCII. Таким образом, это будет охватывать сбор обучающих данных для обучения с учителем. Используя зашифрованные файлы, входящие в нейронные сети, и исходные файлы в качестве обучающих данных, я мог обучать любую сеть. Но теперь я застрял, как бы вы предложили передавать входные и выходные данные в нейронную сеть. Итак, сколько нейронов входа и выхода вы бы использовали? поэтому я мог написать небольшую программу для пакетного шифрования файлов с кодировкой ASCII. Таким образом, это будет охватывать сбор обучающих данных для обучения с учителем. Используя зашифрованные файлы, входящие в нейронные сети, и исходные файлы в качестве обучающих данных, я мог обучать любую сеть. Но теперь я застрял, как бы вы предложили передавать входные и выходные данные в нейронную сеть. Итак, сколько нейронов входа и выхода вы бы использовали? поэтому я мог написать небольшую программу для пакетного шифрования файлов с кодировкой ASCII. Таким образом, это будет охватывать сбор обучающих данных для обучения с учителем. Используя зашифрованные файлы, входящие в нейронные сети, и исходные файлы в качестве обучающих данных, я мог обучать любую сеть. Но теперь я застрял, как бы вы предложили передавать входные и выходные данные в нейронную сеть. Итак, сколько нейронов входа и выхода вы бы использовали? Поскольку я не знаю, как будут выглядеть зашифрованные файлы, возможно, лучше всего передать данные в двоичной форме. Но я не могу просто использовать тысячи входных и выходных нейронов и передавать все биты одновременно. Может быть, рекуррентные сети и кормят один бит за другим? Также звучит не очень эффективно.

Другая проблема заключается в том, что вы не можете расшифровать частично, что означает, что вы не можете быть примерно правы. Вы либо правильно поняли, либо нет. Другими словами, в конечном итоге чистая ошибка должна быть равна нулю. Судя по тому, что я испытал до сих пор с ИНС, этого практически невозможно достичь для больших сетей. Так можно ли решить эту проблему?

12
задан Peter 26 May 2015 в 07:23
поделиться