Block Cipher
分组密码是对固定长度分组(如 128 位)执行加密/解密的对称密码,需配合工作模式处理任意长度数据。
用途
提供对固定块的安全变换,作为可证明安全加密的构建基块。
机制
加密函数 E(K, P) 将 n 位明文块映射为 n 位密文块,是双射。通过密钥扩展生成轮密钥,多轮替换与置换交替(SPN 或 Feistel)。需配合 ECB/CBC/CTR/GCM 等模式处理变长数据。
用例
- AES 加密基础设施
- 磁盘加密(块对齐)
- MAC 构造(如 CMAC)
- 伪随机函数构造
示例
- 输入
AES-128 block输出16-byte ciphertext blockA mode is required for multiple blocks
常见错误
- Encrypting multiple blocks directly with the raw block cipher (i.e., ECB mode)
- Always use a secure mode (GCM, or CBC with an IV)