报名编号:CICC2353
称团队名:不划水队
所选杯赛:芯来RISC-V杯
一、 常见加密模式简介
前几篇分享介绍了AES和SM4加密算法。在加密算法的基础上,还有不同的加密模式。加密模式是在计算机和通信领域中用于保护数据安全性的重要概念。它定义了加密算法在处理大量数据时如何运作。在本分享帖中,我们将讨论五种常见的加密模式:电子密码本模式 (ECB),密码分组链接模式 (CBC),计数器模式 (CTR),密码反馈模式 (CFB),输出反馈模式 (OFB)。通过从多个角度对这些模式进行对比,我们将了解它们的不同特点和适用场景。
1. 电子密码本模式 (ECB):
ECB模式是最简单的加密模式之一,其流程如图1所示。它将明文分成固定大小的块,并对每个块进行单独的加密。然而,ECB的主要弱点是它对于相同的明文块产生相同的密文块,这可能暴露出加密模式。因此,在保护隐私性方面,ECB模式并不是最佳选择。
图1 ECB模式
2. 密码分组链接模式 (CBC):
CBC模式引入了初始向量 (IV),并在每个块的加密中使用前一个输出块,其流程如图2所示。这意味着每个明文块的加密都取决于前一个加密函数的输出块,从而消除了ECB模式中的问题。然而,CBC模式无法并行加密,因为每个块都依赖于前一个块的输出块,这可能降低性能。
图2 CBC模式
3. 密码反馈模式 (CFB):
CFB模式将前一个密文块作为加密函数的输入,并生成一个输出块,然后将该输出块与明文块进行异或运算,产生密文块,其流程如图3所示。CFB模式在解密时可并行计算。然而,CFB模式对于数据完整性的保护不够好,因为如果攻击者更改了密文块中的某些位或整个块,解密过程仍然会进行,这可能导致解密后的明文中包含错误的数据。
图3 CFB模式
4. 输出反馈模式 (OFB):
OFB模式类似于CFB模式,但它将前一个输出块作为当前加密函数的输入。其流程如图4所示。OFB模式的加解密结构相同。然而,OFB模式不能并行加解密。
图4 OFB模式
5. 计数器模式 (CTR):
CTR模式将计数器作为初始向量,并在每个块上递增计数器值,其流程如图5所示。然后,将计数器输入加密函数产生输出块,该输出块与明文块进行异或运算,生成密文块。CTR模式具有并行加解密的优点,因为每个块是独立的,无需等待前一个块的加密结果。这使得CTR模式在高性能要求的应用中特别有用。
图5 CTR模式
二、 对比和结论:
1. 安全性:CBC、CFB、OFB和CTR模式在保护数据安全方面具有相似的级别,而ECB模式则相对较弱。
2. 并行加密:ECB、CBC、CFB和CTR模式支持并行加/解密,而OFB模式不支持。
3. 误差传播:CBC、CFB和OFB模式可以传播误差,但是ECB和CTR模式无法传播误差。
不同的加密模式在不同的场景中有其优势和劣势。在实际应用中,选择加密模式时需要综合考虑安全性和性能需求等。在对数据保密性要求高的情况下,CBC、CTR、CFB和OFB模式通常是较好的选择,而ECB模式则需要谨慎使用。对于高性能要求的应用,CTR模式可能是最佳选择。最重要的是,正确地配置加密模式,并与其他安全保护措施结合使用,以确保数据的综合保护。
三、 参考资料
Recommendation for Block Cipher Modes of Operation: Methods and Techniques
往期分享链接:
【1】蜂鸟E203协处理器EAI指令及接口_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (rvmcu.com)
【2】加密算法的应用_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (rvmcu.com)
【3】 国密系列算法简介及SM4算法原理介绍_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (rvmcu.com)
【4】DemoNICE软件源码解读及应用全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (rvmcu.com)
【5】
AES加密流程_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (riscv-mcu.com)