<aside>
💡 Notion Tip: 密码学笔记.
</aside>
对称加密
对称加密算法是指加密和解密使用相同密钥的加密算法。加密过程是将明文(可读数据)通过加密算法和密钥转换为密文(不可读数据),解密过程则是将密文通过相同的加密算法和密钥还原为明文。
应用场景:
- 网络通信加密:对称加密算法常用于保护网络通信中的数据传输,例如SSL/TLS协议在建立连接后,会使用对称加密算法对数据进行加密。此外,IPSec协议也采用对称加密来确保网络通信的安全。
- 文件加密存储:许多文件加密软件采用对称加密算法来保护存储在设备上的敏感数据。例如,VeraCrypt和AxCrypt使用AES等对称加密算法对文件进行加密,即使设备丢失或被盗,数据也能保持安全。
- 数据库加密:对称加密算法可用于加密数据库中的敏感数据,如个人信息、银行账户信息等,防止数据泄露和非法访问。
- 移动支付和金融科技:在移动支付和金融科技领域,对称加密算法用于加密交易数据,确保交易过程中的数据不被窃取或篡改。
- 磁盘加密:如Windows的BitLocker和macOS的FileVault等磁盘加密工具,利用对称加密算法对整个硬盘进行加密,保护存储在磁盘上的数据。
(1)DES(Data Encryption Standard)
- 原理:DES算法采用一个56位的密钥(实际使用48位,另外8位用于奇偶校验)对64位的明文数据块进行加密。它通过一系列复杂的置换、替换和置换 - 替换操作来实现加密。首先,将64位的明文进行初始置换,然后将置换后的数据分为左右两部分,每部分32位。在16轮的迭代过程中,右半部分通过扩展置换、与子密钥异或、S盒替换和P盒置换等操作后,与左半部分进行异或操作,然后左右两部分交换位置(最后一轮不交换)。最后,将左右两部分合并,再进行逆初始置换得到密文。
- 优点:算法简单,加密速度快,在硬件实现上效率较高。
- 缺点:密钥长度较短,只有56位,随着计算能力的提高,容易被暴力破解。例如,现在一些专用的解密设备可以在较短时间内破解DES加密。
- 应用场景:曾经被广泛应用于金融、政府等对安全性要求较高的领域,但由于其安全性逐渐降低,现在更多地被用于一些对安全要求不是特别高,但需要快速加密的场合,如一些简单的数据加密存储。
(2)AES(Advanced Encryption Standard)
- 原理:AES算法是一种分组密码,支持128位、192位和256位的密钥长度。它将明文数据分为128位的块进行加密。加密过程包括多轮的字节代换、行移位、列混合和轮密钥加等操作。字节代换是将每个字节通过一个固定的S盒进行替换;行移位是将矩阵的行进行循环移位;列混合是将矩阵的列进行线性变换;轮密钥加是将生成的轮密钥与数据进行异或操作。AES算法根据密钥长度不同,加密轮数也不同,128位密钥加密10轮,192位密钥加密12轮,256位密钥加密14轮。
- 优点:安全性高,密钥长度较长,抗暴力破解能力强。加密效率也很高,在软件和硬件实现上都能达到较好的性能。
- 缺点:算法相对复杂,实现起来需要一定的技术基础。