1977年由R.李维斯特( Ron Rivest)、A.沙米尔( Adi Shamir)和L.阿德勒曼( Leonard Adleman)三人共同提出的一种被广泛接受和实现的通用信息安全公钥加密算法,RSA的取名来自提出者三人姓氏的首字母。该算法既能用于数据加密,也能用于数字签名,易于理解和操作,能够抵抗已知的所有密码攻击,已被国际标准化组织推荐为公钥数据加密标准,是全球最具影响力的信息安全公钥加密算法之一。
RSA算法是一种非对称加密算法,通常先生成一对RSA密钥,其中一个是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。RSA算法基于一个十分简单的数论事实,即将两个大素数相乘十分容易,但想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。RSA算法涉及三个参数:n、e1、e2。其中:n是两个大质数p、q的积,n的二进制表示所占用的位数就是所谓的密钥长度。e1和e2是一对相关的值,e1可以任意取值,但要求e1与(p1)*(q1)互质;选择e2时要求(e2*e1)mod((p1)*(q1))=1。则(n及e1)与(n及e2)就是密钥对。RSA加解密的算法完全相同A为明文,B为密文,则:A=B~e1modn;B=A^e2modn;e1和e2可以互换使用,即:A=B^e2 mod n;B=A^e1 mod n。
随着越来越多的商业应用和标准化工作的推进,RSA已经成为最具代表性的信息安全公钥加密算法,如在安全电子交易标准( Secure electronic transactions,SET)中就采用了标准RSA算法,在网上交易加密连接、网上银行身份验证、各种信用卡使用的数字证书、智能移动电话和存储卡的验证功能芯片等也大多使用了RSA技术,这些应用使得RSA在生活中几乎无处不在。
更多内容您可前往信创致远http://www.dengbao110.com/查看。