暗号理論の問題
出力が 通りの値 のどれかになるハッシュ関数 を考える。 はランダムオラクルとみなし、互いに異なる入力に対する出力は、それぞれ独立に 通りの値から等確率で選ばれるものとする。
攻撃者は互いに異なる入力 を順に選び、ハッシュ値 を 1 つずつ計算していく。そして、計算したハッシュ値がそれまでに得たハッシュ値のどれかと一致した時点(衝突が初めて見つかった時点)で計算をやめる。
やめるまでに計算したハッシュ値の個数を とする(たとえば ならば )。 の期待値 を求めよ。
この問題で使うもの
- ハッシュの衝突確率(誕生日問題)(説明と入口の問題)
- 確率の定義と和事象・余事象(説明と入口の問題)
この問題を解けるようになるまで(58 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
- 樹形図で数え上げる
- 積の法則と和の法則
- 和の法則・積の法則と樹形図
- 順列・円順列・重複順列
- 組合せ
- 確率の定義と和事象・余事象
- 分数のたし算・ひき算
- 小数の四則計算
- 正負の数の加法・減法
- 分数のかけ算・わり算
- 四則の混じった計算の順序
- 正負の数の乗除・累乗と四則混合
- 分配法則を使った計算のくふう
- 文字式の計算(同類項・分配法則)
- 乗法公式による展開
- 因数分解
- 3 次式までの展開と因数分解
- 微分係数と導関数の定義
- 多項式の微分
- 小数と分数のまじった計算
- 逆算(□ を求める)
- 1 次方程式の解き方
- 比例・反比例の式とグラフ
- 約数の見つけ方
- 素因数分解と約数の個数
- 平方根の意味と根号の簡単化
- 関数 の式と変域
- 平方完成と 2 次関数のグラフ
- 2 次不等式
- 剰余の定理・因数定理と高次方程式
- 増減表と極値
- 等間隔にならんだ数の和
- 等差・等比数列の和と Σ
- 数列の極限
- 関数の極限
- 関数の連続性と中間値の定理
- 平均値の定理
- 積と商の微分
- 第 2 次導関数とグラフの凹凸
- 合成関数の微分
- 円の周の長さと面積
- おうぎ形の弧の長さと面積
- 弧の長さからおうぎ形の中心角と面積を求める
- 三角形・四角形の面積
- 三平方の定理
- 特別な直角三角形の辺の比
- 弧度法と単位円による三角関数
- の極限
- 加法定理と 2 倍角・半角・積和の公式
- 三角関数の導関数
- 根号の乗除と加減
- 指数の拡張と指数関数
- 対数の定義と性質
- 自然対数の底
- 指数関数・対数関数の導関数
- 増減・凹凸・漸近線とグラフ
- テイラー展開
- ハッシュの衝突確率(誕生日問題)
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
は「最初の 個のハッシュ値がすべて異なる」という事象であることに注目し、 を求める。
ヒント 2
以上の整数値をとる確率変数について が成り立つ。また ()である。
ヒント 3
, , , , , を足し合わせる。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
の範囲。 出力は 通りしかないので、鳩の巣原理により 個目までには必ず衝突が起こる。よって は の整数値をとる。
を求める。 は「最初の 個のハッシュ値がすべて異なる」ことと同じである。各出力は独立に等確率なので、 に対して
であり、、 では である。
期待値の公式。 は 以上の整数値をとる確率変数なので
が成り立つ( の両辺の期待値をとればよい)。各項を計算すると
したがって、分母を にそろえて
確かめ(分布から直接)。 より、分母 で
(和は )。よって
となり一致する。
答え:(約 )
別解
であり、7 個目までには必ず衝突するので 。 を使う。 は最初の 個のハッシュ値がすべて異なることと同値で、
- :
- :
- :
- :
- :
- :
- :
分母を にそろえて足すと 。
検算: より 。確率の和は 。期待値は ではなく計算し直すと、。 の方は から始まるので、定義を合わせて検算し直す。 は最小でも 2 なので で、 の項がそれぞれ である。分子の和 であり、 は足し間違いだった。
したがって 。