RSA1978 年,MIT 的Rivest、Shamir、Adleman 提出RSA 算法 非对称加密(公开密钥加密)密码学的一次革命,定义: KA≠ KB , KA、E 和 D 公开 特点: 基于数论原理(大数分解难题) 是目前应用最广泛的公钥加密算法 属于块加密算法 在数论,对正整数 n,欧拉函数是少于或等于 n 的数中与 n 互质的数的数目
此函数以其首名研究者欧拉命名,它又称为 Euler's totient function、φ 函数、欧拉商数等
RSA 算法原理 l 定义:RSA 加密算法 确定密钥: 1
找到两个大质数,p,q 2
Let n=pq 3
let m=(p-1)(q-1);Choose e and d such that de=1(%m)
Publish n and e as public key
Keep d and n as secret key
加密: C=M^e(%n) 解密: M=(C^d)%n 其中 C=M^e(%n) 为 C%n=(M^e)%n 存在的主要问题是大数计算和大数存储的问题
什么是 RSA RSA 算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作
RSA 是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一
RSA 的安全性依赖于大数的因子分解,但并没有从理论上证明破译 RSA 的难度与大数分解难度等价
即 RSA 的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是 NPC 问题
RSA 的缺点主要有:A)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密
B)分组长度太大,为保证安全性,n 至少也要 600 bits 以上,使运算代价很高,尤其是速度较慢,较