Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
О криптоанализе 24.04.03 12:10 Число просмотров: 2864
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> (всегда одно и то же для данного Х) выходное значение Y > такой же длинны, хотя для разных входных > X может быть одно и то же Y, как показано ниже.
Это уж точно не шифровальная машинка :)
> Заложить в модель заранее вычисленные таблицы для всех > возможных входных Х при максимальной > длинне Х = 30 байт - тоже не самое правильное решение.
Убедитесь, что размер блок действительно 32 бит серией тестов - возмите несколько 32бит последовательностей, объедините несколько из них, прогоните через ч.я., сравните 32битные последовательности разных тестов. Для 32бит и табличку не сложно составить (это действительно не 30 байт). Это как максимум. Короткий алгоритм найти (если он по предположению не сложный) постараться можно, только данных надо побольше, чем приведено ниже.
> Эксперименты с ч.я. дают возможность предполагать, что > алгоритм этот несложен, и оперирует > с 32-х разрядными числами, т.е. Х разбивается на блоки по 4 > байта, значение младших (слева > направо) 4-х байт влияет на значение следующего блока, но > от него не зависит. > Чтобы немного пояснить вышесказанное, приведу таблицу > соответствий Х => Y: > > 00 73 > 0000 0A4A > 000000 1290DA > 00000000 48CBFA64 > 0000000000 48CBFA6403 --> 4 первых байта > остались такими же. > 000000000000 48CBFA644BB8 > ну и так далее. > > 01 FC > 02 4D > 11 74 > 12 2C > 73 8E > > Вот ещё интересные ответы: > E2 58 > OE 59 > > 17 20 > B0 20 > > 52 83 > D2 83 > > 40 FF > FF BA > > DE DE !!! и такое вот бывает. > > OD 45 > D0 47 > > Если приведённое выше несколько прояснило ситуацию, то > вопрос, в принципе, остаётся прежним - > каким образом можно вычислить алгоритм, по которому для > заданных Х формируются Y.
Устно - тяжело. Програмку надо написать, которая из элементарных функций, комбинируя их, создает алгоритмы, их прогоняет на тестовых данных и сравнивает результаты.
> Что-то мне подсказывает, что там всё одними > сдвигами/ксорками обходится. > > Как оценить вероятность того, что алгоритм слабый? > > За ссылки - спасибо большое, только, как я понял из беглого > ознакомления, в большинстве > источников исходят из того, что алгоритм заранее известен. >
|
|
|