2010-11-11 3 views
0

Может ли кто-нибудь пролить некоторые знания об этом?(Проблема решена) Хэш (m1 xor m2) = Хэш (m1) xor Хэш (m2) Это правда в случае SHA1

Мой ответ - нет, это неправда, потому что SHA1 обладает сильным сопротивлением столкновению.

+2

Вы можете легко убедиться в этом. –

+0

Но я знаю, как вычислить хеш для файла, а не потока, как мне это сделать? – rda3mon

ответ

3

Нет, это неправда. (И это займет всего несколько секунд, чтобы проверить его самостоятельно.)

+0

Я знаю, как найти хэш файла, но не хэш в командной строке. Как можно найти хеш числа или строки вместо файла? – rda3mon

+0

@Ringo try Hexedit: http://www.physics.ohio-state.edu/~prewett/hexedit/ – ruslik

+0

http://www.xorbin.com/tools/sha1-hash-calculator – LukeH

1

Нет, это неправда. Функция должна была бы сбиться с пути, чтобы иметь это свойство. SHA1 включает байты из своего потока в блок за раз, начиная с предопределенного начального значения. В конце он включает длину байтового потока в поток байтов и выкладывается до размера блока.

Он не делает никаких попыток, чтобы удовлетворить данное имущество (что это хорошая вещь!)

0

Я напуган, это будет иметь место только, если ваш хэш-функция является XOR.

+0

Он будет содержать любую линейную функцию над F_2, конечное поле двух элементов, а не только XOR. –

+0

@GregS '(A^B) + 1! = (A + 1)^(B + 1)'. Вы можете объяснить, что вы имеете в виду? – ruslik

+1

принять любой [CRC] (https://secure.wikimedia.org/wikipedia/en/wiki/Cyclic_redundancy_check): CRC (A xor B) = CRC (A) xor CRC (B). CRC не просто XOR. –

1

No. Для quote from Wikipedia:

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

Вот контрпример (0xFF исключающее 0x00 является 0xFF):

$ echo -ne "\xff" > 1 
$ echo -ne "\x00" > 2 
$ sha1sum * 
85e53271e14006f0265921d02d4d736cdc580b0b *1 
5ba93c9db0cff93f52b521d7420e43f6eda2784f *2 

Если ваше заявление было правдой, то второй хэш должен быть 00000000 ..., но это не так.

+0

Но где я получил сомнение DES также проявляет лавинный эффект также обладают комплементационным свойством E_k (P) = C \ Leftrightarrow Е- \ Overline {K} (\ Overline {P}) = \ Overline {C} – rda3mon

Смежные вопросы