一直以来,质数的研究被认为只有纯数学上的意义,实际并没有什么价值。直到上个世纪70年代,麻省理工学院(MIT)的三位数学家李维斯特、萨莫尔和阿德曼共同提出了一种公开密钥加密算法,也就是后来被广泛应用于银行加密的RSA算法,人们才认识到了质数的巨大作用。

质数为什么能用于加密算法

这个问题就要涉及到大数的质因数分解。如果把一个由较小的两个质数相乘得到一个合数,将其分解成两个质数(除了1和自身的组合之外)很容易,例如,51的两个质因数为3和17。然而,如果两个很大的质数相乘之后得到一个非常大的合数,想要逆过来把该数分解成两个质数非常困难。例如,511883,分解成两个质因数之后为557和9192538952327(超过25亿),分解成两个质因数之后为29179和87013,这个难度明显要比上一个数大得多。

截至今年一月份,目前已知最大的质数是2^82589933−1,这个数拥有超过2486万位。即便是超级计算机,也很难有效对两个质数相乘得到的合数进行质因数分解,所以这样的原理可以用于加密算法。

质数与合数有什么用途

1、可用于公钥的应用:具体来说就是用于密码学,解开无数复杂密码。

2、可用于电子商务:很多计算都是在其基础上延申出来,计算机的编码等也是基于此。一个质数分解为两个质数之积很难,如果质数很大,用现代超大型计算机都不可能计算出来。

3、可用于探索认识数学:质数和合数是数学的基础,很多计算都是基于此。质数又称素数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。合数是由若干个质数相乘而得到的。所以,质数是合数的基础,没有质数就没有合数。并且,所有的合数都可由若干个质数相乘而得到。

质数与合数有什么用途

质数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。