|
20 / 20 / 2
Регистрация: 02.02.2013
Сообщений: 28
|
||||||
Взломать шифр Виженера методом частотного анализа05.10.2015, 20:37. Показов 31859. Ответов 12
Метки нет (Все метки)
Добрый вечер, сообщество. Возникла трудная задача, необходимо взломать шифр Виженера.
Основная проблема в том, что я не могу найти внятную информацию о том как это сделать и хотя бы один законченный пример. Я приведу пример своего кода, здесь я шифрую текст, расшифровываю его для проверки работы алгоритма шифрования, потом получаю длину ключевого слово методом Касиски, но дальше ничего. Может хоть кто-нибудь знает как это сделать?
0
|
||||||
| 05.10.2015, 20:37 | |
|
Ответы с готовыми решениями:
12
Расшифровать текст методом частотного анализа |
| 05.10.2015, 23:25 | ||
|
Инет завален статьями и книгами по взлому этого шифра. Общий подход - угадываете длину ключа, разбиваете текст на моноалфавитные последовательности, взламываете каждую в отдельности частотным анализом. На практике, для текста без разделителей и длине моноалфавитной цепочки менее 200 символов, перспективы туманные... Жданов, Куденкова ! Криптоанализ классических шифров Взлом шифра Виженера с помощью частотного криптоанализа Генетический алгоритм для криптоанализа шифра Виженера
0
|
||
|
20 / 20 / 2
Регистрация: 02.02.2013
Сообщений: 28
|
|
| 06.10.2015, 00:28 [ТС] | |
|
Спасибо за попытку помочь, но я бы не писал сюда, если бы не не искал информацию до этого. Я не хочу изучать целую книгу ради одной лабы. Должен же быть у кого-то пример. Я не прошу за меня написать, просто дайте посмотреть как это реализуют. Только, пожалуйста, ссылку на реальный код.
0
|
|
| 06.10.2015, 01:05 | |
|
Кажется, вы не вполне представляете себе задачу.
Нет кода. Есть эвристики, есть оптмизационные алгоритмы, есть статьи, в которых говорится о ~90% расшифровке (для английского языка). Остальное зависит от текста (прежде всего, от его размера), навыков криптоаналитика, удачно выбранной фитнесс-функции (отдельная проблема оптимизации), близости модельного текста к оригиналу и прочей магии. Полный проект на C (для моноалфавитного шифра): Alkindus Features
1
|
|
|
20 / 20 / 2
Регистрация: 02.02.2013
Сообщений: 28
|
||||||
| 07.10.2015, 17:24 [ТС] | ||||||
|
В общем пришлось все делать самому. Нормального кода нигде не нашел. Возможно смогу спасти несколько вечеров несчастным студентам. Вот мой пример. Для сдачи пойдет. Шифрование/Расшифрование Виженером, анализ Касиски, вскрытие пароля частотным анализом. Все автоматизировано. Для русского и английского. Смотрите чтобы в файле были только маленькие буквы и не было знаков препинания (по условию задачи только русские и английские маленькие буквы должны быть). Встречаются странные моменты, но все делал в последний момент лишь бы работало.
codeRus.txt Передавайте Богушу Р.П. привет
10
|
||||||
|
1 / 1 / 0
Регистрация: 11.11.2015
Сообщений: 5
|
|
| 11.11.2015, 18:43 | |
|
приветикNseries, можно тебе вопросы задать по твоей программе??
0
|
|
|
20 / 20 / 2
Регистрация: 02.02.2013
Сообщений: 28
|
|
| 11.11.2015, 18:52 [ТС] | |
|
Да, конечно
1
|
|
|
1 / 1 / 0
Регистрация: 11.11.2015
Сообщений: 5
|
|
| 11.11.2015, 19:20 | |
|
Вообще я программирую на с++, а задача стоит расшифровать Виженер не зная ключа, вот, длину ключа я нашла и методом криптоанализа пыталась найти ключ, но все тщетно.. и тут я нашла твою программу. ближе к сути, я не поняла что в code писать, наверно сам шифротекст??
Добавлено через 17 минут Nseries, а сколько по времени программа у тебя компилируется??
0
|
|
|
20 / 20 / 2
Регистрация: 02.02.2013
Сообщений: 28
|
||||||||||||||||||||||||||
| 11.11.2015, 20:20 [ТС] | ||||||||||||||||||||||||||
|
LitteAlice, в файле code у меня расшифрованный текст. Тот файл, который я подаю на шифирование.
Программа компилируется моментально, а выполняется секунд 10. Поиск длины занимает прилично времени. Ключ подбирается со строчки
Поясню для чего. Допустим, наш текст: "ыфсыфс фы фывфы вмваи ави вмв" и мы определили что длина ключа 5, то нужно представить текст в таком виде: ыфсыф сфыфы вфывм ваиав ивмв Для этого я избавился от всех пробелов
Дальше я прохожусь по каждому столбцу и нахожу в нем самую популярную букву
Дальше я сортирую свой словарь и выбираю первый, т.е. самый популярный символ. Нахожу разницу между найденной буквой и самой популярной буквой в вашем алфавите. Тут нужно просто смириться. Для английского языка это e, для русского о. Вот и считайте на сколько сдвинули вашу самую популярную букву от буквы о или e. Это расстояние и есть буква вашего ключа. Так находится весь пароль. Но имейте ввиду, чем меньше текст, тем меньше вероятность найти длину пароля. Чем длиннее пароль, тем меньше вероятность найти его. И текст должен быть равномерный, а не одна строчка размноженная 10 раз.
3
|
||||||||||||||||||||||||||
|
1 / 1 / 0
Регистрация: 11.11.2015
Сообщений: 5
|
|
| 11.11.2015, 20:30 | |
|
Nseries, то есть получается мы записываем в массив зашифрованный текст? а длина текста у меня 1990 символов без пробелов и знаков
1
|
|
|
20 / 20 / 2
Регистрация: 02.02.2013
Сообщений: 28
|
|
| 11.11.2015, 20:39 [ТС] | |
|
LitteAlice, да, допустим если у вас пароль 5 символов, то получится массив у которого 1900/5 = 380 строк и 5 столбцов.
1
|
|
|
1 / 1 / 0
Регистрация: 11.11.2015
Сообщений: 5
|
|
| 11.11.2015, 21:43 | |
|
Nseries, в общем я разделила текст на 398 строк и 5 столбцов и не расшифровал, получилось вот так: "сочвоооихтесоотитигооомчлооожиси"
0
|
|
|
1 / 1 / 0
Регистрация: 11.11.2015
Сообщений: 5
|
|
| 12.11.2015, 08:04 | |
|
Nseries, спасибо тебе большое, что помогаешь
я зашифрованный текст добавила... смогла найти только длину ключа равную 5, методом Казиского, уже больше месяца с этим сижу
0
|
|
| 12.11.2015, 08:04 | |
|
Помогаю со студенческими работами здесь
13
Расшифровка текста методом частотного анализа Расшифровать текст методом частотного анализа
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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(), которая. . .
|