第5日目(相当)の記事です。誕生日問題とは「誕生日のパラドックス」の計算を使って、どれくらいの確率でハッシュが衝突するか、どれくらいの回数ハッシュ計算を行えば衝突を発生させられるか、という問題です。これの計算結果により、暗号学的ハッシュ関数は最大でもハッシュの長さの半分のビット数ぶんの安全性しか得ることができない、という性質を得ることができます。\frac{n-1}{H})$$になります*1。e^{-\frac{n(n-1)}{2H}}$$を得ます。e^{-\frac{n(n-1)}{2H}}$$になります。1.1774\sqrt{H}\)くらいになります。\sqrt{\frac{\pi}{2}H}$$と近似できます。円周率に平方根がかかってるあたりとか上のPを得る途中で階乗が出てくる関係からスターリングの公式とかで導出できそうだけど手に負えませんでした。結果としてだいたいHの平方根くらい、つまりハッシュ長がhビットならば\(2^{\frac{h}{2}}\)回ハッシュ計算をしたら衝突が得られる、ということになり、どんなに理想的な暗号学的ハッシュでもその出力の長さによって衝突耐性を破るのに必要な計算回数が決まってしまう、ということがわかります。次回は「誕生日攻撃でない方法で」いかにしてSHA-1が破られたか、という話(つまりSHAttered攻撃の紹介)の予定です。(4)月別アーカイブはてなブログをはじめよう!sylph01さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。