0
点赞
收藏
分享

微信扫一扫

非对称加密算法 (RSA、DSA)概述

蒸熟的土豆 2021-09-21 阅读 57
JavaJava web

非对称加密算法系列文章,推荐阅读顺序:

  1. 非对称加密算法 (RSA、DSA)概述
  2. 非对称加密算法 RSA+对称AES
  3. 非对称加密算法 (DSA)

  1. 信息加密:收信者是唯一能够解开加密信息的人,因此收信者手里的必须是私钥。
  2. 数字签名:数字签名是为了表明信息没有受到伪造,确实是信息拥有者发出来的,附在信息原文的后面。就像手写的签名一样,具有不可抵赖性和简洁性。简洁性:对信息原文做哈希运算,得到消息摘要,信息越短加密的耗时越少。不可抵赖性:信息拥有者要保证签名的唯一性,必须是唯一能够加密消息摘要的人,因此必须用私钥加密 (就像字迹他人无法学会一样),得到签名。如果用公钥,那每个人都可以伪造签名了。

一、基本概念

1.1 非对称加密

非对称加密需要两个密钥:公钥 (publickey) 和私钥 (privatekey)。公钥和私钥是一对,如果用公钥对数据加密,那么只能用对应的私钥解密。如果用私钥对数据加密,只能用对应的公钥进行解密。因为加密和解密用的是不同的密钥,所以称为非对称加密。

1.2 对称加密

对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。

1.3 RSA 与 DSA 对比

  1. 相同点:
    RSA 与 DSA 都是非对称加密算法。
  2. 区别:
    DSA 只能用于数字签名,而无法用于加密(某些扩展可以支持加密);RSA 即可作为数字签名,也可以作为加密算法。不过作为加密使用的 RSA 有着随密钥长度增加,性能急剧下降的问题。在业界支持方面,RSA 显然是赢家。RSA 具有更为广泛的部署与支持。

1.4 工作原理(单向数据)

  1. A 要向 B 发送信息,B 要产生一对用于加密和解密的公钥和私钥。
  2. B 的私钥保密,B 的公钥告诉 A。
  3. A 要给 B 发送信息时,A 用 B 的公钥加密信息,因为 A 知道 B 的公钥。
  4. A 将这个消息发给 B (已经用 B 的公钥加密消息)。
  5. B 收到这个消息后,B 用自己的私钥解密 A 的消息。其他所有收到这个报文的人都无法解密,因为只有 B 才有 B 的私钥。

1.5 工作原理(双向数据)

  1. A 要向 B 发送信息,A 和 B 都要产生一对用于加密和解密的公钥和私钥。
  2. A 的私钥保密,A 的公钥告诉 B;B 的私钥保密,B 的公钥告诉 A。
  3. A 要给 B 发送信息时,A 用 B 的公钥加密信息,因为 A 知道 B 的公钥。
  4. A 将这个消息发给 B (已经用 B 的公钥加密消息)。
  5. B 收到这个消息后,B 用自己的私钥解密 A 的消息。其他所有收到这个报文的人都无法解密,因为只有 B 才有 B 的私钥。
举报

相关推荐

0 条评论