RSA公钥系统(一)
\(\mathrm{RSA}\)公钥系统(一)
定理 1 模\(pq\)情形的“欧拉”公式
费马小定理在\(m=pq\)时的推广,这是在密码学应用中最重要的情况。
设\(p\)和\(q\)是不同的素数,且设\(g = \gcd(p - 1, q - 1)\)。那么对于所有满足\(\gcd(a, pq) = 1\)的\(a\),有:
特别地,如果\(p\)和\(q\)是奇素数,那么对于所有满足\(\gcd(a, pq) = 1\)的\(a\),有:
证明:
由中国剩余定理,
用费马小定理验证右边,成立。\(\square\)
Diffie–Hellman 密钥交换和 ElGamal 公钥加密系统的安全性依赖于解决以下形式的方程的困难性假设:
其中\(a\)、\(b\)和\(p\)是已知量,且\(p\)是素数,\(x\)是未知量。
将要探讨的\(\mathrm{RSA}\)公钥加密系统 依赖于解决以下形式的方程的困难性假设:
其中 \(e\)、\(c\)和\(N\)是已知的(且通常假设\(\gcd (e,\varphi(N))=1\) ,这几乎是一个必要的假设,因为在后续设计和推导过程中我们要求 \(e\) 在模 \(\varphi(N)\) 下存在乘法逆)(由欧拉定理 \(e\)是在模\(\varphi(N)\)下定义的),\(x\)是未知量。换句话说,\(\mathrm{RSA}\)的安全性依赖于假设在模\(N\)下求解\(e\)次方根是困难的。
通过下述内容,我们很快会看到解这个方程的困难性依赖于 “任给一个大数\(N\),计算出\(N\)的素因子分解” 是困难的。
这个假设合理吗?如果模数\(N\)是素数,且\(\gcd(e,N-1)=1\)则在模\(N\)下计算\(e\)次方根相当容易,如下命题所述。
命题 2
设\(p\)是一个素数,\(e \geq 1\)是一个整数,且满足\(\gcd(e, p-1) = 1\)。\(e\)在模\(p-1\)下有一个逆元,记作\(d\),即:
那么,方程
有唯一解\(x \equiv c^d \ (\text{mod} \ p)\)。
证明:
\(x \equiv c^d \ (\text{mod} \ p)\) 是解是容易验证的,下面证明唯一性:
两边同时取\(d\)次方:
命题\(2\)表明,如果模数是素数\(p\),则取\(e\)次方根是容易的。对于合数模数\(N\),情况看起来类似,但有一个关键的区别——我们不知道\(N\)的素因子分解。但如果我们知道如何分解\(N\),那么计算\(e\)次方根再次变得容易。以下命题解释了当\(N = pq\)是两个素数的积时,如何计算\(e\)次方根。
命题 3
设\(p\)和\(q\)是不同的素数,且\(e ≥ 1\)满足\(\gcd(e, (p - 1)(q - 1))=1\Leftrightarrow\gcd (e,(p-1)(q-1)/g)=1\)(用后者计算\(d\)复杂度更低,速度更快)。\(e\)在模\((p - 1)(q - 1)\)下的逆元记作\(d\),\(de \equiv 1 \ (\text{mod} \ (p - 1)(q - 1))\)。则同余式
有唯一解\(x \equiv c^d \ (\text{mod} \ pq)\)。
证明:
和命题\(2\)完全相同.\(\square\)

浙公网安备 33010602011771号