时间:2022-10-12 10:30:01 | 来源:信息时代
时间:2022-10-12 10:30:01 来源:信息时代
RSA公钥加密算法 : 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与(p-1)*(q-1)互质;选择e2时要求(e2*e1)mod((p-1)*(q-1))=1。则(n及e1)与(n及e2)就是密钥对。RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e1 mod n;B=A^e2 mod n;e1和e2可以互换使用,即:A =B^e2 mod n;B=A^e1mod n。
随着越来越多的商业应用和标准化工作的推进,RSA已经成为最具代表性的公钥加密技术,如在安全电子交易标准(Secure Electronic Transactions,SET)中就采用了标准RSA算法,在网上交易加密连接、网上银行身份验证、各种信用卡使用的数字证书、智能移动电话和存储卡的验证功能芯片等也大多使用了RSA技术,这些应用使得RSA在生活中几乎无处不在。