### 有哪些了解过的非对称加密算法

**1. RSA 算法**

**RSA** 是最著名的非对称加密算法之一，它的名字来源于三位发明者 Rivest、Shamir 和 Adleman 的姓氏首字母

- **核心原理**：它的安全性基于**大整数质因数分解**的数学难题。这意味着，即使知道两个非常大的质数相乘得到的乘积，也很难在合理时间内将这个乘积分解回原来的两个质数
- **优点**：历史悠久，经过了长时间的考验和广泛应用，安全性被普遍认可
- **缺点**：相比其他算法，其密钥长度通常需要更长来达到相同的安全级别，导致加密和解密速度较慢

**2. ECC（椭圆曲线密码学）算法**

**ECC** 是一种基于**椭圆曲线**数学的非对称加密算法

- **核心原理**：它的安全性基于**椭圆曲线上的离散对数问题**。这个问题的难度要比大整数分解问题高得多
- **优点**：在相同的安全强度下，ECC 的密钥长度比 RSA 短得多。例如，一个 256 位的 ECC 密钥提供的安全性，与一个 3072 位的 RSA 密钥大致相当。更短的密钥意味着更高的计算效率和更小的存储空间，这对于移动设备和物联网等资源受限的环境非常有利
- **缺点**：数学原理更复杂，实现起来也更困难

**3. DSA（数字签名算法）**

**DSA** 是一种主要用于**数字签名**的非对称加密算法

- **核心原理**：它基于**离散对数问题**，与 Diffie-Hellman 密钥交换算法的数学基础类似
- **优点**：专为数字签名设计，效率较高。它只用于签名，不用于数据加密
- **缺点**：只能用于签名和验证，不能用于数据的加密和解密