「一方向性関数」の版間の差分
削除された内容 追加された内容
m →厳密な定義 |
PuzzIeBacheIor (会話 | 投稿記録) m編集の要約なし |
||
4行目:
==厳密な定義==
<math>{\Bbb N}</math> で自然数の集合を現す。
関数 <math>f : \Sigma^* \to \Sigma^*</math> が以下を満たす時、関数
#
# 任意の多項式時間アルゴリズム
<math>Pr[x \mid A(1^k, y) \mid x \gets_R \Sigma^k, y \gets f(x)] \le \nu(l)</math>。 ==一方向性関数の存在性==
40 ⟶ 42行目:
'''定理''' 一方向性関数が存在する必要十分条件は弱一方向性関数が存在する事である。
'''証明の概略'''(⇒)自明。
(⇐)''f'' を弱一方向性関数とする。''g'' を ''g''(''x''<sub>1</sub> || … || ''x''<sub>''N''</sub>) = ''f''(''x''<sub>1</sub>) || … || ''f''(''x''<sub>''N''</sub>) と定義する。ただしここで「||」はビット列の連接、''N'' = 2''kP''(''k'')。(''P'' は弱一方向性関数の定義の条件 2 にあるもの)。
この時 ''g''<sup>-1</sup> を求めるには、''f''<sup> -1</sup> を ''N'' 回計算しなければならない。
|