Столкнулся с проблемой взломать шифр Виженера длиной 47 букв, перепробовал частотный анализ и взаимный индекс совпадения но все они рассчитаны для более длинных шифров. Также пробовал перебором но выходит слишком много комбинаций.
Известно: длина ключа 7 букв
Сам шифр: ВГЮІФЇАФРЙНУЇМВГЛГЄМЇЕГКФТЄУФПАЩПТЮКРЄЗЕЇЙАПХЗ
Можно попробовать рандомно генерировать ключевое слово, подставлять его и оценивать результат по количеству часто употребляемых слов в дешифрованном тексте.
-----
С другой стороны если это задание для студентов, то мне кажется ключевое слово будет именно словом употребляемым в речи. Таким образом дешифровку можно попробовать ускорить – найти в интернете самые часто употребляемые слова, выделить из них только те, которые состоят из 7 букв и подставлять их в качестве ключевого слова. Оценивать результат так же количеству часто употребляемых слов в дешифрованном тексте.
-----
Есть так же предположение как это сделать с помощью рекуррентной нейронной сети. Использовать количество входов и выходов по количеству букв. Буквы на вход подавать как нормализованный код символа. Вычисление ошибки для обучения должно быть завязано на 150 часто употребляемых слов. Но проблема в том, что вероятно после обучения сеть будет заточена под одно ключевое слово. Таким образом дешифровка каждого шифротекста должна состоять из двух этапов - автоматического обучения и прогона после обучения. Но при таком подходе есть вероятность получить на выходе просто набор слов и не тех, что были изначально зашифрованы. Так же возможно получить не корректный результат если зашифрованы не те слова, которые употребляются в речи.
paulboxer, попробовал перебором. В сумме у меня было 125 тысяч расшифровок, потом искал в них слова, было 160 тысяч слов в словаре. Наибольшее количество слов в строке было 5-6 но в них большая часть текста абракадабра и найденные слова логически не связаны. Есть еще варианты?:)
curly_Paul, вероятно ключ не является словом употребляемым в речи. Тогда возьмем все символы алфавита и цифры, количество комбинаций пароля будет (33+10)!, т.е. факториал от числа 43. Но прежде следует попробовать только символы алфавита 33! (факториал(33)).
Мне кажется есть какой-то более простой способ это расшифровать, и знают его некоторые преподаватели в вузах, раз дают такие задания. Вы не первый кто задает подобный вопрос.
paulboxer, на самом деле простого способа нету, весь взлом сводится к тому чтобы найти длину ключа, и потом самым тупым пробовать подставлять сдвиги и искать биграмы а также чередование гласных и согласных букв. Так говорил учитель. Как вы думаете возможно этим способом дешифрировать текст, я лично не верю, так как все упирается в слепую удачу?
curly_Paul, не пробовал так, но звучит правдоподобно. Какой смысл обманывать преподавателю, так что дерзайте. Возможно тут поможет полуавтоматический режим или полностью все делать на листочке так как говорит учитель плюс к этому, что бы не перебирать очень много вариантов попробовать интуитивно догадываться, что делать дальше.