蜂鸟 - 1 加密算法的密码分析
1. 引言
小型无线控制与通信设备、传感器和认证标签的出现,正以一种在 10 - 20 年前几乎难以想象的方式影响着商业、军事和家庭安全工程。为这些资源极度受限的设备选择加密安全组件时,成本是一个重要的考虑因素,它直接关系到组件的硬件和软件实现复杂度以及计算效率。这些轻量级加密解决方案还必须满足严格的安全要求,因为它们通常是整个“安全链”中的关键环节,例如使用 RFID 令牌进行用户认证、使用无线免提设备进行私人对话以及对无线键盘上的按键进行加密等。
蜂鸟 - 1 是一种为 RFID 标签和其他受限设备设计的加密和消息认证原语。它使用 256 位的秘密密钥和 64 位的 IV(随机数),并可选择为消息生成 64 位的认证符。研究表明,已发布的蜂鸟 - 1 版本容易受到选择 IV、选择消息攻击,攻击复杂度远低于 2^64 次操作,数据复杂度仅为几兆字节,就可以恢复整个 256 位的秘密密钥。
2. 蜂鸟 - 1 算法描述
2.1 符号和参数
- 256 位的秘密密钥 K 被索引为四个 64 位子密钥 K(i) 的向量,每个 64 位子密钥又由 16 位的字 K(i)_j 组成,具体如下:
- (K = (K(1), K(2), K(3), K(4)))
- (K(1) = (K(1)_1, K(1)_2, K(1)_3, K(1)_4))
- (K(2) = (K(2)_1, K(2)_2, K(2)_3, K(2)_4))
- (K(3) = (K(3)_1, K(3)_2, K(3)_3,