RSA

1. 基本原理

1.1. 公钥与私钥的产生

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

此时,公钥私钥

1.2. 消息加密

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

1.3. 消息解密

利用私钥 进行解密:

1.4. 正确性证明

即证明
已知 ,则 ,即证:

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

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

2. Reference