RSA

1. 基本原理

1.1. 公钥与私钥的产生

  1. 随机选择两个不同的大质数 和
  2. 计算
  3. 根据欧拉函数,求得
  4. 选择一个小于 的整数 ,使 和 互质
  5. 求得 关于 的模反元素 ,满足
  6. 销毁 和 的记录

此时, 为公钥, 为私钥。

1.2. 消息加密

将消息转换为一个小于 的整数 (若消息过长则分块)。利用公钥 进行加密:

1.3. 消息解密

利用私钥 进行解密:

1.4. 正确性证明

即证明 。
已知 ,则 ,即证:

情况一:
根据欧拉定理,,则:

情况二:
由于 且 为质数,此时 必然是 或 的倍数。
假设 ,由于 ,则 。
根据费马小定理,,则:
由此可得 ,两边同乘 :
因此:
证明完毕。

2. Reference