一.引言
这篇文章是继上一篇(学习笔记1.0)更新的文章(可以去主页查看相应内容),本篇文章主要讲解对称加密的工作原理、加密算法以及对称加密与哈希函数之间有哪些关联。希望对各位有帮助,也可以在评论区给予补充说明。
二.何为对称加密
对称加密是一种加密技术,使用相同的密钥来进行加密和解密。这意味着发送方和接收方都使用相同的密钥来加密和解密消息。密钥既用于加密明文(原始消息),也用于解密密文(加密后的消息)。
加密、解密和密钥
加密(Encrypt)是从明文生成密文的步骤,解密(Decrypt)是从密文还原成明文的步骤,而这两个步骤都需要用到密钥(Key)。这和我们现实中,用钥匙上锁和开锁是一样的。
让我们更详细地了解对称加密的工作原理和特点:
2.1 加密过程:
- 选择密钥:发送方选择一个密钥。这个密钥必须保密,只有发送方和接收方知道。
- 加密消息:发送方使用所选的密钥对要发送的消息进行加密。加密算法将明文消息和密钥作为输入,然后生成密文。
- 发送加密消息:发送方将加密后的消息发送给接收方。
2.2 解密过程:
- 接收加密消息: 接收方收到加密消息。
- 使用密钥解密: 接收方使用与发送方共享的密钥对收到的加密消息进行解密。解密算法将密文和密钥作为输入,然后生成明文消息。
- 获取原始消息:接收方获得解密后的明文消息。
2.3 特点和应用:
- 快速:对称加密通常比非对称加密更快速,因为它涉及的操作较少。
- 适用性广泛:对称加密适用于许多场景,如保护数据在传输过程中的机密性,存储在存储设备上的数据,以及在计算机系统内部传递的数据等等。
- 密钥分发挑战: 对称加密需要在通信双方之间共享密钥。密钥的安全分发可能是一个挑战,因为如果密钥在传输过程中被拦截,就会导致加密通信的不安全性。
- 常见算法: 常见的对称加密算法包括AES(高级加密标准)、DES(数据加密标准)、3DES、Blowfish等。
总的来说,对称加密是一种重要的加密技术,广泛应用于信息安全领域,可以保护数据的机密性,防止未经授权的访问和窃取。
三.对称加密常见算法
3.1 DES算法
DES(Data Encryption Standard,中文:数据加密标准),是一种对称加密算法。该算法在1976年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并于1977年被发布,随后在国际上广泛流传开来。然而,随着计算机的进步,DES 已经能够被暴力破解,所以该算法已经不安全了。
DES是一种分组密码(Block Cipher,或者叫块加密),即将明文按64比特进行分组加密,每组生成64位比特的密文。它的密钥长度为56比特(从规格上来说,密钥长度是64比特,但由于每隔7比特会设置一个用于错误检查的比特,因此实际长度为56比特)。
3.1.1 使用DES算法进行对称加密的过程
以下是使用DES算法进行对称加密的基本过程:
加密过程
-
选择密钥: 选择一个56位的密钥,这是DES算法的标准密钥长度。
-
初始化: 将明文消息进行初始化处理,以确保其长度符合DES算法的要求。通常,如果明文消息的长度不是64位的倍数,会使用填充(Padding)技术进行填充。
-
分组: 将初始化后的明文消息分成64位(8字节)的分组。
-
初始置换(Initial Permutation): 对每个分组应用初始置换,该置换将每个分组中的位重新排列。这是DES算法的一部分,目的是增加密码的强度。
-
轮函数(Round Function):