|
0 / 0 / 0
Регистрация: 24.02.2016
Сообщений: 12
|
|
Шифрование методом простой замены в Pascal ABC08.05.2018, 22:55. Показов 4196. Ответов 4
Метки нет (Все метки)
Доброго времени суток!
Имею такое задание: Дан тест, зашифрованный методом простой замены. Требуется выполнить его дешифровку. Нужно провести частотный анализ, после взять другой (случайный) текст и сопоставить их. Сам текст: П пчшъэъ зчгчяч явдзфл мчзфмуя бщбщ Евизъз ъжичнчяпщ п зфш, мчм п жъшжъы счшвбявззъэъ бвыпдефщ. Бвяъ е дъш, гдъ Эчииф жйя ф е пчшъш бвяв звъжйгзйы шчяогфм, зв дчмъы, мчм епв. Эчииф Ёъддви жйя еъятвжзфмъш. Ъз ёифвлчя бъшъы зч мчзфмуяй, счмъзгфе ёвиейы муип Тмъяй гчиъбвыпдеч ф еъятвжпдеч «Лъэечидп», гдъ зч еъятвжзъш щсймв сзчгфд «евёио». Впдвпдевззъ, Буивяф зв ъжичбъечяфпо вэъ ёифвсбу, зъ кдъ ёупдщмф ёъ пичезвзфц п двш, гдъ гуепдеъечя, рфещ е кдъш бъшв, Эчииф. Ъз ъгвзо пмугчя ёъ тмъяв, пмугчя ёъ счшму, вэъ дчфзпдевззйш ёвивлъбчш, ёифефбвзфщш, ёъ уиъмчш ф угфдвящш (зъ, мъзвгзъ, зв ёъ Пзвээу, ёивёъбчечетвшу еъятвжзъв свяовечивзфв), ёъ ъжнфш дичёвсчш е Жъяотъш счяв. Ч мчмчщ у звэъ счшвгчдвяозчщ миъечдо ёъб ёъяъэъш зч гвдйивл пдъяжфмчл е миуэяъы пёчяозв зч пчшъш евилу жчтзф! Ёъгду ёифзъпщд пъей, ч е лфрфзв зч ъёутмв Счёивдзъэъ явпч рфевд бъжийы явпзфгфы Лчэифб. Зъ ъпъжвззъ ъз пмугчя ёъ мефббфгу, яцжфшъы фэив еъятвжзфмъе: твпдо мъява зч ейпъмфл твпдчл, гвдйив ёчищнфл шщгч ф гвдйизчбачдо фэиъмъе евилъш зч швдячл. Ёифевсщ ёявшщззфмч бъшъы, бщбщ Евизъз ёвиейш бвяъш ъдъжичя у звэъ евпо еъятвжзйы пмчиж — угвжзфмф, ёчяъгму, шчздфц ф швдяу зъевытвы шъбвяф «Зфшжуп-2000». Епв кдъ ъдёичефяъпо е гуячз ёъб явпдзфавы ф жйяъ счёвидъ зч счшъм. Буипящш зчёявечдо, гдъ Ячииф зв ейёъязфд явдзвэъ бъшчтзвэъ счбчзфщ, ч жвс дивзфиъеъм вэъ фпмяцгчд фс мъшчзбй ючмуяодвдч. Ъжйгзйл яцбвы, е гофл рфячл звд зф мчёяф еъятвжзъы миъеф, шчэф зчсйечцд «шчэяй», гдъ зч фл щсймв сзчгфд «ёиъпдчмф». Бящ ёиъпдчмъе — зв бящ епвл, мъзвгзъ — еъятвжзфм е пвшов — ёъсъи. Ф гдъжй ёивпвго епщмуц пещсо п шфиъш гчиъбвыпдеч ф мъябъепдеч, бщбщ Евизъз бчрв пъеу Жумяц ёъпчбфя ёъб счшъм. Как я поняла из задания, нужно подобрать ключ, т.е. понять какая буква русского алфавита на какую была заменена, а потом при использовании этого ключа зашифровать свой текст. После мучительных скитаний по просторам интернета поняла, что сей текст из книги про Гарри Поттера и выглядит примерно так: С самого начала летних каникул дядя Вернон обращался... и т.д. Путем взрыва мозга подобрала ключ (см. вложение) Подскажите пожалуйста, как реализовать автоматический подбор ключа в программе Паскаль, т.е. как написать саму эту программу? Не работала в Паскаль 12 лет. Из всего, что помню Read Ln, Write Ln и все.... Шарила по форуму, нашла: Шифр простой замены Как это можно переделать для моей задачи?
0
|
|
| 08.05.2018, 22:55 | |
|
Ответы с готовыми решениями:
4
Шифрование данных методом простой замены Шифрование/дешифрование файла методом простой замены
|
|
0 / 0 / 0
Регистрация: 24.02.2016
Сообщений: 12
|
||||||
| 09.05.2018, 04:42 [ТС] | ||||||
|
Пы.Сы. Насколько я понимаю, необходимо выполнить частотный анализ символов шифротекста. После этого, сравнить частоту символов в закодированном тексте с частотностью букв русского языка https://ru.wikipedia.org/wiki/... 1%82%D1%8C
а потом заменить символы по частоте.... Например если буква т встречается с частотой 11%, то это буква о.... Так что ли??? Блин...Как это реализовать в программе? Добавлено через 41 минуту Попробовала так.... но... фигня какая-то получается... Еще путаница заглавные/строчные буквы...
0
|
||||||
|
Супер-модератор
|
||
| 09.05.2018, 10:04 | ||
|
Итого имеем отрывок из Гарри Поттера:
1) составляем строку из всех символов, присутствующих в таблице частотности. В том же порядке. Потому что с большой степенью вероятности если буква на первом месте в таблице частотности, то и заменяющая ее буква тоже будет на том же первом месте по частоте встречаемости в зашифрованном тексте. Назовем эту строку freqs 2) считаем общее количество букв (без знаков препинания) в тексте 3) для каждого символа из текста (безразлично, в каком регистре он записан, заглавная буква или строчная - неважно, в статистике это не учитывается. Это будет учитываться потом, уже когда будем менять буквы) считаем количество его появлений в тексте. И вычисляем частоту (то есть, количество появлений / общее количество букв в тексте) 4) строим строку из символов текста, расположенных в порядке убывания частоты. Назовем эту строку chars 5) и теперь еще раз идем по тексту, и заменяем буквы: если в chars буква на i-ом месте - то заменяем ее на i-ую букву из freqs В результате получаем текст, который, конечно не один в один повторяет приведенный выше (есть там несоответствия), но догадаться о том, что именно написано, и какая буква была заменена неправильно, чтобы потом скорректировать - можно. Код показывать не буду, я писал не на Паскале, поэтому здесь он не актуален.
0
|
||
|
0 / 0 / 0
Регистрация: 24.02.2016
Сообщений: 12
|
|
| 09.05.2018, 12:46 [ТС] | |
|
Спасибо большое... но к сожалению... не поднять мне эту задачу. Как ни крутила не пойму как это написать и куда ту freqs вставить...
0
|
|
|
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
|
||||||
| 09.05.2018, 16:41 | ||||||
|
как-то так:
Не по теме: С САМОЫО НАДАЛА ЛЕТНИЙ КАНИКЧЛ ПБПБ ВЕРНОН ОУРАЦАЛСБ С НИМ, КАК С УОМУОГ ЗАМЕПЛЕННОЫО ПЕГСТВИБ. ПЕЛО В ТОМ, ДТО ЫАРРИ УЯЛ И В САМОМ ПЕЛЕ НЕОУЯДНЯГ МАЛЬДИК, НЕ ТАКОГ, КАК ВСЕ. ЫАРРИ ЁОТТЕР УЯЛ ВОЛХЕУНИКОМ. ОН ЁРИЕЙАЛ ПОМОГ НА КАНИКЧЛЯ, ЗАКОНДИВ ЁЕРВЯГ КЧРС ХКОЛЯ ДАРОПЕГСТВА И ВОЛХЕУСТВА «ЙОЫВАРТС», ДТО НА ВОЛХЕУНОМ БЗЯКЕ ЗНАДИТ «ВЕЁРЬ». ЕСТЕСТВЕННО, ПЧРЕЛИ НЕ ОУРАПОВАЛИСЬ ЕЫО ЁРИЕЗПЧ, НО ЭТО ЁЧСТБКИ ЁО СРАВНЕНИШ С ТЕМ, ДТО ДЧВСТВОВАЛ, ЮИВБ В ЭТОМ ПОМЕ, ЫАРРИ. ОН ОДЕНЬ СКЧДАЛ ЁО ХКОЛЕ, СКЧДАЛ ЁО ЗАМКЧ, ЕЫО ТАИНСТВЕННЯМ ЁЕРЕЙОПАМ, ЁРИВИПЕНИБМ, ЁО ЧРОКАМ И ЧДИТЕЛБМ (НО, КОНЕДНО, НЕ ЁО СНЕЫЫЧ, ЁРЕЁОПАВАВХЕМЧ ВОЛХЕУНОЕ ЗЕЛЬЕВАРЕНИЕ), ЁО ОУЦИМ ТРАЁЕЗАМ В УОЛЬХОМ ЗАЛЕ. А КАКАБ Ч НЕЫО ЗАМЕДАТЕЛЬНАБ КРОВАТЬ ЁОП ЁОЛОЫОМ НА ДЕТЯРЕЙ СТОЛУИКАЙ В КРЧЫЛОГ СЁАЛЬНЕ НА САМОМ ВЕРЙЧ УАХНИ! ЁОДТЧ ЁРИНОСБТ СОВЯ, А В ЙИЮИНЕ НА ОЁЧХКЕ ЗАЁРЕТНОЫО ЛЕСА ЮИВЕТ ПОУРЯГ ЛЕСНИДИГ ЙАЫРИП. НО ОСОУЕННО ОН СКЧДАЛ ЁО КВИППИДЧ, ЛШУИМОГ ИЫРЕ ВОЛХЕУНИКОВ: ХЕСТЬ КОЛЕЖ НА ВЯСОКИЙ ХЕСТАЙ, ДЕТЯРЕ ЁАРБЦИЙ МБДА И ДЕТЯРНАПЖАТЬ ИЫРОКОВ ВЕРЙОМ НА МЕТЛАЙ. ЁРИВЕЗБ ЁЛЕМБННИКА ПОМОГ, ПБПБ ВЕРНОН ЁЕРВЯМ ПЕЛОМ ОТОУРАЛ Ч НЕЫО ВЕСЬ ВОЛХЕУНЯГ СКАРУ — ЧДЕУНИКИ, ЁАЛОДКЧ, МАНТИШ И МЕТЛЧ НОВЕГХЕГ МОПЕЛИ «НИМУЧС-2000». ВСЕ ЭТО ОТЁРАВИЛОСЬ В ДЧЛАН ЁОП ЛЕСТНИЖЕГ И УЯЛО ЗАЁЕРТО НА ЗАМОК. ПЧРСЛБМ НАЁЛЕВАТЬ, ДТО ЛАРРИ НЕ ВЯЁОЛНИТ ЛЕТНЕЫО ПОМАХНЕЫО ЗАПАНИБ, А УЕЗ ТРЕНИРОВОК ЕЫО ИСКЛШДАТ ИЗ КОМАНПЯ ЩАКЧЛЬТЕТА. ОУЯДНЯЙ ЛШПЕГ, В ДЬИЙ ЮИЛАЙ НЕТ НИ КАЁЛИ ВОЛХЕУНОГ КРОВИ, МАЫИ НАЗЯВАШТ «МАЫЛЯ», ДТО НА ИЙ БЗЯКЕ ЗНАДИТ «ЁРОСТАКИ». ПЛБ ЁРОСТАКОВ — НЕ ПЛБ ВСЕЙ, КОНЕДНО — ВОЛХЕУНИК В СЕМЬЕ — ЁОЗОР. И ДТОУЯ ЁРЕСЕДЬ ВСБКЧШ СВБЗЬ С МИРОМ ДАРОПЕГСТВА И КОЛПОВСТВА, ПБПБ ВЕРНОН ПАЮЕ СОВЧ УЧКЛШ ЁОСАПИЛ ЁОП ЗАМОК.
0
|
||||||
| 09.05.2018, 16:41 | |
|
Помогаю со студенческими работами здесь
5
Шифрование методом замены (подстановки)
Шифрование методом монофонической замены Шифрование методом многоалфавитной замены Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|