龙空技术网

黎曼猜想的应用算法思维

底层技术栈 874

前言:

现时我们对“rsa算法的应用范围”都比较讲究,看官们都需要知道一些“rsa算法的应用范围”的相关资讯。那么小编在网摘上搜集了一些关于“rsa算法的应用范围””的相关知识,希望各位老铁们能喜欢,咱们快快来学习一下吧!

黎曼猜想,当然是一个数学理论问题,但我更习惯从应用算法的角度去考虑问题。

如果素数的分布规律是一个工程,那么代码怎么写?[呲牙]

编程虽然是基于数学的,但和数学理论还是有些差别的。

1,首先,素数的数字序列是没法使用微积分的,因为它不连续、也不稠密。

要想使用数学分析去研究问题,必须得是复数、实数、有理数的问题,不能是整数的问题。

数学分析的基础是极限,极限表面上看是n趋于无穷大时的问题,实际上是dx趋于0时的问题。

把实数区间[-1, 1]分成n份,当n趋于无穷大的时候,dx就趋于0了。

所以微积分能使用的前提必须是一个趋于0的情况。

求椭圆面积的积分划分

但是,2、3、5、7、11、13,...,这个序列是不趋于0的,只能研究它的倒数。

2,这时就会出现第2个问题,素数之间的差不固定。

要想找出下一个素数来,只能从2往后依次试探,这个时间复杂度非常高。

实验的次数是

当p是一个位数特别多的大数时,计算复杂度是指数级的。

假设p的数量级跟4^N一样,那么它的平方根就是2^N级的,遍历的时间复杂度是O(2^N),能把计算机算到死[捂脸]

所以RSA加密的遍历破解没有时效性。

多项式级的算法才有意义,指数级的算法在数字特别大的时候没有意义。

RSA算法的细节,可以看看“算法导论”。

它是用两个大素数的乘积去处理数据,要把这个乘积做因式分解的计算量非常大。

大数学家张益唐证明了“孪生素数问题”,让RSA的遍历难度进一步提高。

如果选两个跟11、13类似的大素数,它们与乘积的平方根非常的接近,遍历到最小的那个时候,最大的那个也快遍历到了:简直可以把RSA效果发挥到最大[呲牙]

所以,这个分布规律的n必须是等差数列的时候,才有意义:

这个公式是不收敛的。

我在前两篇文章里从重复采样的角度解释过:

从整数里选2的倍数,选到的概率是1/2,选4的倍数选到的概率是1/4,这里面存在幂级数式的重复计算。

3,要想削弱高次幂的影响,就给它添上一个指数:在指数s > 1时,对高次项的影响比低次项更大,从而使得级数收敛。

这就从工程算法的角度,获得了黎曼猜想的原始公式。

它的“物理意义”是从选倍数的角度,把所有整数选了2遍:一遍是平凡因子1导致的,另一遍是素数因子导致的。

指数本身就是一个高维运算,因为:

加上指数之后,相当于对所有项进行了一个加权平均。

4,接下来的问题就是:指数s是多少时,才是一个最合适的权值?

可以算出,要抑制2的高次幂的话,s = ln3 / ln2就行。

3、5、7等的高次幂的抑制,需要的s值更小。

所以s有价值的范围就是:1 < s <= ln3 / ln2,对于单个素数来说是s = ln(p+1) / lnp。

5,除了2之外其他素数p + 1肯定是个偶数,所以:

s = ln2a / lnp = (ln2 + lna) / lnp,

其中a = (p + 1) / 2,是个接近p/2的整数。

因为s > 1,也就是ln2 + lna > lnp,所以ln2、lna、lnp是可以构成三角形的[呲牙]

6,在三角形里,可以使用余弦定理获得cos的值,然后进一步获得sin的值。

然后我们使用欧拉公式,

是不是就可以把跟p相关的级数项,转化成一个指数函数?

的第一项就是1,

如果把它映射到复数域,让从第2项开始的级数化成每个素数p的复数指数、并且值是负数的话,这个级数是不是可以分解成:

其中,跟极坐标有关的项只与2和p的自然对数有关?

最后:

因为s是连续的,当s = 1的时候级数发散,s是无穷大的时候级数除了第1项外的和为0,

根据拉格朗日微分中值定理,总可以选到合适的s,让级数除了第1项外的和依次为1/2、1/3、1/5、1/7,等等。

在复数域上,这些s的值表现为黎曼函数的根?!

所以从工程算法上来说,黎曼说解的实部都是1/2,肯定是对的?![捂脸]

这个推理过程并没有任何的信息编码损失,而是构造了一个从素数序列到复变函数的因式分解的映射。

虽然不严谨,但逻辑上没有漏洞啊。

严格的数学证明,等待大牛们吧。

标签: #rsa算法的应用范围