美文网首页
RSA/AES/DES

RSA/AES/DES

作者: b470b9fc7145 | 来源:发表于2017-09-03 09:02 被阅读31次

RSA

RSA是一个非常神奇的加密算法,它具有一个离散对数和椭圆曲线加密都没有的特性:

既可以用公钥加密然后私钥解密,也可以用私钥加密然后公钥解密(对称性)。

公钥加密然后私钥解密,可以用于通信中拥有公钥的一方向拥有私钥的另一方传递机密信息,不被第三方窃听。
那么私钥加密然后公钥解密是用在什么场合呢?就是数字签名。

因为RSA中的每一个公钥都有唯一的私钥与之对应,任一公钥只能解开对应私钥加密的内容。换句话说,其它私钥加密的内容,这个公钥是解不开的。

这样,如果你生成了一对RSA密钥,你把公钥公布出去,并告诉全世界人这个公钥是你的。之后你只要在发送的消息,比如“123456”,用私钥加密,其他人拿公钥解密,只有私钥对应的公钥才能解开,也就能确认是私钥发的消息。

其他人因为没有对应的私钥,所以没法生成公钥可以解密的密文,所以是不可伪造的。
又因为公钥对应的私钥只有一个,所以只要能成功解密,那么发消息的一定是你,不会是其他人,所以是不可抵赖的。

当然,在数字签名的过程中,我们不需要对“123456”保密,所以加密、解密这样的名词在这个场景中并不准确,用签名和解签会更合适。

实际应用中,由于直接对原消息进行签名有安全性问题,而且原消息往往比较大,直接使用RSA算法进行签名速度会比较慢,所以我们一般对消息计算其摘要(使用SHA-256等安全的摘要算法),然后对摘要进行签名。只要使用的摘要算法是安全的(MD5、SHA-1已经不安全了),那么这种方式的数字签名就是安全的。

DES

Data Encryption Standard

  • 对称加密
  • 速度快
  • 不安全

AES

Advanced Encryption Standard(DES升级版)

  • 对曾加密
  • 速度快
  • 相对DES安全

参考资料

JSPatch安全问题

相关文章

网友评论

      本文标题:RSA/AES/DES

      本文链接:https://www.haomeiwen.com/subject/zildjxtx.html