Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 41, средняя оценка - 4.71
Rad-X
0 / 0 / 0
Регистрация: 03.05.2013
Сообщений: 14
#1

Взлом XOR шифра - C++

03.05.2013, 15:07. Просмотров 5352. Ответов 20
Метки нет (Все метки)

Здравствуйте, пишу программу для взлома XOR шифра.
Прочитал по этому поводу в "Прикладной криптографии" Брюса Шнайера.

Там описан следующий алгоритм:

"Предположим,что открытый текст использует английский язык.Более того,пусть длина ключа любое небольшое число байт.Ниже описано,как взломать этот шифр:

1.Определим длину ключа с помощью процедуры,известной как ПОДСЧЕТ СОВПАДЕНИЙ.
Применим операцию XOR к шифротексту,используя в качестве ключа сам шифротекст с различными смещениями,и подсчитаем совпадающие байты. Если величина смещения кратна длине ключа,то совпадет свыше 6 процентов байтов. Если нет,то будут совпадать меньше чем 0.4 процента( считая,что обычный ASCII текст кодируется случайным ключом,для других типов открытых текстов числа будут другими). Это называется показателем совпадений. Минимальное смещение от одного значения,кратного длине ключа,к другому и есть длина ключа.

2. Сместим шифротекст на эту длину и проведем операцию XOR для смещенного и оригинального шифротекстов.Результатом операции будет удаление ключа и получение открытого текста,подвергнутого операции XOR с самим собой,смещенным на длину ключа. Так как в английском языке на один байт приходится 1.3 бита действительной информации,существующая значительная избыточность позволяет определить способ шифрования."

Немного не понимаю, что мы считаем совпадающими байтами? Совпадения между строкой шифротекста и полученной строкой? Или только в полученной строке?

Нашел на википедии статью http://ru.wikipedia.org/wiki/%D0%98%...BD%D0%B8%D0%B9

Пробовал разные варианты реализовывать, и просто индекс совпадений и взаимный индекс, результаты получаются не те, которые нужны.

Может дело в том, что шифрую только 32 буквы русского алфавита? Но ведь при смещении кратном длине ключа всплески должны быть, но их нету.

Что делать, как быть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2013, 15:07     Взлом XOR шифра
Посмотрите здесь:

Криптоанализ шифра Цезаря - C++
Помогите пожалуйста, написать програму. Суть программы в том чтобы без ключа разшифровать текст зашифрованый шифром Цезаря.

Шифрование шифра Виженера - C++
Здравствуйте! При шифровании сообщения на русском языке шифром Виженера у меня возникла ошибка. ind2=abc.find(key); <--- вот в этой...

Реализация шифра Виженера - C++
Написать программу для шифра Виженера на С++

Расшифровка шифра Виженера - C++
Здравствуйте, помогите пожалуйста разобраться. У меня задания расшифровать шифр Виженера. Ключ <=5 Дальше весь закодированный текст...

Криптоанализ шифра Виженера - C++
скачал и начал разбираться с прогой по криптоанализу,но сложно // Kaziski.cpp : Defines the entry point for the console application. //...

Отладить код шифра Цезаря - C++
Здравствия всем, не все происходит так как бы хотелось. #include "stdafx.h" #include <iostream> using namespace std; bool...

Шифратор/Дешифратор шифра цезаря - C++
Не так уж и давно мне было необходимо создать шифратор в шифр цезаря(сори за тавтологию). Однако мне не удалось найти НИ ОДИН рабочий...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2013, 10:40     Взлом XOR шифра
Еще ссылки по теме:

Программа использования простого столбцевого шифра - C++
программа использования простого столбцевого шифра. не могу исправить ошибку в строкеRead_Column(Nmin, QL, QC, AR);пишет ошибкуВозможно эту...

Частотный анализ для шифра Цезаря - C++
Добрый день! Нужно было написать программу,которая кодирует шифр Цезаря. Это есть: #include <iostream> using namespace std; int...

Частотный анализ. Криптоанализ шифра замены. С++ - C++
Доброго времени суток. Задача состоит в следующем: "Дан зашифрованный файл, методом замены. Ключа и открытого текста нет. Надо...

XOR without XOR - C++
Здравствуйте, уважаемые знатоки) В общем-то интересует (как можно воплотить подобную штуку) --------- By knowing that XOR may be...

xor, not - C++
кто может помочь с операциями ^(xor) и -(not). если можно навести примеры с реальными числами что они делают, например 2^3 или что-то...


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

Или воспользуйтесь поиском по форуму:
Befrodo
Сообщений: n/a
01.06.2013, 10:40     Взлом XOR шифра #21
Rad-X, Наткнулся на Ваше сообщение по поводу XOR шифрования.Не могли бы Вы пояснить, как определить длину ключа для случайного текста.Или например txt файла размером 4кб?
Заранее благодарен.
Yandex
Объявления
01.06.2013, 10:40     Взлом XOR шифра
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru