Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Расшифровка элементарных шифров (http://www.flasher.ru/forum/showthread.php?t=213703)

ZackMercury 20.12.2016 00:23

Расшифровка элементарных шифров
 
Предположим, существует некоторая таблица с двумя столбцами, первый столбец - буква, что заменить, второй - буква, на что заменить.
Допустим, необходимо разработать не просто алгоритм, а работающий расшифровщик, который на входе получает зашифрованное таким образом предложение, а на выходе - расшифрованное.
Какие средства вы бы стали использовать?
Давайте порассуждаем.(попытаюсь запутать)
Количество букв алфавита(для простоты оставим пробелы и знаки препинания ими же) - 33.
Количество возможных расстановок этих букв - 33! (тридцать три факториал) - это вот такое число:
Код:

8683317618811886495518194401280000000
Всё ещё думаете перебрать их все? Каких мощностей понадобится для подобного компьютер?
С каким словарём будет сверяться ваш алгоритм каждую итерацию? Допустим для простоты, что предложение не содержит кличек, местного диалекта и ругани, сокращений.
Предлагаю вам
1) предложить алгоритмы(не один, так несколько: больше - лучше)
2) реализовать(каждый свой собственный алгоритм)
3) выложить исходники

*Все задачи и цели в посте выдуманы, а информация предоставлена лишь для образования.

undefined 20.12.2016 01:05

По одному предложению ничего не дешифруешь. Надо хотя бы знать язык сообщения и иметь пару страниц шифрованного текста. Дальше чисто статистика. Вроде это лаба на каком-то курсе АСУ'шников

Добавлено через 7 минут
Хотя если язык известен можно взять и готовую таблицу частот

caseyryan 20.12.2016 05:45

Цитата:

Хотя если язык известен можно взять и готовую таблицу частот
Упростим задачу. Язык известен - это язык индейцев Навахо :D

На счет задачи, да, нужно гораздо больше текста. Читал как-то как расшифровывали радиограммы и прочие шифровки еще во вторую мировую. Были определенные подсчеты, какие буквы в языке встречаются чаще, какие реже. Какие сочетания слогов. Тут целая наука. По этим данным смотрели как часто повторяются определенные числа или сочетания числ и заменяли их буквами. Можно было даже не на 100% расшифровать, чтобы часть уже можно было просто логически дополнить. В общем, лично я не люблю такие задачки, меня они быстро утомляют, так как мой мозг не заточен на шифрование :D Но точно могу утверждать, что простой перебор здесь - это тупиковый способ

dark256 20.12.2016 11:31

Могу предложить вариант шифрования, который не поддаётся частотному анализу.
При этом объем словаря - пентабайты символов :)

ZackMercury 20.12.2016 11:57

Цитата:

Но точно могу утверждать, что простой перебор здесь - это тупиковый способ
Верно :)
Цитата:

Были определенные подсчеты, какие буквы в языке встречаются чаще, какие реже. Какие сочетания слогов. Тут целая наука.
Частотность встречается на странице википедии про алфавит
https://pp.vk.me/c604321/v604321943/...qWoiCcaHng.jpg
Всё, друг, за тебя посчитали. Твоя задача реализовать алгоритм.

Цитата:

Упростим задачу. Язык известен - это язык индейцев Навахо
Языка Навахо у нас тут никто не знает, давай ещё упростим задачу и сделаем язык хотя-бы языком индейцев Лакота(его-то хоть за жизнь выучить можно) или русский(английский). Тут уж на выбор.

Цитата:

По одному предложению ничего не дешифруешь. Надо хотя бы знать язык сообщения и иметь пару страниц шифрованного текста.
Хорошо, будь по вашему(пусть это и не смахивает на реальный шифр). Хотя лично я имею в голове алгоритм, который неким образом может справиться с задачей(одного предложения будет мало, но двух страниц тут не понадобится). Но вот реализовать его пока что не знаю, как и чем. Дам подсказку: пробел = пробел.

undefined 20.12.2016 13:08

Цитата:

Хотя если язык известен можно взять и готовую таблицу.
Хотя нет в шифре то тоже надо частоты считать.Пара страниц шифра таки нужны.

Добавлено через 9 минут
Цитата:

одного предложения будет мало, но двух страниц тут не понадобится
Две страницы это - абстрактная величина.Естественно тут все зависит от того,что это за текст будет.
Стат. алгоритм давно известен имплементить его в 100500-й раз смысла не много.Выкладывай свой вариант.:D

ZackMercury 20.12.2016 14:20

Цитата:

Выкладывай свой вариант.
https://pp.vk.me/c604321/v604321943/...UbXcsvDAkI.jpg
ясно, что я упустил ещё много слов, но я просто продемонстрировал возможный вариант работы алгоритма.

Ну и в самом конце можно всё пропустить через какие-либо логические(грамматические) анализаторы вроде вордовского детектора ошибок, чтобы отсеять совсем смешные варианты.

Затем(в самом конце) попытаться применить к тексту частотный анализатор, уже букв.

undefined 20.12.2016 14:35

Цитата:

Заглядываем в словарь и достаем все слова на 2 буквы
словарь Даля? :)

ZackMercury 20.12.2016 14:49

Цитата:

словарь Даля?
Любой удобный словарь, в котором удобно рыться.
Можно заранее отсортировать словарь по длине слов.
Без понятия, как реализовать в плане общения с словарём и логическим анализатором.

undefined 20.12.2016 15:18

ну тогда твоему алгоритму нужно пара страниц шифрованного текста,таблица частот+ словарь всех слов языка сообщения.Что несколько больше чем пара страниц шифрованного текста и таблица частот, необходимых стат.методу.Про производительность не знаю т.к. нужен отдельный алгоритм для расшифровки алгоритма)


Часовой пояс GMT +4, время: 02:27.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.