From 1447d9a5fac9eb5020a508dad423fd3f02e51bc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=BE=E5=B3=B6=E9=A3=8E=E8=B5=B7=E6=99=82?= Date: Thu, 25 Sep 2025 04:06:06 +0800 Subject: [PATCH] Add files via upload --- Chapter28/28-1.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++ Chapter28/28-2.md | 27 ++++++++++++++++++++ Chapter28/28-3.md | 22 +++++++++++++++++ Chapter28/28-4.md | 25 +++++++++++++++++++ Chapter28/28-5.md | 34 +++++++++++++++++++++++++ Chapter28/28-6.md | 34 +++++++++++++++++++++++++ 6 files changed, 205 insertions(+) create mode 100644 Chapter28/28-1.md create mode 100644 Chapter28/28-2.md create mode 100644 Chapter28/28-3.md create mode 100644 Chapter28/28-4.md create mode 100644 Chapter28/28-5.md create mode 100644 Chapter28/28-6.md diff --git a/Chapter28/28-1.md b/Chapter28/28-1.md new file mode 100644 index 0000000..40a1049 --- /dev/null +++ b/Chapter28/28-1.md @@ -0,0 +1,63 @@ +### RSA 算法原理 + +RSA 算法是一种非对称加密算法,它的名字来源于三位发明者 Rivest、Shamir 和 Adleman 的姓氏首字母。与对称加密不同,非对称加密使用一对密钥:**公钥**和**私钥**。公钥可以公开给任何人,用于加密数据;而私钥必须由用户自己保管,用于解密数据。RSA 的核心在于利用了两个数学难题:**大整数质因数分解**和**欧拉函数** + +**密钥生成过程** + +密钥生成是 RSA 算法的基础,这个过程决定了公钥和私钥的值 + +1. **选择大质数**:随机选择两个非常大的质数 p 和 q。为了确保安全性,这两个质数必须足够大且不能太接近 + +2. **计算模数**:计算它们的乘积 `n=p×q`。这个 n 就是 RSA 的模数,它既是公钥的一部分,也是私钥的一部分 + +3. **计算欧拉函数**:计算欧拉函数 `ϕ(n)=(p−1)(q−1)`。欧拉函数 ϕ(n) 表示小于或等于 n 且与 n 互质的正整数的个数 + +4. **选择公钥指数**:选择一个整数 e,它必须满足以下条件: + + - `1