■ 缩写说明 ■ IN - 输入向量 OUT - 输出向量(未用于和明文加密前) ENC - 加密算法 K - 加密密钥 P - 明文 C - 密文 XOR - 异或 << - 左移 BSIZE - 算法的加密块尺寸 COUNT - 计数器 CBlockCipher支持如下加密模式: ------------------------------------------------------------------------------ 计数器(CTR)模式: IN(N) = ENC(K, COUNT++), C(N) = IN(N) XOR P(N);CTR 模式被 广泛用于 ATM 网络安全和 IPSec应用中,相对于其它模式而言,CRT模式具有如下特点: ■ 硬件效率:允许同时处理多块明文 / 密文。 ■ 软件效率:允许并行计算,可以很好地利用 CPU 流水等并行技术。 ■ 预处理: 算法和加密盒的输出不依靠明文和密文的输入,因此如果有足够的保证安 全的存储器,加密算法将仅仅是一系列异或运算,这将极大地提高吞吐量。 ■ 随机访问:第 i 块密文的解密不依赖于第 i-1 块密文,提供很高的随机访问能力 ■ 可证明的安全性:能够证明 CTR 至少和其他模式一样安全(CBC, CFB, OFB, ...) ■ 简单性:与其它模式不同,CTR模式仅要求实现加密算法,但不要求实现解密算法。 对于 AES 等加/解密本质上不同的算法来说,这种简化是巨大的。 ■ 无填充,可以高效地作为流式加密使用。 ------------------------------------------------------------------------------ 密文块链接(CBC)模式:IN(N) = P(N) XOR C(N-1), C(N) = ENC(K, IN(N));在 CTR出 现前广泛使用的块加密模式,用于安全的分组(迭代式)加密和认证。 ------------------------------------------------------------------------------ 密文反馈 (CFB) 模式: IN(N) = C(N-1) << (BSIZE-j), C(N) = ENC(K, IN(N)) << (BSIZE-j) XOR P(N). 其中 j 为每次加密的位数。CFB 模式与 CBC 模式原理相似,但一 次仅处理 j 位数据,其余 BLOCKSIZE - j 位丢弃。由于以上性质,CFB 模式可以在不损 失安全性的前提下,将块加密变为流式加密。但是该模式也是比较浪费的,因为在每轮加 解密中都丢弃了大部分结果(j 通常为一字节(8 位),块加密算法中每块的尺寸通常为 64、128 或 256 位不等)。 ------------------------------------------------------------------------------ 输出反馈 (OFB) 模式:IN(N) = OUT(N-1) << (BSIZE-j), C(N) = ENC(K, IN(N)) << (BSIZE-j) XOR P(N), OUT(N) = ENC(K, IN(N)) << (BSIZE-j). 该模式与 CFB 模式基本 相同,只不过本次输入是上次迭代中尚未与明文异或时的输出。 与 CFB 模式一样, OFB 模式也可以作为流加密模式使用,除此之外,由于每次迭代的输入不是上次迭代的密文, 从而保证了较强的容错能力, 即: 对一块(一字节)密文的传输错误不会影响到后继密 文。但是,由于输入没有经过密文叠加使得其抗篡改攻击的能力较差,通常需要与消息验 证算法或数字签名算法配套使用。OFB 通常用于噪音水平较高的通信连接以及一般的流式 应用中。 ------------------------------------------------------------------------------ 电码本(ECB)模式: IN(N) = P(N), C(N) = ENC(K, IN(N)). 最简单但最不安全的加密 方式。每次迭代的输入都使用相同密钥进行无变换的直接加密。对于同样的明文片断,总 会产生相同的,与之对应的密文段。抗重复统计和结构化分析的能力较差。一次性加密的 最坏情况 (即:每次输入的明文都小于等于 BSIZE 时) 就是电码本模式。 仅在一次一 密,或传出极少数据时考虑使用 ECB 模式。 ------------------------------------------------------------------------------ 此外还支持两种变体: CBC_CTS:CBC的密文窃取模式,用于消除结尾填充(算法交换最后两个块),不推荐。 CFB_FIPS:美国联邦信息处理标准 FIPS 800-38A 中要求的改进变体:要求完整的明文输 入(非流模式)
AES 加密模式
最新推荐文章于 2024-09-21 14:48:47 发布