当两方相互通信以传输可理解或可感知的消息时,称为明文,出于安全目的被转换为明显随机的无意义信息,称为密文。
将明文变成密文的过程称为加密。
加密过程由算法和密钥组成。密钥是一个独立于明文的值。
一旦产生密文,就可以传输它。
传统加密的安全性取决于两个主要因素:
- 加密算法
- 密钥保密
该算法将根据当时使用的特定密钥产生不同的输出。更改密钥会更改算法的输出。
一旦产生密文,就可以传输它。收到后,可以使用解密算法和用于加密的相同密钥将密文转换回原始明文。
解密:
将密文变为明文的过程称为解密。
非对称是密码系统的一种形式,其中使用不同的密钥进行加密和解密 – 公钥(所有人都知道)和私钥(秘密密钥)。这称为公钥加密。
公共加密密钥的特点:
- 公钥加密很重要,因为仅在知道密码算法和加密密钥的情况下无法确定解密密钥。
- 两个密钥(公钥和私钥)中的任何一个都可以用于加密,而其他密钥用于解密。
- 由于公钥密码体制,公钥可以自由共享,为用户提供一种简单方便的加密内容和验证数字签名的方法,私钥可以保密,确保只有私钥的所有者才能解密内容并创建数字签名。
- 最广泛使用的公钥密码系统是 RSA(Rivest-Shamir-Adleman)。找到合数的质因数的难度是 RSA 的支柱。
例子:
每个用户的公钥都存在于公钥寄存器中。如果 B 要向 C 发送机密消息,则 B 使用 C 公钥加密消息。当 C 收到来自 B 的消息时,C 可以使用自己的私钥对其进行解密。除了 C 之外,没有其他接收者可以解密该消息,因为只有 C 知道 C 的私钥。
公钥加密的组成部分:
- 纯文本:
这是可读或可理解的消息。该消息作为输入提供给加密算法。 - 密文:
密文是作为加密算法的输出产生的。我们不能简单地理解这个信息。 - 加密演算法:
加密算法用于将明文转换为密文。 - 解密算法:
它接受密文作为输入和匹配的密钥(私钥或公钥)并生成原始明文 - 公钥和私钥:
私钥(秘密密钥)或公钥(所有人都知道)中的一个用于加密,另一个用于解密
公钥加密的弱点:
- 公钥加密容易受到蛮力攻击。
- 当用户丢失私钥时,该算法也会失败,那么公钥加密成为最容易受到攻击的算法。
- 公钥加密对中间人攻击也很弱。在这种攻击中,第三方可以破坏公钥通信,然后修改公钥。
- 如果在 PKI(公共密钥基础设施)服务器层次结构中用于创建证书的用户私钥被泄露或意外泄露,那么“中间人攻击”也是可能的,使任何从属证书完全不安全。这也是公钥加密的弱点。
应用:
- 使用公钥加密可以实现保密。在这种情况下,使用接收者公钥对纯文本进行加密。这将确保除了接收者私钥之外没有任何人可以解密密文。
- 数字签名用于发件人身份验证。在这个发件人中,使用他自己的私钥加密纯文本。这一步将确保发送方的身份验证,因为接收方只能使用发送方的公钥解密密文。
- 该算法可用于密钥管理和数据的安全传输。