# §03.3_非对称密码算法（Rsa 大素数）【最且唯一难】

LLMS index: [llms.txt](/wikis/llms.txt)

---

### 大素数分解问题

主要代表是RSA
### 公钥-非对称分类
![](/wikis/_resources/%C2%A73.3_%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%AF%86%E7%A0%81%E7%AE%97%E6%B3%95%EF%BC%88RSA-%E5%A4%A7%E7%B4%A0%E6%95%B0%EF%BC%89%E3%80%90%E6%9C%80%E4%B8%94%E5%94%AF%E4%B8%80%E9%9A%BE%E3%80%91/d4cd9e5b46d9c04920993735ec5abdcb_MD5.png)

MIME与安全性无关，S/MIME才有安全性特性。**安全的多用途Internet邮件扩展**（**Secure Multipurpose Internet Mail Extensions**，简称**S/MIME**）

### RSA算法简述
![](/wikis/_resources/%C2%A73.3_%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%AF%86%E7%A0%81%E7%AE%97%E6%B3%95%EF%BC%88RSA-%E5%A4%A7%E7%B4%A0%E6%95%B0%EF%BC%89%E3%80%90%E6%9C%80%E4%B8%94%E5%94%AF%E4%B8%80%E9%9A%BE%E3%80%91/16bea197018a98e32f7175f7b60c3324_MD5.png)

#### RSA加密模式
![](/wikis/_resources/%C2%A73.3_%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%AF%86%E7%A0%81%E7%AE%97%E6%B3%95%EF%BC%88RSA-%E5%A4%A7%E7%B4%A0%E6%95%B0%EF%BC%89%E3%80%90%E6%9C%80%E4%B8%94%E5%94%AF%E4%B8%80%E9%9A%BE%E3%80%91/74d792d2858f1f9bbf8a180b4e12f97f_MD5.png)

#### RSA认证模式
![](/wikis/_resources/%C2%A73.3_%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%AF%86%E7%A0%81%E7%AE%97%E6%B3%95%EF%BC%88RSA-%E5%A4%A7%E7%B4%A0%E6%95%B0%EF%BC%89%E3%80%90%E6%9C%80%E4%B8%94%E5%94%AF%E4%B8%80%E9%9A%BE%E3%80%91/19f85b900ba11ae6a958add54246cc08_MD5.png)

过程差不多但是用的密钥不一样。

#### RSA混合模式
![](/wikis/_resources/%C2%A73.3_%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%AF%86%E7%A0%81%E7%AE%97%E6%B3%95%EF%BC%88RSA-%E5%A4%A7%E7%B4%A0%E6%95%B0%EF%BC%89%E3%80%90%E6%9C%80%E4%B8%94%E5%94%AF%E4%B8%80%E9%9A%BE%E3%80%91/56baa72ccd01895097927bbff0a63fab_MD5.png)

使用自己私钥加密，使用对方公钥加密

使用自己私钥解密，使用对方公钥解密



### 密码学表达式
在密码学中，表达式 C=E(M,KeB)C = E(M, K_{eB})C=E(M,KeB) 是一种常见的形式，用于表示加密过程。下面是对这种表达方式的分析：

1. **符号含义**：
    - C：表示加密后的密文（Ciphertext）。
    - M：表示明文（Plaintext），即需要加密的数据。
    - E：表示加密函数（Encryption Function），用于将明文转换为密文。
    - KeBK_{eB}KeB：表示加密密钥（Encryption Key），通常与接收者（在这里是 B）相关联。
2. **结构清晰**：
    - 这种表示方法清晰地表明了输入（明文和密钥）与输出（密文）之间的关系，使得读者能够快速理解加密过程的核心要素。
3. **抽象化**：
    - 通过使用函数 E，可以将加密视为一个数学操作。这种抽象化使得可以应用不同的加密算法，而不需要关心具体实现细节。
4. **密钥依赖性**：
    - 明确指出加密过程依赖于特定的密钥 KeBK_{eB}KeB，强调了密钥在加密中的重要性。不同的密钥将产生不同的密文，即使明文相同。
5. **可扩展性**：
    - 这种表达形式可以轻松扩展到更复杂的加密方案。例如，可以添加额外的参数或使用不同的加密函数，保持一致的结构。

总的来说，C=E(M,KeB)C = E(M, K_{eB})C=E(M,KeB) 这种表达方式有效地传达了加密过程的基本要素和关系，便于理解和分析。
