我的问题是可以基于分解的难度构造的各种候选单向函数的安全性是否相等。
假设问题
分解:[给定随机素数P ,Q < 2 n的,找到P,Q。]
不能在多项式时间内以不可忽略的概率求解,函数
优先:[给出位串作为输入,使用x作为种子来生成两个随机质数P和Q(其中P,Q的长度仅比x的长度小)。然后输出P Q。 ]
可以证明是单向的。
另一个候选单向函数是
整数-整数:[给出随机整数作为输入,输出A B。 ]
与PRIME-MULT相比,INTEGER-MULT具有更易于定义的优点。(尤其要注意,在PRIME-MULT中,种子无法生成素数的P ,Q(尽管可以忽略不计)。)
至少在两个不同的地方(Arora-Barak,计算复杂性,第177页,脚注2)和(Vadhan的《密码学概论》讲义)中,提到INTEGER-MULT是假设平均分解系数的单向方法。但是,这两个都没有给出这个事实的原因或参考。
所以问题是:
我们如何才能将多项式时间因式分解成不可忽略的概率,而将INTEGER-MULT转化成不可忽略的概率呢?
这是一种可能的方法(我们将看到它不起作用!):给定,将N乘以(尽管是多项式地)更长的随机整数A '来获得A = N A '。这个想法是,A '太大,以至于它有许多大小近似等于P ,Q的素数,因此P ,Q不会在A的素数中“脱颖而出” 。则A在给定范围内近似具有均匀随机整数的分布(例如[ 0)。接下来,选择整数乙从相同的范围内随机 [ 0 ,2 Ñ - 1 ]。
现在,如果对于INTEGER-MULT的逆变器可以,给定,以某种概率找到甲',乙' < 2 Ñ使得甲' 乙' = 甲乙,希望是一个甲'或乙'包含P作为一个因素,另一个包含Q。如果是这样的话,我们可以发现P或Q采取的GCD 一个'与ñ = P Q。
问题在于,逆变器可能会选择分离质数因子,例如,将的小因子放在A ′中,将大因子放在B ′中,这样P和Q会同时出现在A ′中或同时出现在B中”。
还有另一种可行的方法吗?