|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.09.2013, 15:42 | #1 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
XOR
Как настоящий кулхацкер решил побаловаться XORчиком.
Как бы мне криптостойкость измерять? Код:
do not use your brain
|
15.09.2013, 15:51 | #2 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
что есть kSize и dSize?
|
15.09.2013, 19:25 | #3 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
размеры d - data k - key
Я так на досуге прикинул, замахнулся на RSA, AES, ГОСТ-85...чототам... Короче играю с XORами и не выделываюсь лет до 30-ти
do not use your brain
Последний раз редактировалось Кащей; 15.09.2013 в 20:48. |
15.09.2013, 21:10 | #4 | ||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
Код:
Есть ряд косяков. Самый незначительный в том, что long long гипотетически может не 8 байт занимать (http://ru.cppreference.com/w/cpp/language/types - стандарт гарантирует что там "не менее 8 байт"). Печальней то, что зашифровать твоим XOR, скажем, 7 байт я не смогу (он тупо ниче шифровать не будет), а тип void* аргумента функции как бы намекает (если оно шифрует только массив типа long long - нахрена функция количество байт, а не количество элементов массива принимает?) Со мной че то не то, но этот кусок я реально не понял: Код:
Ну и этот момент мне не ясен отдельно: d[i] ^= k[(k[n] > kSize) ? k[n] % kSize почему остаток от деления на длину ключа? Цитата:
|
||
15.09.2013, 21:27 | #5 | |||||
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
do not use your brain
|
|||||
15.09.2013, 21:40 | #6 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
k[n % kSize/8] Иначе элемент ключа ты выбираешь вполне определенный (n-ный), а потом уже что-то непонятное делаешь с его значением (и шифруешь фактически не ключем, а чем-то образованным от ключа и его длины) Но в любом случае, никакой стойкости это не добавит алгоритму, но это уже будет другой алгоритм (а это плохо, ИМХО, в общем случае). Цикла там вложенного быть не должно. |
|
15.09.2013, 22:04 | #7 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
do not use your brain
|
15.09.2013, 23:15 | #8 | |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
И тут я наткнулся на замечательную статью, более подробно описывающую этот ГОСТ-28147
И меня тут же заинтересовало, как реализуется основной шаг, а именно там где подставка замены происходит. Цитата:
do not use your brain
|
|
16.09.2013, 18:50 | #9 | |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
В продолжение. по мотивам какихто там исходников наваял реализацию алгоритма ГОСТ 28147-89, но не работает, помогите разобраться.
Ошибка была в циклах шифрования - расшифрования, я пропустил где было написано 0..7 и 7...0. Внимание вопрос - оно в режиме простой замены так и должно местами буквы менять или может преобразовывать ещё их? Вывод программы: Цитата:
do not use your brain
Последний раз редактировалось Кащей; 16.09.2013 в 21:24. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
c Xor | frommars | Общие вопросы C/C++ | 4 | 03.10.2012 18:30 |
Алгоритм XOR | SOUR47 | Общие вопросы C/C++ | 16 | 15.06.2011 03:14 |
вопрoс по XOR | whystr | Общие вопросы Delphi | 1 | 08.01.2011 18:05 |
xor-шифрование | Halyna | Помощь студентам | 0 | 06.12.2010 17:24 |