RSA加密
我们的编辑将审阅你所提交的内容,并决定是否修改文章。
RSA加密,全文Rivest-Shamir-Adleman加密,类型公开密匙加密广泛用于数据加密的电子邮件以及其他数字交易在互联网.RSA是以它的发明者命名的,罗纳德·l·里维斯特,阿迪,莱纳德·m·阿德曼是他在哈佛大学任教时发明的麻省理工学院.
在RSA系统中,用户秘密地选择了一对质数p而且问大到可以因式分解乘积n=p问远远超出了密码寿命内的计算能力。截至2015年,美国政府安全标准要求模量的大小至少为2048位,即,p而且问每个都要有308个十进制数字大小,所以n大约是617位数字。由于目前可以分解的最大硬数字只有这个数字的一半大小,而且模中每增加3位,分解的难度大约翻倍,因此617位模被认为在几十年内都可以安全分解。
在选择p而且问时,用户选择任意的整数e不到n而且相对来说p−1和问−1,也就是说,1是唯一的公约数e而乘积(p−1)(问−1).确保有另一个号码d产品的用途ed除以的最小公倍数余数是1吗p−1和问−1。了解p而且问,数字d可以很容易地用欧几里得算法.如果一个人不知道p而且问在美国,两者都同样难以找到e或d给定另一个因子n,这是RSA密码安全的基础算法.
标签d而且e将用于表示键所对应的函数,但是,由于键是完全可互换的,这只是为了便于说明。来实现使用标准双密钥版本的RSA的保密通道密码系统、用户一个将发布e而且n在一个已验证的公共目录,但保留d的秘密。任何想要发送私人信息的人一个会编码成小于的数吗n然后用一个特殊的公式加密e而且n.一个能在知道的基础上解密这样的信息吗d,但目前的假设和证据是,对于几乎所有的密码,除非也能分解,否则没有人能解密信息n.
类似地,要实现身份验证通道user一个将发布d而且n并保持e的秘密。在此通道中最简单地使用用户身份验证B可以验证那B是在沟通与一个通过在目录中查找一个的解密密钥d和发送一个要加密的消息。如果B得到一个可以解密的密码B的挑战信息使用d要解密它,B会知道它很可能是被知情的人创造的吗e因此,另一个交流者可能一个.
对消息进行数字签名是一项更复杂的操作,需要加密安全的“哈希”函数。这是一个公开的函数,它将任何消息映射为一个更小的消息,称为消化在这种情况下,摘要的每一位都依赖于消息的每一位,即使改变消息中的一位,也容易以加密安全的方式改变摘要中的一半位。通过cryptosecure这意味着,从计算上讲,任何人都无法找到将产生预先分配的摘要的消息,并且同样难以找到与已知摘要相同的另一条消息。为消息签名——这甚至不需要保密——一个用秘密加密摘要e,这一个附加到消息中。任何人都可以使用公钥解密消息d恢复摘要,也可以独立于消息进行计算。如果两者一致,就必须得出这样的结论一个起源于密码,自始只有一个知道e因此可以对信息进行加密。
到目前为止,所有提出的双密钥密码系统都要求将隐私或保密通道与身份验证或签名通道分离,并为此付出很高的代价。非对称加密/解密过程中大量增加的计算量大大降低了通道容量(位每秒传递的消息信息)。在大约20年的时间里,对于相对安全的系统来说,单密钥的吞吐量比双密钥的吞吐量高1000到10000倍算法.因此,双密钥密码主要应用于混合系统。在这样的系统中,双键算法用于身份验证和数字签名,或用于交换随机生成的会话密钥,以用于主通信的高速单键算法。在会话结束时,该密钥将被丢弃。