为什么素数会用在密码学中?

来源:百度知道 编辑:UC知道 时间:2024/05/18 02:05:33
为什么素数会用在密码学中,希望有详细的解释。

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

哪些数是素数

人们很难捕捉到素数的分布规律。素数之间的间隔要多大有多大,对于无论多大的自然数n,总是存在两个素数,它们之间的距离大于n而且其间没有素数。理由很简单,对于n,以下n个整数是相继排列的,而且都是合数:(n+1)!+2,(n+1)!+3,…(n+1)!+(n+1)。可见在(n+1)!+1和(n+1)!+(n+2)之间没有素数。

几千年来,历代数学家都希望能找到一个数学公式,把全部素数都表示出来。欧拉找到公式N=n2+n+41,当n=-40,-39,…0,1,…39时,N都是素数,只有80个素数。后来有人证明,N=n2+n+72491,当n=0,1,2,…11000时都是素数,也只有一万多个。可以证明,整系数多项式是不可能用来表示全部的素数,而不表示合数的。

十七世纪费马猜测,2的2n次方+1,n=0,1,2…时是素数,这样的数叫费马素数,可惜当n=5时,232+1就不是素数,至今也没有找到第六个费马素数。

18世纪发现的最大素数是231-1,19世纪发现的最大素数是2127-1,20世纪末人类已知的最大素数是2859433-1,用十进制表示,这是一个258715位的数字。

素数与密码

本世纪七十年代,几位美国数学家提出一种编码方法,这种方法可以把通讯双方的约定公开,然而却无法破译密码,这种奇迹般的密码就与素数有关。

人们知道,任何一个自然数都可以分解为素数的乘积,如果不计因数的次序,分解形式是唯一的。这叫做算术基本定理,欧几里得早已证明了的。可是将一个大整数分解却没有一个简单通行的办法,只能用较小的素数一个一个去试除,耗时极大。如果用电子计算机来分解一个100位的数字,所花的时间要以万年计。可是将两个100位的数字相乘,对计算机却十分容易。美国数学家就利用了这一点发明了编制容易而破译难的密码方式。这种编码方式以三位