SHA-1の衝突検出を高速化するため、ソルバーでSIMDコードを生成した

Solving for faster SHA-1 collision detection

SHA-1の衝突検出を高速化するため、ソルバーでSIMDコードを生成した

gitサーバーでpack検証が遅い原因は、衝突検出付きSHA-1が通常の29%の速度しか出ないことだった。既存実装にハードウェア命令を導入して倍増させた後、StevensとShumowの論文を読み、衝突検出フィルタをSIMD向けに再設計。ソルバーが条件をベクタレーンに割り当てるコード生成器を備えたRustクレートsha1dcを開発し、通常SHA-1の68〜81%の速度を実現。gitのpack検証を最大2倍高速化できる。

衝突検出付きSHA-1が通常のSHA-1より時間を費やすのは、このフィルタの部分である。

この日のほかの記事

2026-09-24