非对称加密算法和素数的关系

2018-09-26  本文已影响160人  分享合伙人

那些担心自己的钱包和黎曼猜想的朋友们,我们再复习一下小学数学:

小于20的素数有多少个?答案是有8个:2、3、5、7、11、13、17和19。小于1000的素数有多少个?小于100万呢?小于10亿的呢?

观察素数表,你会发现素数数目是下降的,它们越来越稀疏。1和100之间有25个素数,401和500之间有17个,而901和1000之间只有14个。如果把素数列到100万,最后一个百数段(就是从999901到1000000)中只有8个素数。如果列到10 000亿,最后一个百数段中将只有4个素数。它们是,999 999 999 937,999 999 999 959 ,999 999 999 961,999 999 999 989。

越到后面,素数的寻找越发艰难。

因此,聪明的数学家们将素数应用在密码学上,因为人类还没有发现素数的规律,以它作密钥进行加密的话,破解者必须要进行大量运算,即使用最快的电子计算机,也会因求素数的过程时间太长而失去了破解的意义。

现在普遍使用于各大银行的是RSA公钥加密算法,基于一个十分简单的素数事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

黎曼猜想得到完全证明,很有可能派生出攻击RSA公钥加密算法的规律。

一旦黎曼猜想得证,那么基于大素数分解的非对称加密算法可能就走到了尽头,私钥加密、签名也就失去了意义。

当我们在为数学家开心的时候,也得小心那些寻找漏洞的黑客。

上一篇 下一篇

猜你喜欢

热点阅读