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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
bgm313
12 / 12 / 2
Регистрация: 27.07.2012
Сообщений: 208
#1

Xor encrypt - C++

31.08.2012, 00:35. Просмотров 1272. Ответов 9
Метки нет (Все метки)

Есть файл зашифрованный с помощью 16 битного ключа только xor. Какие есть предложения для вскрытия шифра?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2012, 00:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Xor encrypt (C++):

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

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

XOR Шифратор - C++
Сделал шифратор на основе XOR’а, но если ввести пробел в сообщении которое надо зашифровать, програма во всю отказывается шифровать, то...

XOR шифрование - C++
Здравствуйте. Не хотел создавать ещё тему, но у меня не все гладко прошло с XOR шифрованием, не смотря на то, что там все просто. Не пойму...

XOR пароля - C++
подскажите где ошибка? когда пишу правильный пароль, в if при сравнении пароли одинаковые но все равно выводит: "cout <<"Error " <<...

XOR шифрование - C++
Задание:Написать программу на выбранном языке программирования, реализующую описанный выше алгоритм для шифрования содержимого текстового ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Almiqui
Почетный модератор
13976 / 3595 / 86
Регистрация: 11.06.2009
Сообщений: 11,797
31.08.2012, 00:36 #2
Цитата Сообщение от bgm313 Посмотреть сообщение
Какие есть предложения для вскрытия шифра?
Прочесть правила.. там прописано про взломы..
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
31.08.2012, 00:40 #3
Я думаю, это не имеет никакого отношения к научному вопросу о криптостойкости.

А что в файле известно? Если нет — перебирайте руками 65к комбинаций, пока не наткнётесь на что-то осмысленное.
bgm313
12 / 12 / 2
Регистрация: 27.07.2012
Сообщений: 208
31.08.2012, 00:58  [ТС] #4
Хотелось бы отметить, что предполагается вскрытие довольно простого алгоритма xor в учебных целях Это не имеет отношение ни к каким лицензионным продуктам.

Добавлено через 3 минуты
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
А что в файле известно? Если нет — перебирайте руками 65к комбинаций, пока не наткнётесь на что-то осмысленное.
Конечно можно решить вопрос перебором, но
1. Можно ли как - то сделать так чтобы компьютер сам выяснял является ли текст осмысленным или нет?
2. Интересует вскрытие не перебором.

Добавлено через 2 минуты
О файле известно следующее:
сначала в файл записывается зашифрованное имя программы и его длина, далее ключ немного преобразуется и уже записывается текст.

Добавлено через 11 минут
В принципе достаточно знать то, что
1.файл зашифрован xor
2.(необязательно, но облегчит решение) известна длина ключа.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
31.08.2012, 01:05 #5
> 1. Можно ли как - то сделать так чтобы компьютер сам выяснял является ли текст осмысленным или нет?
Как только формализуете понятие "осмысленности", так сразу.

Именно характер текста важен. Любые опознавательные знаки и т. п. Если вы точно уверены, что это какой-то простой xor-шифр (побайтовый xor с ключом и всё, никаких циклических зависимостей и т. п.), то можно попробовать подобрать по частотам. Выясните длину ключа, облегчит чуть задачу. Потом посмотрите на частоты различных байтов, попробовав их соотнести с частотами появления символов в тексте. Можете посмотреть на серии символов. Как только найдёте что-то похожее, вычисляете "зашифрованный оригинал xor догадка", получаете ключ, пробуете ключ на всём документе.

Естественно, чем больше ключ, тем сложнее. Если ключ размером с сам документ, то вообще только перебор.
D-Vampire
3 / 3 / 0
Регистрация: 16.05.2012
Сообщений: 36
31.08.2012, 01:06 #6
Цитата Сообщение от bgm313 Посмотреть сообщение
1. Можно ли как - то сделать так чтобы компьютер сам выяснял является ли текст осмысленным или нет?
2. Интересует вскрытие не перебором.
1. Можно. Сравнивать результат с сигнатурами, искать сигнатуры в результате.
2. На то оно и шифрование, что нет волшебных кнопочек "сделать хорошо"
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
31.08.2012, 01:07 #7
Без перебора можно было, если бы был известен небольшой кусок открытого текста.
Проверка на осмысленность - смотря что у вас там за текст. Если обыкновенный текст на английском языке, где каждый символ - это 8 бит, то во-первых, отбраковываете все ксор-ключи, которые после применения дают непечатаемые символы, во-вторых можете добавить несколько лексических правил. Например, в слове должна быть хотя бы одна гласная или слов без гласных не должно быть больше N (на случай сокращений).
bgm313
12 / 12 / 2
Регистрация: 27.07.2012
Сообщений: 208
31.08.2012, 01:12  [ТС] #8
Вот так можно примерно это сделать, но как выполнить 2.
Миниатюры
Xor encrypt  
bgm313
12 / 12 / 2
Регистрация: 27.07.2012
Сообщений: 208
31.08.2012, 01:41  [ТС] #9
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Как только найдёте что-то похожее, вычисляете "зашифрованный оригинал xor догадка", получаете ключ, пробуете ключ на всём документе.
Ну шифр текст может содержать также и мусор.

Добавлено через 26 минут
Непонятно как, действовать после удаление ключа.
alkagolik
Заблокирован
31.08.2012, 02:18 #10
Цитата Сообщение от bgm313 Посмотреть сообщение
О файле известно следующее:
сначала в файл записывается зашифрованное имя программы и его длина, далее ключ немного преобразуется и уже записывается текст.
мало. Откуда известно? О какой программе речь? Чья длина? Что за текст? Опиши детально

Добавлено через 6 минут
если есть возможность сравнивать шифрованный и нешифрованный файлы, то это намного упрощает задачу.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2012, 02:18
Привет! Вот еще темы с ответами:

Оператор xor - C++
Всем добрый вечер.Чем отличаются следующие выражения: (a || b) && !(a && b); и (a^b);

Шифрование Xor'ом - C++
Добрый день, уважаемые) тут такое дело, сел делать курсач и столкнулся с проблемой. Работа по шифрованию бинарными операциями и...

оператор XOR - C++
объясните, что делает XOR, желательно понятным простому смертному языком. например: 0 xor 1 = 1 1 xor 1 = 0 0 xor 0 = 0 1 xor...

быстрый xor - C++
Нужно про-xor-ить биты в числе. Можно ли это сделать быстрее, чем u_char r = 0; for (i = 0; i < sizeof (u_char); ++i) r ^= (n >>...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.08.2012, 02:18
Ответ Создать тему
Опции темы

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