![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Есть программа. Которая преобразует слова методом шифрования Гронфельда. Исходник программы взят с неизвестного источника. Я его немножко подправил и скрыл не нужные методы. Сама программа выглядит так:
Вроде все просто. Но есть момент. Нужно чтобы зашифрованная фраза превращалась обратно в нормальную фразу. Т.е. мы ввели фразу "Как дела" и ключ например 314 - далее зашифровали ее и получилось "Нбо#ейоб".. Теперь нужно ввести "Нбо#ейоб" и должна полуиться фраза "Как дела". Как это сделать? Спасибо за ответ |
|
#2
|
|||
|
|||
|
Исходник программы
|
|
#3
|
||||
|
||||
|
Ээээ, а где в исходнике хотя бы пас файлы?
Без них от "исходника" и толку ноль. ![]() |
|
#4
|
|||
|
|||
|
Сорри. Ща выложу ту которую качал. Из архивов только вот этот остался и оригинал
|
|
#5
|
||||
|
||||
|
То что называется "шифрованием Гронфельда" в той программе работает так как вы описали без проблем.
М.б. Вы имели в виду расшифровку без ключа уже производить? |
|
#6
|
|||
|
|||
|
Ну задача была с ключем...
Но думаю это можно опустить. Да нужно расшифровку без ключа... До словно как была поставлена задача: Зашифрованную фразу копируем, закрываем программу, открываем и вставляем в поле ввода и нажимаем дешифровать..(с) Я уже придумал как обмануть ну это на крайний случай если не допрет как сделать... Потому что я не вижу в этой манипуляции смысла вообще |
|
#7
|
||||
|
||||
|
Хм, если кодировка шла с ключом, а декодировать нам надо без него, то это нереально (по определению), если, конечно, не знаешь тип и(или) формат содержимого(#, когда известен хотя бы один оригинальный символ).
P.S. если это учебное задание с формулировкой: "Шифруем, зашифрованную фразу копируем, закрываем программу, открываем и вставляем в поле ввода и нажимаем дешифровать" ; то в алгоритм и шифрования, и дешифрования по-дефолту вбиваем какой-нить ключ (правда суть приведенной программы так и не меняется). |
|
#8
|
|||
|
|||
|
Была идея с дефолтным ключом, но это при условии самому писать... просто нашел исходник
Ладно благодарю за ответы и советы Пока сюда писал, придумал неплохой обман чтобы не заморачиваться |
|
#9
|
||||
|
||||
|
Варианты еще есть, но с выводом возможных вариаций (по скольку ключ прописан только из 1-го символа
, учитывается только последний символ в ключе), то выводить все возможные варианты (их может быть от 1 до 256). Шифрование представляет собой смещение по номеру символа. Соответственно, находим символ из зашифрованного текста с самым малым номером, это и будет количество вариантов. И выводим варианты дешифрации (с перебором значений ключа от 1 до №нашего_символа).Ээээ, могут быть мелкие ошибки в алгоритмизации (плохо помню таблицу символов), но суть надеюсь ясна. ![]() |
|
#10
|
||||
|
||||
|
Если ключ не известен - пользуемся стандартными методами взлома полиалфавитных шифров.
Например, те же Метод Касиски, или же ИС Фридмана. http://ru.wikipedia.org/wiki/Метод_Касиски http://ru.wikipedia.org/wiki/Индекс_совпадений И велосипед не понадобится. Последний раз редактировалось Konrad, 12.10.2010 в 22:58. |
|
#11
|
|||
|
|||
|
Огромное спасибо всем
!!! |