
24.10.2009, 02:38
|
|
Познающий
Регистрация: 03.12.2008
Сообщений: 56
С нами:
9176827
Репутация:
29
|
|
Всем доброго времени суток.
В качестве лабораторной задали написать программу, которая осуществляет действия шифровальной машины Энигма. С отличиями в том, что в качестве алфавита используются не 26 букв латиницы, а 64 символа: 33 русских буквы плюс дополнительно введенные символы. Я написал шифрование и расшифровку.
Проблема в том, что еще нужно осуществить дешифровку сообщений. Правда есть несколько оговорок: не используется "коммутационная панель" (т.е. шифруемые символы сразу попадают в первую роторную "подстановку"), известно количество роторов (подстановок) - их три штуки, и заранее известен отражатель (Reflector). Неизвестными остаются сами роторы и их начальные положения. В связи с этим вопрос. Есть ли способ осуществить дешифровку сообщений не перебирая все возможные ключи и варианты роторов (читай подстановок)? Как уменьшить количество вариантов для перебора? Просто с моим алфавитом получается (64! * 64)^3 ~ примерно 5,355 *10^272
Последний раз редактировалось StealthMaster; 24.10.2009 в 02:40..
|
|
|