密码学之公钥密码体系(2):RSA算法
一、RSA算法背景
上一讲介绍了公钥密码体系中的背包算法,在Merkle背包算法出现后不久,便出现了第一个比较完善的公开秘钥算法RSA,它可以用于加密也可以用于数字签名(一般常用作数字签名,速度较快)。
RSA算法以它的三个发明者Ron Rivest,Adi Shamir和Leonard Adleman的名字命名。
RSA的安全基于大数分解的难度。其公开密钥和私人秘钥是一对大素数的函数。从一个公开密钥和密文中恢复出明文的难度等价于分解两个大素数之积。
二、RSA算法描述
- 为了产生两个密钥,选取两个大素数 p p <