Форум программистов, компьютерный форум, киберфорум
Криптография
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 30.01.2015
Сообщений: 17

Шифр простой замены

07.11.2015, 19:16. Показов 3926. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Получила задачу: написать программу по взлому шифра простой замены. Все буквы текста в одном регистре, знаки препинания пропущены.
Нужна помощь!
На больших текстах я могла бы ограничиться частотным анализом, но ведь он не дает большой точности. Не подскажете, что делать? Может быть, есть способ оценивать гласные-согласные?
Как вообще вскрываются подобные шифры?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.11.2015, 19:16
Ответы с готовыми решениями:

Расшифровать числовой шифр (предположительно шифр простой замены)
Доброго времени суток! Не могу расшифровать такое вот послание: 3632623163626461393766653039373630393861303036663338353761626662 ...

Шифр простой замены
Дан шифр простой замены. кьемръэчтбршъатмчр...

Шифр простой замены
Доброго времени суток, помогите расшифровать текст. В нем нет пробелов и знаков препинания. Частотный анализ не помог, пробовал по биграмам...

14
Антикодер
Эксперт функциональных языков программирования
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
09.11.2015, 13:06
на haskell-e иногда занимаюсь такой прогой. Начинайте с частного анализа. выдвигайте свои идеи, если у меня будут идеи лучше, я непременно о них сообщу.

Если будете писать на haskell-e то по первому запросу, залью исходники на github:
axt-crypto-decoder
Цитата Сообщение от Medvedbot Посмотреть сообщение
Может быть, есть способ оценивать гласные-согласные?
он есть, gazlan давал ссылку
Частотный криптоанализ шифра замены
но до этих методов можно и самому додуматься, я бы не сказал, что они уж слишком научные.
1
1 / 1 / 0
Регистрация: 30.01.2015
Сообщений: 17
09.11.2015, 19:46  [ТС]
Здравствуйте! Спасибо за внимание : )
Я сделала частотный анализ текста (пока что пишу все руками - на бумаге), по указанному вами методу оценила гласные и согласные.
Что мне сделать дальше? Есть текст, есть частоты, есть два класса букв.
Как с этим работать? Могу ли я, например, предположить, что, допустим, четыре самые частые гласные в моем зашифрованном тексте будут четырьмя самыми частыми гласными в алфавите? И с несколькими согласными так же? Как проводить ассоциации?
0
Антикодер
Эксперт функциональных языков программирования
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
09.11.2015, 20:18
Цитата Сообщение от Medvedbot Посмотреть сообщение
Как с этим работать? Могу ли я, например, предположить, что, допустим, четыре самые частые гласные в моем зашифрованном тексте будут четырьмя самыми частыми гласными в алфавите? И с несколькими согласными так же? Как проводить ассоциации?
вам точно программу надо написать или просто текст расшифровать?
можете смело писать программу, которая просто высчитывает частоты длинных последовательностей[или можете просто взять у меня исходники на haskelle]
Цитата Сообщение от Medvedbot Посмотреть сообщение
Могу ли я, например, предположить, что, допустим, четыре самые частые гласные в моем зашифрованном тексте будут четырьмя самыми частыми гласными в алфавите?
не очень понятно о каких гласных идёт речь, в зашифрованном тексте как бы совсем не важно, какими символами закодирован текст, среди символов может и не быть никаких гласных...
просто нужно сопоставлять, ваш частотный анализ с самыми частыми буквами в русском языке.

Добавлено через 7 минут
Если что то предполагаете, то нужно это доказывать [мат. логика] и считать вероятности нахождения букв на каждой позиции[статистика].
1
1 / 1 / 0
Регистрация: 30.01.2015
Сообщений: 17
09.11.2015, 20:27  [ТС]
Программу : )
Частоты длинных последовательностей? Не могли бы вы рассказать про это поподробнее?
Цитата Сообщение от XRuZzz Посмотреть сообщение
просто нужно сопоставлять, ваш частотный анализ с самыми частыми буквами в русском языке.
неужели со всеми? но ведь точность сильно зависит от длины текста
0
Модератор
Эксперт функциональных языков программирования
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,885
09.11.2015, 23:58
Нужен словарь словоформ русского языка. Пусть программа перебирает наиболее вероятные варианты и ищет в расшифрованном тексте слова из словаря.
2
1 / 1 / 0
Регистрация: 30.01.2015
Сообщений: 17
10.11.2015, 00:44  [ТС]
Сразу после частотного анализа? И пробелами слова не разделены, разве это не будет, ну, долго и уныло?
0
Модератор
Эксперт функциональных языков программирования
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,885
10.11.2015, 09:54
Отсутствие пробелов сильно усложняет задачу. В частности существенно искажает частоты для двух букв подряд. Например "гз" - очень редкое сочетание (я знаю только "зигзаг"), но можно придумать много фраз вроде "друг зашёл".

Там по ссылке есть метод разделения текста на слова. Можете попробовать. Но у Вас ведь очень мало зашифрованного текста для набора статистики?

