Ответы:
Куда же без коллизий. Без коллизий не выйдет. Или хеш будет длиной с сообщение.
нет, спасибо, не думали.
пока что устраивает имеющееся.
Я в математике плохо соображаю, мне интересно - если взять два разных типа хеша (md5 и sha2, к примеру) от одного и того же исходного набора данных, то на сколько уменьшится вероятность коллизии по сравнению с одним хешем?
srs2k, я математику уже забыл, но вроде суть в том, что вероятность получить коллизию случайно достаточно мала, чтобы ей пренебречь. Беда в том, что коллизию можно получить специально.
Когда персональные компьютеры станут достаточно мощными чтобы находить все коллизии для хешей за доли секунды, я напишу супер-мега-гипер-архиватор, который будет рекурсивно жать данные в хеши и распаковвывать их обратно перебором коллизий и сверкой CRC :))
Да, безусловно это будет лицензионная [1] софтинка, а всех нарушителей я засужу до разорения.
где-где ты меня не поймала?
тебя там нет, вот и не поймала.
просто так и говори, что поймать хочешь.
Хеш относится к классу сжимающих отображений, коллизии будут всегда. Преобразование потока, которое можно однозначно инвертировать обратно - это уже не хеш, при этом преобразовании нельзя терять информацию, и, соответственно, нельзя превратить поток неопределенной длины в фиксированное количество битов. К вопросам в комментариях: использованием нескольких типов хеша на одни данные вероятность коллизий снизить нельзя. К вопросу о "распаковывать их обратно перебором коллизий и сверкой CRC" - конкретному значению хеша соответствует бесконечное количество потоков, поэтому такой архиватор невозможен даже теоретически.
>crimaniak ..."конкретному значению хеша соответствует бесконечное количество потоков,..."
Вики: Хеширование (иногда хэширование, англ. hashing) — преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины.
Фиксированной значит что коллизии будут.
Как это ты представляешь что в строке длинной N (то есть всего N^256 разных комбинаций (256-ASCI предположим)) может быть описано, любая из E(N^256), где N от 1 до сколько угодно большого числа.
Все варианты хэша включают, себя как варианты исходного текста + к этому все другие строки другой длинны.
Мне кажется ты немного не до конца понимаешь определение "коллизия".
http://ru.wikipedia.org/wiki/Коллизия_хеш-функции.
Конечно еще есть Квантовая криптография если вас так пугают коллизии и беспокоит защита информации...
15 лет назад