Насколько слабы 64-битные хэши?Могу ли я сгенерировать хэш длины X? - PullRequest
2 голосов
/ 10 марта 2011

Я работаю над приложением, в котором мне нужно хэшировать двоичные данные и хранить хэш в структуре длиной 64 бита. Я ищу криптографическую хэш-функцию. Ripemd-64 и elf-64 - это некоторые возможности, которые я нашел, но я не могу найти много данных о них (например, были ли они взломаны с использованием менее чем грубых совпадений, сколько времени они бы взломали и т. Д.). Любые ссылки или детали приветствуются.

Я понимаю, что 64 бита будут небезопасными из-за длины хэша. У меня могут быть дополнительные биты для игры (72-74). Проблема в том, что я не криптограф, поэтому я понятия не имею, как изменить хэш-функцию, чтобы она возвращала некоторый хэш длины X. Я полагаю, что если я смогу использовать 72 бита над 64, я получу гораздо большее пространство хеша. Как изменить хеш-функцию так, чтобы длина была некоторой нестандартной величиной?

Любая помощь приветствуется!

Спасибо, Erick

1 Ответ

3 голосов
/ 10 марта 2011

Да, 64 бита не много для целей безопасности.Это может быть грубым, в зависимости от вашего приложения.Но при условии, что вы принимаете этот факт и все еще хотите двигаться вперед, я не вижу никаких проблем с простым усечением обычного 128/256-битного хэша.

То есть, просто используйте сильную хеш-функцию из любой криптографической библиотеки, которую хотите, и используйте только первые 64 бита.«Правильным» методом было бы найти алгоритм хеширования, изначально выводящий 64 бита, но, насколько я знаю, люди практически перестали их создавать.Было бы еще труднее найти доступную реализацию.

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

...