Разработчик переписал SHA-1 с обнаружением коллизий и ускорил проверку git-пакетов вдвое

Solving for faster SHA-1 collision detection

Разработчик переписал SHA-1 с обнаружением коллизий и ускорил проверку git-пакетов вдвое

В бэкенде git-сервера проверка пакетов на M4 занимает 12,5 секунды, 84% времени уходит на SHA-1 с обнаружением коллизий. Существующая библиотека sha1-checked работает на 28–29% от скорости обычного SHA-1. Автор создал sha1dc на Rust: аппаратное ускорение SHA-1 и генератор кода, который с помощью решателя укладывает проверки коллизий в SIMD-группы. В результате скорость выросла до 68–81% от обычного SHA-1, а проверка пакетов git ускорилась вдвое.

Без фильтра хеширование ползло бы со скоростью около 40 MiB/s, и именно фильтр — это то, на что SHA-1 с обнаружением коллизий тратит время сверх обычного SHA-1.

Ещё за этот день

2026-09-24