Можно также попробовать "двойной перебор".
7-8 букв дадут Вам примерно половину букв в тексте. Их (наверное!) можно более-менее точно разделить на гласные-согласные. В итоге у Вас будет не так много вариантов. И для каждого из них Вы пытаетесь подобрать варианты расшифровки, используя слова из словаря.

Есть и другие варианты. Например, попробовать найти в тексте окончания слов и т.п.

Добавлено через 1 минуту
з.ы. Компьютер не унывает. И, полагаю, миллион вариантов он разберёт за приемлемое время.

Добавлено через 40 минут
Проверил алгоритм на "Евгений Онегин" и получил такой список гласных:
О, Е, А, И, С, У, Ы, Я, Й, Ю, Ь, Э
Кто-нибудь может подтвердить/опровергнуть мой результат? (А то может я где-то ошибку допустил)
2
Антикодер
Эксперт функциональных языков программирования
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
10.11.2015, 11:27
Цитата Сообщение от Shamil1 Посмотреть сообщение
Проверил алгоритм на "Евгений Онегин" и получил такой список гласных:
О, Е, А, И, С, У, Ы, Я, Й, Ю, Ь, Э
Кто-нибудь может подтвердить/опровергнуть мой результат? (А то может я где-то ошибку допустил)
проверить это?
Частота букв в русском языке
1
Модератор
Эксперт функциональных языков программирования
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,885
10.11.2015, 11:50
XRuZzz,
Проверить вот это:
http://www.classes.ru/grammar/... nts/12.htm
Этой цели служит следующий алгоритм:

(1) Найди сумму отметок для каждой строки.

(2) Проверь, имеются ли строки с положительными суммами. Нет — выдай результат. Да —делай (3).

(3) Найди строку с максимальной суммой отметок и занеси букву, которая озаглавливает эту строку, в класс гласных.

(4) Найди столбец, озаглавленный выделенной в (3) буквой, и вычти из суммы отметок для каждой строки, за исключением уже выделенных, удвоенное число, стоящее на пересечении данной строки и столбца, озаглавленного выделенной в (3) буквой.

(5) Сотри предыдущие суммы отметок в строках и делай (2).
1
1 / 1 / 0
Регистрация: 30.01.2015
Сообщений: 17
10.11.2015, 17:35  [ТС]
Shamil1, двойной перебор?
Не могли бы вы, пожалуйста, примерно написать план работы?
Я пока представляю что-то вроде
1) частотный анализ
2) выбор гласных-согласных
3)??? разбивка текста на слова?
....???
Как делать предположения по заменам?
0
Модератор
Эксперт функциональных языков программирования
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,885
11.11.2015, 09:00
Цитата Сообщение от Medvedbot Посмотреть сообщение
двойной перебор?
На основе частотного анализа и теста на гласность выбираете расшифровку для наиболее распространённых букв (это первый перебор).
Используя словарь словоформ подбираете слова, из которых мог бы состоять текст (это второй - вложенный перебор).

Добавлено через 8 часов 22 минуты
Цитата Сообщение от Medvedbot Посмотреть сообщение
Как делать предположения по заменам?
Для каждой позиции выбираете несколько букв, которые подходят для неё. А дальше используете стандартный алгоритм упорядоченных перестановок.
Позиция - это индекс буквы в отсортированном по убыванию частоты массиве.
1
1 / 1 / 0
Регистрация: 30.01.2015
Сообщений: 17
13.11.2015, 15:47  [ТС]
Спасибо вам большое, ребят! Вы мне очень помогли!
1
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
11.03.2018, 14:13
Цитата Сообщение от Shamil1 Посмотреть сообщение
Там по ссылке есть метод разделения текста на слова.
Добрый день!
Можете пожалуйста указать на источник где описан этот метод

Разгадываю шифр полученный простой заменой.
PS: Шифр простой замены
0
Модератор
Эксперт функциональных языков программирования
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,885
11.03.2018, 15:50
Qazan,
Больше двух лет прошло, я не помню уже. Видимо, по ссылке в сообщении №10.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2018, 15:50
Помогаю со студенческими работами здесь

Шифр простой замены
Прошу вашей помощи, есть очень короткий шифп простой замены , в котором зашифрована подсказка для другого сложного шифра, помогите...

Шифр простой замены
помогите расшифровать текст: 48 23 18 40 94 35 62 53 94 25 53 15 35 91 35 40 35, 52 23 52 53 40 35 94 35 40 23 94 23 91...

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

Шифр простой замены
Помогите, пожалуйста, расшифровать. Исходный текст: кризовжйчтснзсрнрбрчтвпвьорыритуауивцойзизгрнубжрдгубнр ...

Шифр простой замены
Шифр простой замены Помогите расшифровать текст: Ь ИЙЗПЮККЮ СВНЙЗЬШЖВЧ ИЗЛЗДШ ЁЗАЖЗ ИЙВЁЮЖЧЛУ ЛЗЕУДЗ ЗЩЙШЛВЁЫЮ ЗИЮЙШПВВ, ВЖШРЮ ЖШ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType и SDL3_ttf из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru