Может ли кто-нибудь пролить некоторые знания об этом?(Проблема решена) Хэш (m1 xor m2) = Хэш (m1) xor Хэш (m2) Это правда в случае SHA1
Мой ответ - нет, это неправда, потому что SHA1 обладает сильным сопротивлением столкновению.
Может ли кто-нибудь пролить некоторые знания об этом?(Проблема решена) Хэш (m1 xor m2) = Хэш (m1) xor Хэш (m2) Это правда в случае SHA1
Мой ответ - нет, это неправда, потому что SHA1 обладает сильным сопротивлением столкновению.
Нет, это неправда. (И это займет всего несколько секунд, чтобы проверить его самостоятельно.)
Нет, это неправда. Функция должна была бы сбиться с пути, чтобы иметь это свойство. SHA1 включает байты из своего потока в блок за раз, начиная с предопределенного начального значения. В конце он включает длину байтового потока в поток байтов и выкладывается до размера блока.
Он не делает никаких попыток, чтобы удовлетворить данное имущество (что это хорошая вещь!)
Я напуган, это будет иметь место только, если ваш хэш-функция является XOR.
Он будет содержать любую линейную функцию над F_2, конечное поле двух элементов, а не только XOR. –
@GregS '(A^B) + 1! = (A + 1)^(B + 1)'. Вы можете объяснить, что вы имеете в виду? – ruslik
принять любой [CRC] (https://secure.wikimedia.org/wikipedia/en/wiki/Cyclic_redundancy_check): CRC (A xor B) = CRC (A) xor CRC (B). CRC не просто XOR. –
No. Для quote from Wikipedia:
Даже небольшое изменение в сообщении будет, с подавляющей вероятностью, приведет к совершенно иной хэш вследствие лавинного эффекта.
Вот контрпример (0xFF исключающее 0x00 является 0xFF):
$ echo -ne "\xff" > 1
$ echo -ne "\x00" > 2
$ sha1sum *
85e53271e14006f0265921d02d4d736cdc580b0b *1
5ba93c9db0cff93f52b521d7420e43f6eda2784f *2
Если ваше заявление было правдой, то второй хэш должен быть 00000000 ..., но это не так.
Но где я получил сомнение DES также проявляет лавинный эффект также обладают комплементационным свойством E_k (P) = C \ Leftrightarrow Е- \ Overline {K} (\ Overline {P}) = \ Overline {C} – rda3mon
Вы можете легко убедиться в этом. –
Но я знаю, как вычислить хеш для файла, а не потока, как мне это сделать? – rda3mon