📜  扭曲素数(1)

📅  最后修改于: 2023-12-03 15:39:43.401000             🧑  作者: Mango

扭曲素数

扭曲素数是一类特殊的质数,具有很高的密码学价值。在加密算法中,扭曲素数有着广泛的应用,比如在椭圆曲线加密算法中,选取一个恰当的扭曲素数可以大大提高加密的安全性。

扭曲素数的定义

扭曲素数是一类不同于普通素数的质数。它们的定义如下:

  1. 满足 $p = 2nk + 1$ (n、k 为正整数)。
  2. 满足存在一个整数 $a$,满足 $a$ 的阶为 $2n$,且 $a$ 在 $Z_p^$ 中生成一个阶为 $n$ 的子群。

其中 $Z_p^*$ 表示模 $p$ 意义下与 $p$ 互质的正整数集合。

举例说明

下面以 $p = 17$ 为例,说明 $17$ 是一种扭曲素数。

首先, $p$ 满足 $p = 222 + 1$,因此它满足第一个条件。

其次,我们需要找到一个 $a$,使得 $a$ 的阶为 $2n = 22 = 4$,且 $a$ 在 $Z_p^*$ 中生成一个阶为 $n = 2$ 的子群。

经过计算,我们可以找到一个 $a = 3$,满足 $3^2 = 9 \equiv -8 \mod 17$,$3^4 = 81 \equiv 13 \mod 17$,因此 $3$ 的阶为 $4$,且 $3$ 在 $Z_p^*$ 中生成的子群为 ${3, 10 }$。

因此, $17$ 是一种扭曲素数。

应用

在椭圆曲线加密算法中,扭曲素数是非常重要的。选取一个适当的扭曲素数可以大大提高椭圆曲线加密算法的安全性。此外,扭曲素数还可以用于构造委员会加密协议(Committee Encryption Protocols)等。

参考资料
  1. Washington L. A. Elliptic curves: number theory and cryptography[J]. CRC press, 2014.
  2. https://en.wikipedia.org/wiki/Twisted_prime
  3. https://zh.wikipedia.org/wiki/扭曲素数