在这篇文章中|网络安全之对称密码

在这篇文章中|网络安全之对称密码】在这篇文章中 , 我们将介绍称为非对称密码(asymmetriccipher)或公钥密码(publickeycipher) 。 在文章信息技术安全之对称加密术(SymmetricCryptography)中 , 提及了为何对称密码(symmetriccipher)会被称之为对称密码 , 这是因为加密和解密过程中使用的密钥相同 。 这与非对称加密系统形成了对比 , 顾名思义 , 非对称密码使用不同的密钥用于加密和解密 。
在这篇文章中|网络安全之对称密码
文章图片
那么这到底是如何工作的呢?
让我们想象一下 , 有A和B想要安全地通信 , 由于在本例中使用的是非对称加密 , 因此他们每个人必须做的第一件事是生成私钥(privatekey) , 然后使用该私钥导出公钥 。
非对称加密系统的优势来自于在给定公钥的情况下计算出对应的私钥的计算难度 。 一旦A和B生成了私钥和公钥对(privatekeyandpublickeypairs) , 他们就交换公钥 。 公钥是公共的 , 可以与任何人共享 , 而私钥则必须保密 。 当A和B交换了公钥后 , 他们就可以开始交换安全消息了 。 当A想向B发送加密消息时 , 他使用B的公钥对消息进行加密 , 然后发送密文 。 之后A可以使用他的私钥来解密和读取消息 , 因为私钥和公钥之间的关系 , 只有B的私钥才能解密使用B公钥加密的消息 。 A的密钥对也是如此 。 因此 , 当B准备回复A的消息时 , 他将使用A的公钥来编码他的消息 , A将使用他的私钥来解密消息 。
在这篇文章中|网络安全之对称密码
文章图片
以上描述了使用非对称密码系统的加密和解密操作 , 但系统还可以执行另一个非常有用的功能 , 即公钥签名(publickeysignature) 。
比方说 , A想给B发送一条消息 , 他想确保B知道消息来自于本人 , 而不是其他人 , 并且消息没有被修改或篡改 。 A可以通过编写消息并将其与私钥组合以生成数字签名来实现这一点 , 然后将此消息连同相关的数字签名一起发送给B 。
我们假设A和B之前已经在这个场景中交换了公钥 。 B现在可以通过组合消息、数字签名和A的公钥来验证消息的来源和真实性 。 如果消息实际上是使用A的私钥而不是其他人的私钥签名的 , 并且消息根本没有被修改 , 那么数字签名应该有效 。 如果消息被修改 , 即使是一个空白字符 , 验证也会失败 , 则B不应该信任消息 。 这是非对称密码系统的一个重要组成部分 。 没有消息验证 , 任何人都可以使用B的公钥 , 向他发送一条声称来自A的加密消息 。
在这篇文章中|网络安全之对称密码
文章图片