В общем применяю алгоритм MD5 для нахождения хеша от файлов и при этом 128 бит для меня многовато. Что лучше сделать, чтобы сократить до 64 бит. Деление по модулю 2 подойдет? И какая в таком случае будет вероятность коллизии?
2Michael Наверное есть какие-то реализации которые так не делают. Но есть например http://csrc.nist.gov/ipsec/papers/rfc2404-hmacsha.txt , где 96 бит фигурирует как минимальная длина до которой можно усечь дайджест. Соответсвующте алгоритмы в IPSEC называются HMAC-SHA-1-96 HMAC-MD5-96, других может просто не встречал. интересно а какие реализации не обрезают дайджест после 96 бит?
Максим Рубцов пишет: В общем применяю алгоритм MD5 для нахождения хеша от файлов и при этом 128 бит для меня многовато. Что лучше сделать, чтобы сократить до 64 бит. Деление по модулю 2 подойдет? И какая в таком случае будет вероятность коллизии?
P.S.Хотелось бы математического обоснования.
по поводу укорачивания хэша написано здесь: http://rfc.net/rfc2104.html, а если вкратце, то: We recommend that the output length t be not less than half the length of the hash output (to match the birthday attack bound) and not less than 80 bits (a suitable lower bound on the number of bits that need to be predicted by an attacker).
Цитата
denzel пишет: Но есть например http://csrc.nist.gov/ipsec/papers/rfc2404-hmacsha.txt , где 96 бит фигурирует как минимальная длина до которой можно усечь дайджест.Соответсвующте алгоритмы в IPSEC называются HMAC-SHA-1-96 HMAC-MD5-96, других может просто не встречал.интересно а какие реализации не обрезают дайджест после 96 бит?
Хорошо. Значит, если я обрежу 128 бит MD5, взяв только первые 64 бита - это не сильно скажется, или xor двух частей. Правда жаль, что нет точных цифр, а именно вероятности, но она должна, наверно, быть где-то 1 / 2 в 32. Тут на одном форуме утверждали, что MD5 не стоит использовать для взятия хеша от данных, т.е. не для криптографии. Но в моем случае хеш берется от обычных dbf таблиц, чтобы сличить распечатанную информацию и то что в таблице, т.к. распечатка содержит подпись человека, а с электроным документом уже ведется работа. Секретности никакой, главное, чтобы если была изменена инф. в электронной таблице это стало ясно по контрольной сумме, что записана на распечатанном документе.