URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 5266
[ Назад ]

Исходное сообщение
"Задача: Аццкий криптоанализ "

Отправлено pavlinux , 17-Авг-14 04:01 
Дано:

1-й файл, контрольная сумма: 0x30A83700, размер: 588800
2-й файл, контрольная сумма: 0x27D65500, размер: 70983868
3-й файл, контрольная сумма: 0xC072BC00, размер: 3560767488  

Найти: Алгоритм расчёта контрольной суммы. :D

---
Для второго файла, CRC32 и Adler не канают.

Adler32: 0x5b53aaa9
CRC32:   0xc78df808


Содержание

Сообщения в этом обсуждении
"Задача: Аццкий криптоанализ "
Отправлено PavelR , 17-Авг-14 10:23 
>Задача: Аццкий криптоанализ

Дано:

Лицензии на работу системы в виде таблицы "интервал-разрешающий хеш".

2011=203ef1df167cebe475bc790c1e6de2a7
2012=fc5cd3fe336a8718c890511315aa55d0
2013=3a4a5dd6243c59d20f8847f34d094002
2014=e98b8de9024d935e88cc3685ed413900

и так далее.

Хеш должен строиться с использованием функции:

R = F(year,K1,K2,....)

year  - год
Kх    - параметры, выбираемые произвольным или непроизвольным образом
R     - результат для использования в построении "разрешающего хеша".

Соответственно "система", используя year и зашитые в ней компоненты Kх, сможет проверить "лицензию".

При этом функция должна обеспечивать следующее:

1) Должны существовать либо ложная функция F' либо "ложные" параметры Кx' для функции F,вычисляемые исходя из year', year'', при использовании которых для всех year' < year < year'' вычисленное значение R совпадает c вычисленным функцией F(year,K1,K2,...), а для year вне этого интервала значения должны различаться.

2) Функции не должны использовать условий для определения порогов year' year'' выдачи корректных/некорректных значений.
2.1)   Если имеется ложная функция F', то функция F может использовать условия для проверки порогов  year' year''

3) Функции не должны содержать таблиц, значения из которых берутся/формируются по ключу year.

Т.е. должно быть можно "безопасно" открыть код генератора "лицензий", предоставив компоненты для получения "лицензий" только на определенный интервал year.

Я так понимаю, что в основе построения хеша должна лежать функция, выдающая цепочку значений, причем для любой части этой цепочки должны вычисляться новые параметры функции, такие, чтобы функция выдала эту же часть цепочки как часть другой цепи значений.

Задача - найти такую функцию/алгоритм построения "лицензий".


"Задача: Аццкий криптоанализ "
Отправлено pavlinux , 17-Авг-14 18:04 
> Лицензии на работу системы в виде таблицы "интервал-разрешающий хеш".

Типа под..ебал.

У меня нужно перебрать всего 2^32 полиномов вида (x^32 + x^(32 -k),....,x^1,
ещё есть методы оптимизации этих полиномов, в смысле не все 2^32 перебирать нужно.  
И если заметил, то у меня всё младшие два байта в crc - нулевые. Так что, это скорее
CRC24 дополненное нулями.


"Задача: Аццкий криптоанализ "
Отправлено PavelR , 17-Авг-14 18:41 
>> Лицензии на работу системы в виде таблицы "интервал-разрешающий хеш".
> Типа под..ебал.

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


"Задача: Аццкий криптоанализ "
Отправлено Andrey Mitrofanov , 18-Авг-14 09:34 
>> Лицензии на работу системы в виде таблицы "интервал-разрешающий хеш".
> Типа под..ебал.

Не всё ж  тебе с нас.

>всего 2^32 полиномов вида (x^32 + x^(32 -k),....,x^1,

Ты слегка занизил. Оптимист, да? С xi*ai, ai in [uint32] до xi*2^i*ki, ki in [0,1]

"А есть ещё отрицательные числа!"(ц)


"Задача: Аццкий криптоанализ "
Отправлено chinarulezzz , 18-Авг-14 02:12 
> Дано:
> 1-й файл, контрольная сумма: 0x30A83700, размер: 588800
> 2-й файл, контрольная сумма: 0x27D65500, размер: 70983868
> 3-й файл, контрольная сумма: 0xC072BC00, размер: 3560767488
> Найти: Алгоритм расчёта контрольной суммы. :D
> ---
> Для второго файла, CRC32 и Adler не канают.
> Adler32: 0x5b53aaa9
> CRC32:   0xc78df808

файлов маловато))


"Задача: Аццкий криптоанализ "
Отправлено Andrey Mitrofanov , 18-Авг-14 09:41 
>> Дано:
>> 1-й файл, контрольная сумма: 0x30A83700, размер: 588800
>> 2-й файл, контрольная сумма: 0x27D65500, размер: 70983868
>> 3-й файл, контрольная сумма: 0xC072BC00, размер: 3560767488
>> Найти: Алгоритм расчёта контрольной суммы. :D
>> ---
>> Для второго файла, CRC32 и Adler не канают.
>> Adler32: 0x5b53aaa9
>> CRC32:   0xc78df808
> файлов маловато))

Не, как раз для трёх известных решений (и только для них), можно сгенерить массу решений. Всех - разных, и всех неправильных (в смысле неизвестности исходной функции).

Например, берёшь crc16 с тех файлов. Если нет совпадений, решаешь, систему линейных уравнений:

0x30A83700 = a+b*crc1
0x27D65500 = a+b*crc2
0xC072BC00 = a+b*crc3

- отностительно a и b, и f(file)=a+b*crc16(file) становится первым из череды (неправильных) кандидатов на...


"Задача: Аццкий криптоанализ "
Отправлено name , 18-Авг-14 10:12 
Хэш функции по ГОСТ?

"Задача: Аццкий криптоанализ "
Отправлено pavlinux , 20-Авг-14 03:17 
> Хэш функции по ГОСТ?

ага, у амерекосов.