![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Сорри. Ответил на уже закрытый вопрос.
Это сообщение отредактировал(а) bsa - 13.8.2006, 22:24 |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Иными словами в шифрованном файле будет не более 256 уникальных значений int'а (а реально даже меньше).
до тех пор пока каждый символ X преобразуется в Y практическая польза от такого шифрования более чем сомнительна. хинт для расшифровки Υ в Χ (имея преобразованный файл и не имея алгоритма преобразования X в Y). наиболее часто встречащаяся буква навряд ли будет твердым знаком. Таблицы показывающие вероятность появления каждой буквы в тексте можно или найти в сети, или получить самостоятельно, подсчитав кол-во букв в вашей любимой книге 'Война и Мир'. хинт для расшифровки Υ в Χ (имея алгоритм и зашифрованный текст) шифруем 'абвгдеёжзи...юяАБВГД...Я' и получаем таблицу соответствий русских букв и шифрованных букв. Далее дело техники. Хотя бы tr'ом прогнать. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| zkv |
|
||||||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
Вообще, я имел в виду случай такого рода (моя вина - не пояснил)
и по-моему, здесь будет порядка 256^sizeof(int) вариантов перебора, и то при условии, что мы знаем о представлении каждого символа sizeof(int) байтами. Возможно я ошибаюсь, поправте меня если так. P.S. С En_t_end я полностью согласен. |
||||||
|
|||||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Не в тему, но пускай здесь будет, а то код потеряется в дебрях моего ЖД. Простенький алгоритм. Для данного алгоритма если длинна ключа>=длине длинне текста, расшифровать его будет невозможно ничем. Правда конечно надо один и тот же ключ как можно реже использовать. |
|||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
Возникло пару вопросов по поводу вот последнего кода, который скинул sergejzr.
Объясните пожалуйста, непросвещённому, как работает функция encode, а конкретнее, как работает 10-я строка? Там знак "^", что он делает, и почему при кодировке какие-то символы странные берутся? Ну, а если, опишите функцию немного подробней, буду оч благодарен. И вообще, это всё ещё шифр Цезаря, или что? -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Это оператор XOR - побитовое сложение. И это уже не Цезарь. Цезарь легко взломать, a XOR при достаточной длине ключа- невозможно. Поэтому и символы "странные" т.к без правилъного ключа шифровка может быть чем угодно. |
|||
|
||||
| Ln78 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 25.11.2006 Репутация: 13 Всего: 15 |
sergejzr, если не имеется в виду применение одноразового блокнота, то XOR - игрушечный алгоритм. Цитата из Брюса Шнайера: "Конечно, алгоритм XOR может помешать вашей младшей сестре прочитать ваши файлы, но настоящего криптоаналитика он задержит лишь на несколько минут"
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Ln78, читайте внимательней
Т.е Добавлено через 10 минут и 22 секунды А как ломать XOR описано здесь http://forum.vingrad.ru/index.php?showtopi...st&p=214032 В принципе, ключ с длиной 1/2 мессаги ещё достаточно надёжен. |
|||
|
||||
| Ln78 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 25.11.2006 Репутация: 13 Всего: 15 |
sergejzr, меня немного смутила категоричность Вашего предыдущего поста о невозможности. Прочитав ссылку, понял Вы понимаете, о чём говорите. А с уточнением о необходимой длине и равновероятности гаммы - получаем именно одноразовый блокнот.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |