FNV-1a и CRC32
Изучение коллизий
Исследование коллизий нехэш-криптографических функций FNV-1a и CRC32, в том числе на GPU.A study of collisions in the non-cryptographic functions FNV-1a and CRC32, including on GPU.Дослідження колізій некриптографічних функцій FNV-1a і CRC32, зокрема на GPU.
О проектеOverviewПро проєкт
FNV-1a и CRC32 — быстрые функции, созданные для хэш-таблиц и контрольных сумм, но не для безопасности. В этом проекте я искал у них коллизии — пары входов с одинаковым выходом.
Поиск ускорен на CUDA: видеокарта перебирает огромное число вариантов параллельно. Получается наглядно показать, насколько легко найти коллизию у функции, не предназначенной для защиты.
Практическое продолжение темы хэшей: чем хэш «для скорости» принципиально отличается от хэша «для защиты». Рядом — отдельный инструмент crc32-collider.
FNV-1a and CRC32 are fast functions made for hash tables and checksums, not for security. In this project I searched for collisions in them — pairs of inputs with the same output.
The search is CUDA-accelerated: the GPU brute-forces a huge number of variants in parallel. It clearly shows how easy it is to find a collision in a function not designed for protection.
A practical continuation of the hashing theme: how a hash 'for speed' fundamentally differs from a hash 'for protection'. Alongside it is the separate crc32-collider tool.
FNV-1a і CRC32 — швидкі функції для хеш-таблиць і контрольних сум, але не для безпеки. Тут я шукав у них колізії.
Пошук прискорено на CUDA: відеокарта перебирає величезне число варіантів паралельно.
Практичне продовження теми хешів: чим хеш «для швидкості» відрізняється від хеша «для захисту».
ОсобенностиFeaturesОсобливості
- Поиск коллизий у FNV-1a и CRC32
- Перебор с ускорением на CUDA
- Наглядная демонстрация слабости нехэш-функций
- Связан с инструментом crc32-collider
- Collision search for FNV-1a and CRC32
- CUDA-accelerated brute force
- A clear demonstration of non-crypto-hash weakness
- Related to the crc32-collider tool
- Пошук колізій у FNV-1a і CRC32
- Перебір з прискоренням на CUDA
- Наочна демонстрація слабкості некрипто-функцій
- Пов'язаний з інструментом crc32-collider