誕生日攻撃 【birthday attack】 バースデーアタック

概要

誕生日攻撃(birthday attack)とは、ハッシュ値ハッシュ関数に対する総当たり攻撃の一種で、同じハッシュ値が得られる2つのの組を見つけたい時、両者とも任意のを選択できるなら少ない試行回数で発見できるというもの。

ハッシュ関数は任意の長さのデータから固定長データを得る関数で、中でも暗号システムなどに用いられる暗号学的ハッシュ関数は「元のハッシュ値の関係に規則性がない」「元のを効率的に推測することはできない」「同じハッシュ値となる元のの組を効率的に見つけることはできない」という性質を満たしている。

最後の性質は、「ある元のが与えられたとき、同じハッシュ値となる別の元のを見つけるのは困難」(片方のは固定)と「元のの候補の中から、同じハッシュ値となる組を探すのは困難」(両方のが任意)という性質に分けられ、前者を「弱衝突耐性」、後者を「強衝突耐性」という。

誕生日攻撃は片っ端から候補値を計算してみる総当たり攻撃によって強衝突耐性を突破する攻撃である。あるハッシュ関数がH個の出力し得る場合、平均で約1.25√H回の試行で同じハッシュ値を取る2つのの組を発見できることが知られている。Hを増大させていっても試行回数(強度)はHの2乗根に比例してしか増やすことができない。

誕生日攻撃という名称は、いわゆる「誕生日のパラドックス」(誕生日問題)と同じ構造の問題となっていることに由来する。誕生日は365日(閏年を考慮するなら366日)の候補があるが、「誕生日が同じ人が2人以上になる確率が50%を超えるのは何人以上の集団か」を計算すると「23人」となる。日付のバリエーションの多さに比べ意外なほど少ないため、確率論のパラドックスの有名な例として広く知られている。

(2022.12.13更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる