对称加密算法和非对称加密算法介绍

妖狐艹你老母 2022-05-22 07:56 449阅读 0赞

本文主要介绍对称加密算法(symmetric encryption algorithm)和非对称加密算法(asymmetric cryptographic algorithm)的相关知识。

1 对称加密算法

1.1 概述

对称加密算法是应用较早的加密算法,技术成熟。

在对称加密算法中,数据发送方利用加密密钥、通过指定的加密算法将明文(原始数据)加密处理后,使明文加密为密文,然后发送出去。数据接收方在收到密文后,需要使用加密时使用的密钥、以及加密算法的逆算法对该密文进行解密,才能对应的明文。

在对称加密算法中,消息发送方和接收方都使用同一个密钥对数据进行加密和解密,所以,使用对称加密时,要求解密方必须事先知道消息的加密密钥。

1.2 示例及隐患

对称加密的一方(比如小红)用密钥 K 给文本 M 加密,另一方(比如小明)用同一个密钥 K 解密。

在此过程中,加解密的模型如下:

小红:C = E(M, K)

小明:M = D(C, K)

根据对称加密原理,通信一方(如小明)必须要事先知道密钥 K,才能够对通信另一方(如小红)发送过来的消息进行解密,双方的加解密过程,如下图所示:

70

不过,上图中存在这样一个问题:当一方(如小红)生成了密钥 K 之后,把 K 分享给另一方(小明)的过程中,有可能被人窃听到了密钥 K ,那么此时这个窃听者就可以假扮双方中的任何一方与另一方进行通信。这叫中间人攻击 mim(Man-in-the-middle_attack)。此过程如下图所示:

70 1

2 非对称加密算法

2.1 概述

非对称加密算法需要两个密钥(密钥对),即公钥(public key)和私钥(private key)。公钥和私钥是成对出现的,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种加密算法叫作非对称加密算法。

非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥,并将其中的一把作为公钥向其它方公开,得到该公钥的乙方使用该密钥(公钥)对机密信息进行加密后发送给甲方;甲方接收加密信息后,用自己保存的另一把专用密钥(私钥)对加密信息进行解密。

说明:非对称加密算法的一般应用场景是“公钥加密、私钥解密”。

2.2 示例及隐患

现有用于非对称加密的密钥对:K1 和 K2。小红用其中一个密钥加密文本,小明可以用另一个密钥解密文本。比如,小红用 K1 加密,小明用 K2 解密。

上述加解密过程的模型如下:

小红:C = E(M, K1)

小明:M = D(C, K2)

根据上述模型,双方中的一方(比如小红)可以生成 K1 和 K2,然后把其中一个密钥(比如 K1)私藏,称为私钥;另一个密钥(比如 K2)公开,称为公钥。当另一方(比如小明)得到小红公开的公钥之后,双方就可以通信了。双方的加解密过程,如下图所示:

70 2

不过,上图中依然存在一个问题:中间人 mim 还是可能截获小红公开的公钥 K2,然后自己弄一对密钥(K1, K2),然后欺骗小明说 K2 是小红的公钥,这样中间人 mim 每次都可以用截获的 K2 解密小红发给小明的文本(然后窃取甚至篡改文本),再用自己制造的 K1 加密了发给小明,小明收到消息后,用中间人 mim 制造的 K2 解密文本。此过程如下图所示:

70 3

为了避免上述问题的出现,帮助小明确定得到的公钥确实是小红公开的公钥 K2(而不是中间人 mim 伪造的 K2),数字签名(digital signature)技术应运而生。

关于数字签名技术的相关知识,请点击此处。

发表评论

表情:
评论列表 (有 0 条评论,449人围观)

还没有评论,来说两句吧...

相关阅读

    相关 加密算法-对称加密&对称加密

    加密算法是一种将明文转换为密文的算法,以保护数据的机密性和安全性。加密算法通常分为两种类型:对称加密算法和非对称加密算法。 1. 对称加密算法:指加密和解密使用相同密钥的算

    相关 对称加密算法

    非对称加密算法和对称加密算法的主要差别在于非对称加密算法用于加密和解密的密匙不同,一个公开称为公钥,一个保密称为私钥;这个算法解决了对称加密的算法的密匙分配的问题,提高了算法的

    相关 对称加密对称加密

    非对称加密和对称加密在加密和解密过程、加密解密速度、传输的安全性上都有所不同,具体介绍如下: 1、加密和解密过程不同 对称加密过程和解密过程使用的同一个密钥,加密过程相当于