私の質問は、因数分解の難易度に基づいて構築できるさまざまな一方向関数の候補のセキュリティの同等性についてです。
の問題を想定して
FACTORING:[考えるランダム素数のためにP 、Q < 2 N、検索P、Qを。]
無視できない確率で多項式時間で解くことができない場合、関数
PRIME-MULT:[ビット文字列を入力として与え、xをシードとして使用して2つのランダムな素数PおよびQを生成します(ここで、P、Qの長さは、xの長さよりも多項的に短いだけです)。次に、P Qを出力します。]
一方向であることを示すことができます。
別の候補一方向関数は
INTEGER-MULT:[ 入力としてランダムな整数を指定、出力A B。 ]
INTEGER-MULTには、PRIME-MULTに比べて定義が簡単であるという利点があります。(特に、PRIME-MULTでは、シードが素数であるP 、Qを生成できない可能性があります(幸い無視できます)。)
少なくとも2つの異なる場所(Arora-Barak、計算の複雑さ、ページ177、脚注2)と(Vadhanの暗号解読入門講義ノート)では、INTEGER-MULTは因数分解の平均的な硬度を仮定する一方通行であると述べられています。ただし、これら2つはどちらも、この事実の理由も参照もありません。
だから問題は:
無視できない確率の多項式時間因数分解で、無視できない確率のINTEGER-MULTを反転させるにはどうすればよいでしょうか。
考える:ここでは可能なアプローチ(!私たちが見るようにする作業をしないこと)である乗算、N(多項式が)はるかに長いランダムな整数でA "を取得するためにA = N Aは、"。アイデアは、A ’が非常に大きく、P 、Qにほぼ等しいサイズの素因数がたくさんあるため、P 、QがAの素因数の中で「際立って」いないということです。次に、Aは、指定された範囲でほぼ一様にランダムな整数の分布を持ちます([ 0)です。次は、整数選択 Bが同じ範囲からランダム [ 0 、2 N - 1 ]。
今整数MULT用インバータができれば、所与の、いくつかの確率検索とA '、B ' < 2 Nように、A ' B ' = A Bは、希望の1つであり、A 'またはB '含まPなどを因子と他の因子にはQが含まれます。それがそうであったならば、我々は見つけることができますPまたはQをの最大公約数取ることによって、Aを"とN = P Q。
問題は、インバータの小さな要因入れ、例えば、素因数を分離することを選択することができるということであるにおけるA 'とに大きなものBを'、だからP及びQは、で両方終わるA 'または両方Bを"。
機能する別のアプローチはありますか?