安全理论—几个困难问题

整数分解难题

给定任意正整数 n n n,求解 n = p q n=pq n=pq中的 p 、 q p、q pq是困难的。

离散对数问题

给定 p p p阶( p p p为一个大素数)有限循环群 G G G g g g G G G上的一个生成元,已知 x ∈ Z p ∗ x\in Z_p^* xZp,求解 y = g x m o d p y=g^xmod p y=gxmodp是容易的,若已知 y ∈ Z p ∗ y\in Z_p^* yZp,求解 y = g x m o d p y=g^xmod p y=gxmodp中的 x x x是困难的。

判定n阶剩余类难题(DCR)

n = p q n=pq n=pq p 、 q p、q pq为大素数),整数 z z z如果被称为模 n 2 n^2 n2 n n n阶剩余类,那么存在整数 y ∈ z n 2 ∗ y\in z_{n^2}^* yzn2,使得 z = y n m o d n 2 z=y^nmodn^2 z=ynmodn2。判定给定整数 z z z是不是模 n 2 n^2 n2 n n n阶剩余类是困难的。

近似最大公因子难题

给定随机一组素数 x 1 , x 2 , ⋯   , x n x_1,x_2,\cdots,x_n x1,x2,,xn,每一个整数 x i x_i xi都接近于它们的近似公因子 p p p(其中 p p p为素数),寻找近似公因子 p p p是困难的。

离散子集求和难题

给定整数集合 S = { x 1 , x 2 , ⋯   , x n } S=\{x_1,x_2,\cdots,x_n\} S={x1,x2,,xn}和另一个整数 x x x,当 n n n很大时,寻找 S S S中一个非空子集 T T T,满足 T T T中元素之和等于 x x x是困难的。

注1:困难通常指其算法有指数时间复杂度

注2:很多初学密码学的同学会存在一个疑惑,就是关于时间复杂度的问题,以整数分解问题为例进行介绍。假定对算法不进行任何优化,即乘法算法时间复杂度为 O ( n 2 ) O(n^2) O(n2),每个变量都从1遍历到n,也就是遍历了n次,两个变量遍历完时间复杂度为 O ( n 2 ) O(n^2) O(n2),总体时间复杂度为 O ( n 4 ) O(n^4) O(n4),这明明是多项式时间的复杂度啊,这个问题来自于我们此处认为的 n n n是数值的大小,而在密码学中的度量单位是bit, 也就是输入数据的二进制表达的长度,此时若 n = 2 k n=2^k n=2k,则时间复杂度为 O ( 2 4 k ) O(2^{4k}) O(24k),显然是指数的时间复杂度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值