Есть ли коллизии в SHA-1 для сообщения меньше размера хеша (20 байтов)?
Сабж. Является ли SHA-1 обратимой функцией, т.е. x1 != x2 => sha1(x1) != sha1(x2), если длина x1 и x2 <= 20 байтов (размер хеша и внутреннего состояния)?
Если да, для каких еще функций это верно?
комментариев: 9796 документов: 488 редакций: 5664
…т.е. его то как раз интересует частный случай, где {множество входов} ≤ {множество выходов}. И он почему-то решил, что там коллизий не должно быть.
комментариев: 9796 документов: 488 редакций: 5664
В основе функции может лежать и такой примитив, например, как кто-то здесь упомянул, блочный шифр. Но режим использования внутри самой функции сжатия (смена ключа) или ряд небольших добавок (простейший XOR входа с выходом) специально делают конструкцию гарантировано небиективной.
Кажется, понял – если хеш-функция f: M -> N биективная, то выходные значения будут выбираться не из N, а из N – (уже встретившиеся значения), т.е. не будут случайными из N.
комментариев: 9796 документов: 488 редакций: 5664
где-то тут должно быть M? Или в смысле (N – x), т.е. "минус" встретившиеся значения?
Да.