# Summary
RSA的全称是三位发明者的姓氏首字母:
**R**ivest, **S**hamir, **A**dleman
- **Ron Rivest** - 麻省理工学院教授
- **Adi Shamir** - 以色列密码学家
- **Leonard Adleman** - 南加州大学教授
他们在1977年共同发明了这个算法,并在1978年发表。有趣的是,英国情报机构GCHQ的数学家Clifford Cocks其实在1973年就独立发现了相同的算法,但因为保密原因直到1997年才公开。
RSA是第一个既能用于加密又能用于数字签名的算法,至今仍是最广泛使用的公钥加密算法之一。
# Cues
# Notes
是的!你说得对,RSA加密算法就是[[SSH]]中使用的那个RSA。
RSA是一种非对称加密算法,广泛应用于:
- **SSH密钥认证**:生成公钥和私钥对,用于安全登录远程服务器
- **[[HTTPS]]/[[SSL证书]]**:保护网站通信安全
- **数字签名**:验证文件或消息的真实性
- **PGP/GPG加密**:加密邮件和文件
RSA的数学基础正是初等数论中的概念:
- **大素数**:选择两个大素数$p$和$q$
- **模运算**:使用$n = p \times q$ 作为模数
- **欧拉函数**:$\phi(n) = (p-1)(q-1)$
- **互质**:选择与$\phi(n)$互质的公钥指数$e$
- **模逆元**:计算私钥$d$,使得 $e \times d \equiv 1 \pmod{\phi(n)}$
这就是为什么数论在密码学中如此重要 - 它提供了RSA等现代加密算法的理论基础。破解RSA的难度基于大整数分解问题的计算复杂性。