К вопросу о хешировании...

алгоритмы теория коллизии хеширование

Дано:
S[i] - входное множество данных длиной "i" элементов (байт);
h1[m] - хеш S[i] полученный с помощью функции hash1();
h2[n] - хеш S[i] полученный с помощью функции hash2();
c1{} - множество коллизий функции hash1() для набора S
c2{} - множество коллизий функции hash2() для набора S

Теоретический Вопрос:
Могут ли существовать две функции (два алгоритма) хеширования, для которых бы выполнялись следующие условия:
- m+n < i // т.е. сумма длин двух хешей меньше длины исходных данных
- пересечение множеств с1{} и с2{} равно пустому множеству

p.s. кстати, это пример вопроса спорной очевидности - для математика он очевиден, а для меня - лес дремучий : -))

Примечание:
Да, к сожалению я не понимаю досконально всю эту математику. Закрываю вопрос (@Артёмка - спасибо за ответы).
Ответы:
Если m и n ограничены константой, то не могут. Если не ограничены, то при достаточно большом i - могут. Таково моё мнение неспециалиста.
Тут в википедии пишут, что у хеша всегда постоянная длина, поэтому облом.


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.