【1000以内的质数表】
1000以内的质数表
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107
109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223
227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337
347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457
461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593
599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719
727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857
859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997
素数趣谈 | 满足各种奇怪性质的素数
数学中最美妙的数是多少?在《生活大爆炸》中,谢耳朵给出了一个答案:73。因为 73 是第 21 个素数,而反过来37 正好又是第 12 个素数,并且 21 正好又等于 7 和 3 的乘积。另外,把 73 转成二进制后可以得到 1001001,正读倒读都一样。
不过,在现实生活中,科学家真的会去挖掘这些数字的各种奇怪性质吗?答案是:是的。别以为数学家们总是一本正经地做研究,搞起笑来可不输给电视里的角色。
孪生素数 (Twin Primes)
如果两个相邻的奇数都是素数,这两个数就是一对孪生素数。例如,3 和 5、11 和 13、29 和 31都是孪生素数。
在数论研究中,孪生素数是最热门的研究课题之一。数学家们发现了很多孪生素数的性质。例如,除了3 和 5 以外,其它所有的孪生素数一定都是 6n ± 1 的形式。数学家们猜想孪生素数有无穷多个,但目前这个猜想既没有被证明,也没有被推翻。孪生素数猜想是数论中最耀眼的猜想之一,它可以与大家熟知的哥德巴赫猜想相提并论。
表亲素数 (Cousin Primes)
那么,比孪生素数相隔再远一点的素数叫什么呢?数学家们又想出了一个形象的名字——表亲素数。表亲素数就是指相差 4 的两个素数,例如 3 和 7、7 和 11、19 和 23 等等。
对表亲素数的研究明显略少一些。目前已经找到的最大的表亲素数有 11594 位。
π 素数 (Pi-Prime)
如果圆周率的十进制表达中,前 n 位恰好组成一个素数,这样的素数就叫做 π 素数。3、31 和 314159 都是π 素数。下一个 π 素数则是
31415926535897932384626433832795028841
它有 38 位。
e 素数 (e-Prime)
既然连 π 素数都被数学家们想到了,e 素数必然也少不了。2、271、2718281 就是头三个 e 素数。第四个 e 素数则是
2718281828459045235360287471352662497757247093699959574966967627724076630353547594571
它有 85 位。
易损素数 (Weakly Prime)
如果一个数本身是个素数,但改变里面的任意一位数字,它都不是素数了,我们就把这个素数称作“易损素数”。最小的易损素数是 294001,其次是 505447 和584141。2001 年,Tiziano Mosconi 找到了一个长达 251 位的易损素数,它等于 10^250 + 1856301。
时钟素数 (Clock Prime)
如果按照顺时针方向读出时钟上的数字,正好得到一个素数,这就叫做“时钟素数”。按照定义,23、67、89、4567 都是时钟素数,23456789 则是更为经典的时钟素数。当然,我们还有更猛一些的时钟素数,比如
23456789101112123
再比如
567891011121234567891011121234567891011
泰坦尼克素数 (Tatanic Prime)
1983 年,Samuel Yates 提出了一个有些恶搞的数学名词——泰坦尼克素数。泰坦尼克素数是指那些至少有 1000 位的大素数。最小的泰坦尼克素数是 10^999 + 7。第一个发现的泰坦尼克素数则是 2^4253 - 1,它有 1281 位。
俄罗斯套娃素数 (Russian Doll Prime)
俄罗斯套娃素数是指这样的素数:去掉最后一位,剩下的部分仍然是个素数;再去掉剩下部分的最后一位,剩下的部分仍然是个素数;不断这样做下去,得到的数始终是素数。例如,2393 就是一个俄罗斯套娃素数,因为不但 2393 本身是素数,不断去掉最后一位将会依次得到 239、23、2,它们都是素数。
俄罗斯套娃素数的个数是有限的,满足要求的数只有 83 个。其中最大的数有 8 位,它是 73939133。
(转自果壳网)
一直以来,质数的研究被认为只有纯数学上的意义,实际并没有什么价值。直到上个世纪70年代,麻省理工学院(MIT)的三位数学家李维斯特、萨莫尔和阿德曼共同提出了一种公开密钥加密算法,也就是后来被广泛应用于银行加密的RSA算法,人们才认识到了质数的巨大作用。
质数为什么能用于加密算法?
这个问题就要涉及到大数的质因数分解。如果把一个由较小的两个质数相乘得到一个合数,将其分解成两个质数(除了1和自身的组合之外)很容易,例如,51的两个质因数为3和17。然而,如果两个很大的质数相乘之后得到一个非常大的合数,想要逆过来把该数分解成两个质数非常困难。例如,511883,分解成两个质因数之后为557和919;2538952327(超过25亿),分解成两个质因数之后为29179和87013,这个难度明显要比上一个数大得多。
截至今年一月份,目前已知最大的质数是2^82589933?1,这个数拥有超过2486万位。即便是超级计算机,也很难有效对两个质数相乘得到的合数进行质因数分解,所以这样的原理可以用于加密算法。
什么是RSA加密算法?
RSA算法是一种非对称加密算法,加密和解密所用的密钥是不一样的,解密所用的密钥对应于加密所用的密钥。假设甲向乙发送信息a,那么,a是需要进行加密的信息;再假设b是一个由两个质数相乘得到的合数;c是一个与欧拉函数有关的数,这是公钥;d是c关于欧拉函数值的模倒数,d就是私钥。
信息加密
乙在产生合数b和公钥c、私钥d之后,乙会把b和c传给甲,d则保密不被传输。甲利用公钥c对信息a进行加密,即计算a^c除以b的余数e,即a^c mod b=e,所得到的e就是密文。于是,甲把密文e传送给乙。
信息解密
乙在得到密文之后,利用私钥d对密文e进行解密。可以证明,e^d除以b的余数正是信息a,即e^d mod b=a,这样就完成了信息的解密。
由于合数b、公钥c、密文e都会被传送,这些信息就有可能被窃取。如果窃取者想要破解信息,需要知道私钥d。想要通过公钥c来算出密钥d,就需要对合数b进行质因数分解。但合数b是由两个质数相乘得到的大数,想要成功分解该数极其困难。
目前,RSA加密算法用到的大数已经有数百位,它们一般都是分解成两个上百位的质数。如果继续增加大数的位数,还能进一步降低被破解的风险。因此,RSA加密算法的安全性能十分有保障,这就是为什么它会被广泛应用的原因。