数论与密码学中的困难性假设
1. 因式分解假设
因式分解假设是密码学中的一个重要基础。存在一个多项式时间算法 GenModulus,当输入为 (1^n) 时,它会输出 ((N, p, q)),其中 (N = pq),并且 (p) 和 (q) 是 (n) 位素数(除了一个关于 (n) 可忽略的概率情况)。通常的做法是先生成两个均匀的 (n) 位素数,然后将它们相乘得到 (N)。
对于给定的算法 (A) 和参数 (n),定义因式分解实验 (Factor_{A,GenModulus}(n)) 如下:
1. 运行 (GenModulus(1^n)) 得到 ((N, p, q))。
2. 算法 (A) 接收 (N),并输出 (p’) 和 (q’),且 (p’, q’ > 1)。
3. 如果 (p’ \cdot q’ = N),则实验输出为 (1);否则为 (0)。
需要注意的是,如果实验输出为 (1),那么 ({p’, q’} = {p, q}),除非 (p) 或 (q) 是合数,但这种情况发生的概率可以忽略不计。
正式定义因式分解假设:如果对于所有概率多项式时间算法 (A),都存在一个可忽略函数 (negl),使得 (Pr[Factor_{A,GenModulus}(n) = 1] \leq negl(n)),则称相对于 (GenModulus) 因式分解是困难的。因式分解假设就是存在这样一个 (GenModulus),使得因式分解是困难的。
2. RSA 假设
因式分解问题已经被研究了数百年,但尚未找到高效的算法。虽然因式分解假设能给出一个单向函数,但它不能直接产生实用的密码系统。这促使
数论与密码学中的困难性假设
超级会员免费看
订阅专栏 解锁全文
4367

被折叠的 条评论
为什么被折叠?



