ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined)

unordered_mapのハッシュを衝突させる話: https://togetter.com/li/1084273?page=4
0
前へ 1 ・・ 9 10
btk @btk15049

ところで64bitのハッシュキラー対策の記事の修正をまだしていませんね

2017-02-25 09:28:41
btk @btk15049

バケツ数の倍数で殴る攻撃 ->rehashでバケツの数を乱数に変えて対処 キーが64bitのとき下位32bitが同じ数で殴る攻撃 ->上位と下位をxorとシフトでうまく組み合わせて32bit生成or32bit以内の乱数でmod ->安全性高めるため異なる32bit乱数でxor

2017-02-25 09:32:50
btk @btk15049

modとるのは遅いからあんまりやりたくないんだけどうーむ

2017-02-25 09:33:30
btk @btk15049

上位32bitだけxorshift32にかけてそれと下位32bitのxor使うとか良さそう

2017-02-25 09:37:01
btk @btk15049

@btk15049 これはダメで、f=xorshift32の逆関数とするとf(x)<<32 +xを与えられ続けると永遠にハッシュ値が0になって死ぬ

2017-02-25 10:05:28
btk @btk15049

上位64bitだけxorshift64にかけたらいい気がしてきたんだけど実質40bitぐらいしか使わないことになりそうでダメそう

2017-02-25 19:59:27
btk @btk15049

5回ぐらいぐりぐりしてもいいけど速度的な問題は知らん

2017-02-25 20:02:51
いしかど @ISIKADO

ふと前話題になってたunorderd_map殺しの話がきになって、まとめさがしてる

2017-03-10 00:20:18
前へ 1 ・・ 9 10