ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined)
unordered_mapのハッシュを衝突させる話:
https://togetter.com/li/1084273?page=4
- masashinakata
- 1507
- 0
- 0
- 0
btk
@btk15049
バケツ数の倍数で殴る攻撃 ->rehashでバケツの数を乱数に変えて対処 キーが64bitのとき下位32bitが同じ数で殴る攻撃 ->上位と下位をxorとシフトでうまく組み合わせて32bit生成or32bit以内の乱数でmod ->安全性高めるため異なる32bit乱数でxor
2017-02-25 09:32:50
btk
@btk15049
@btk15049 これはダメで、f=xorshift32の逆関数とするとf(x)<<32 +xを与えられ続けると永遠にハッシュ値が0になって死ぬ
2017-02-25 10:05:28