安全素数()是指满足 q=2p+1 的素数 q,其中 p 也是素数;等价地,q 为素数且 (q-1)/2 也为素数。相应的素数 p 称为索菲热尔曼素数。开始的几个安全素数是:
: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
安全素数是否有无穷多个尚无定论;这与索菲热尔曼素数是否有无穷多个等价。
在有限域Diffie–Hellman等协议中,安全素数可作为模数来构造已知结构的有限域群。RFC 7919 规定的 TLS FFDHE 初始群均使用安全素数作为模数,并要求新增 FFDHE 群也使用安全素数,以便低成本验证对方公钥并降低小子群攻击风险。
除了 7 以外,没有同时是梅森素数与安全素数的数。梅森素数是形如 2^n-1 的素数,且若 2^n-1 为素数,则 n 必须为素数。若 2^n-1 也是安全素数,则 (2^n-2)/2=2^{n-1}-1 也为素数,因此 n-1 也必须为素数;唯一满足 n 与 n-1 同为素数的 n 是 3,故得到 2^3-1=7。
第一类坎宁安链是满足 q_{i+1}=2q_i+1 的素数序列。因此,链中除最后一项外均为索菲热尔曼素数,除第一项外均为安全素数。若一个以 7 结尾的安全素数位于第一类坎宁安链中,它只能作为链尾;因为将它乘以 2 再加 1 会以 5 结尾且大于 5,不可能为素数。
不安全素数
不是安全素数的素数称为不安全素数()。开始的几个不安全素数是:
:2, 3, 13, 17, 19, 29, 31, 37, 41, 43, 53, 61, 67, 71, 73, 79, 89, 97, 101, 103, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 173, 181, 191, 193, 197, 199, 211, 223, 229, 233, 239, 241, 251, 257, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337
参考资料
评论 (0)