安全质数也称为
安全素数是满足2p+1形式的一类数,在这里p也是素数。相反地,素数p叫做索菲热尔曼素数。
安全素数(安全质数)是满足2p+1形式的一类数,在这里p也应是素数。(相反地,素数p叫做索菲热尔曼素数。)详细介绍之所以叫它们是“安全”素数,是因为它们在加密算法中的运用:某些因子分解的算法(如Pollard P-1算法)的计算时间的部份取决于被分解数的质因子减去一的因子大小,而若被分解的数以一个安全素数2p+1作为因子,由于此素数减去一有一个大素数p做为因子,计算时间将会变多。但是很容易理解任何一个小于10的素数都不是真正安全的,因为对于任何一个有着合适算法的现代计算机都能在适当的时间内判断出它的素性,但是这一些小一点的安全素数在加密算法原理的教学中仍然还是很有用的。
安全质数在加密算法中的运用:一些
因子分解的算法(象PollardRho算法)的计算时间部份取决于被分解数的质因子减去一的因子大小,假如被分解的数以一个安全素数2p+1作为因子,因为此素数减去一有一个大素数p做为因子,计算时间会变多。可是很容易理解任何一个小于10的素数都不是真正安全的,对于任何一个有着合适算法的现代计算机都能在适当的时间内判断出它的素性,可是这些小一点的安全素数在加密算法原理的教学中仍然还是很有用的。对于安全素数还没有像对费马素数与
梅森素数一样的特别的素性检测方法。
5,
7, 11,
23,
47,
59,
83,
107,
167,
179, 227,
263, 347, 359, 383, 467, 479, 503, 563, 587, 719, 839, 863, 887, 983, 1019, 1187, 1283, 1307, 1319, 1367, 1439, 1487, 1523, 1619, 1823, 1907
之所以叫它们是“安全”素数,是因为它们在加密算法中的运用,很容易理解:任何一个小于1050的素数都不是真正安全的,对于任何一个有着合适算法的现代计算机都可以在适当的时间内判断出它的素性,但是这些小一点的安全素数在加密算法原理的教学中仍然还是很有用的。 不过对于安全素数还没有像对费马素数与
梅森素数一样的特别的素性检测方法。
除了7,还没有即是梅森素数又是安全素数的数了。这个证明有点麻烦,不过仍然在基础代数的范畴内,p必须是素数,2p-1才有可能是素数,那么((2p - 1) - 1)/2 = 2p - 1 - 1,(梅森素数),因为只有当p=3时p-1才有可能是素数,即2^3-1=7。