Segment 5:Introduction Number Theory——Intractable problems【难解的问题】

Segment 5:Introduction Number Theory——Intractable problems【难解的问题】

这是整个数论简介的内容,下面是这个的主目录,其链接为:https://blog.csdn.net/qq_43479839/article/details/119079620
在这里插入图片描述

开始讨论质数模、合数模的难题,这将会是下周构建密码系统的基础

5.1 Easy problems(模运算中的很多简单问题)

在这里插入图片描述
1、 使用欧几里得算法找到x的逆是很容易的
在这里插入图片描述
2、 在Zp上求多项式解的问题,在上节讨论过;事实上有一个有效的算法可以很容易算出;
在这里插入图片描述

5.2 Intractable problems with primes【一些经典的质数模的困难问题】

在这里插入图片描述
1> 那么固定某个大质数p,比如p是某个600位的质素,在Zp*中的元素g的阶正好是数q;现考虑一个指数函数,将x映射到gx;使用重复平方算法,计算gx是非常有效的;
在这里插入图片描述
2> 但是现在要看一个相反的问题,给定gx;想要找出它的对数即x;【这个问题叫做离散对数问题【the discrete logarithm 】,记为Dlog
在这里插入图片描述
3> 看一个在Z11上的例子:
在这里插入图片描述
其中除了在以2为底的离散对数中1,2,4,8求解比较简单;但是请问:5 mod 11的离散对数是什么?即Dlog25=?;答案为4
在这里插入图片描述

在很多情况下,离散对数函数的计算都是很困难的,当然对于小质数而言比较容易,可以做一张表,你可以读到离散对数值。但是如果质数p是一个大数,我们没有好的算法来计算它。

5.3 Dlog:more generally【对于更一般的离散对数问题】

在这里插入图片描述
1> 假设我们有一个a finite cyclic group【有限循环群】,生成元【the generator】是g,这意味着这个群有g的各次方幂组成,一共有阶数个,这里G的阶正好是q,【即这个里面的元素个数为q】
2> 定义:我们说对于所有的有效的算法A来说,有限循环群上的离散对数问题都是很难得,用符号表示,如下:
在这里插入图片描述
这个算法能算出离散对数x的概率可以忽略不计;
3> 在Zp* for large prime上的离散对数很难,有Diffie-Hellman发现
Elliptic curve groups mod p 【椭圆曲线群】
在这里插入图片描述
计算离散对数有一个亚指数算法【a sub-exponential algorithm】:
在这里插入图片描述
有这个算法,如果我们想让离散对数问题变难,我们必须使用较大的模p,相反,如果你看椭圆曲线群,参数会好很多;运行时间是e的n/2次方;那么这就是我们所说的一个合适的指数时间算法;但是椭圆曲线群可以使用更小的参数,但依然能保证安全;
顺便一说,椭圆曲线大小是对称密钥大小俩倍的原因是我们必须将椭圆曲线群的大小扩大一倍,以获取e^n的运行时间;
从模p转换到椭圆曲线是一个缓慢的过程;

5.4 An application :Collision resistance【一个离散困难性的直接应用】

在这里插入图片描述
我们构建一个抗碰撞哈希哈数,基于离散对数问题;
1> 我们选择一个群G,G上的离散对数问题是困难的,(例如把G想象成(Zp)*【(Zp)*表示的是Zp上面的可逆元素,除0之外】),假设群G的质数阶为q;那么q是某个质数且正好为|G|
2> 现在我们定义哈希函数,我们选择群G中的俩个生成元g和h,
在这里插入图片描述

3> 我想和大家讨论这个哈希函数H事实上是抗碰撞的,就是说找到H的碰撞,与计算G上的离散对数一样困难;
一个碰撞:设(x1,y1)≠(x2,y2),但是H(x1,y1)= H(x2,y2);故需要寻找的是(x,y),即就像是解离散对数一样;
在这里插入图片描述
【但是这个用的不多】

5.4 Intractable problems with composites【看一些合数模的难题】

在这里插入图片描述
1> 设n=1024,我们定义集合Z2(n)表示所有的整数,正好是俩个质数的乘积,而俩个质数也都是n位,
在这里插入图片描述
2> 问题一:如果随机选择Z2(n)该集合中的一个随机整数,如何分解它?【难题】
3> 问题二:给一个非线性多项式,如果多项式次数大于1,给一个随机的合数N,你的目标是找到这个方程的根;

5.5 The factoring problem【因式分解的问题】

在这里插入图片描述
the problem of factoring 因式分解问题?
the problem of primality testing 素性检查?【区分质数和合数的问题】
目前因式分解?最好的算法叫做数域筛法(the number field sieve)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值