ハッシュ関数
任意の長さの入力を固定長の出力に写す決定的な関数。大きく分けて、データ構造向けの高速なものと、セキュリティ向けの暗号学的なものがある。
高速なものにはFNV、MurmurHash、xxHash、CityHashがあり、ハッシュテーブルで使われる。暗号学的なものはSHA-256(Bitcoin)、SHA-3、BLAKE3(現代の有力な選択肢)、Argon2(パスワード用)などだ。求められる性質は、雪崩効果、衝突耐性、原像耐性。MD5とSHA-1は2017年以降、正式に破られたとされる。ユニバーサルハッシュは関数族から関数を選ぶ方式で、敵対的な入力への対策になる。