huanzhiyazi / articles

我的原创文章,包括且不限于技术 blog,历史,文学写作,日常心得等
103 stars 32 forks source link

技术 / 读书 /《算法导论》/ RSA加密原理 #31

Open huanzhiyazi opened 3 years ago

huanzhiyazi commented 3 years ago

1 RSA 用到的数论原理

整个数论算法这一章,都是为了最终阐述 RSA 加密的底层原理。换句话说,RSA 加密算法的本质就是部分数论原理的运用。具体来说,用了以下数论原理:

  1. 用反复平方法进行模取幂运算:设 ab 为非负数,n 为正整数,计算 a^b mod n用于 RSA 加密和解密运算
  2. 求解模线性方程:ax ≡ b(mod n),其中 a>0n>0用于 RSA 密钥的计算
  3. 模运算以及相关概念:模n加法,模n乘法,群,模n加法群,模n乘法群,群规模(尤其是模n乘法群的规模φ(n))。用于模取幂运算和模线性方程求解的方法的证明,同时φ(n)用于 RSA 公钥和密钥的计算
  4. 欧几里得算法求解最大公约数:对任意非负整数 a 和任意正整数 bgcd(a,b) = gcd(b, a mod b)用于互质的验证和相关定理的证明
  5. 基础数论:整除性,约数,素数与合数,余数,等模,以及相关的定理。



2 加密概念和加密方式

在密码学中,关于加密有很多概念:加密,密钥,公钥,对称加密,非对称加密,数字签名,证书。

2.1 相关概念

2.2 RSA 加密系统

Euler's phi function




算法导论 / 第31章 数论算法