Насколько вероятна коллизия хешей, если длина файла одинакова? - PullRequest
1 голос
/ 09 декабря 2010

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

Я не совсем верю «измененным»атрибут date 'в файловой системе, поэтому я хочу сравнить фактические байты в файле.

Я думаю, что самый быстрый способ сделать это (так как отправка всех байтов через Интернет занимает некоторое время), этоотправьте длину файла и байты хеша на сервер.Затем сервер сначала проверяет длину файла и, если они совпадают, вычисляет хеш для файла, расположенного на сервере, а затем проверяет, совпадает ли он с тем, что вычислил клиент.

Кто-нибудь может мне сказать, чтоНасколько вероятны хэш-конфликты, когда размер файла одинаков?(В настоящее время я использую MD5 для его скорости).

Могу ли я предположить, что если размер файла такой же, а хэш такой же, что содержимое одинаковое?

Спасибо!

Ответы [ 2 ]

1 голос
/ 09 декабря 2010

Случайные столкновения в MD5 настолько маловероятны, что почти наверняка можно игнорировать эту возможность.

Однако было показано, что MD5 криптографически слаб, поэтому злоумышленник может намеренно создавать файлы, которые сталкиваются.Известный пример:

30 декабря 2008 года группа исследователей объявила на 25-м Конгрессе по коммуникациям Хаоса, как они использовали коллизии MD5 для создания промежуточного сертификата центра сертификации, который при проверке оказался законнымчерез хеш MD5.

Источник

0 голосов
/ 09 декабря 2010

Я думаю, что этот вопрос о переполнении стека похож на ваш и предлагает некоторую полезную информацию.Они пришли к выводу, что проверка даты файла похожа на подтяжки для пояса.

...