CoderTools

IDEA加密解密

国际数据加密算法 - 128位对称分组密码

安全警告

IDEA是一种传统加密算法。虽然具有历史意义,但建议在需要高安全性的新应用中使用AES。

IDEA使用固定的128位(16字节)密钥。密钥必须恰好为16字节。
格式选项

关于IDEA

IDEA(国际数据加密算法)由瑞士苏黎世联邦理工学院(ETH Zurich)的赖学家(Xuejia Lai)和詹姆斯梅西(James Massey)于 1991 年设计,初衷是替代安全性不足的 DES。与 DES 的 56 位密钥不同,IDEA 使用完整的 128 位密钥,对 64 位数据块进行 8.5 轮加密,其独特之处在于同时融合了三种来自不相容代数群的运算:异或(XOR)、模 2 加法,以及模(2+1)乘法。

IDEA 曾是 PGP 2.x 的默认对称加密算法PGP 是 1990 年代最广泛使用的邮件加密软件。算法专利由 MediaCrypt AG 持有,已于 2012 年到期,现可在全球范围内自由使用。尽管问世已逾三十年,迄今尚无针对完整 8.5 轮 IDEA 的实际攻击方案低轮次的密码分析从第 5 轮起开始出现弱点,但完整设计在实践中仍未被破解。

主要特点

  • 128 位主密钥通过循环左移派生出 52 个 16 位子密钥
  • 64 位分组宽度与 DES 相同,但密钥更长、轮数更多
  • 8.5 轮中交替使用三种不相容代数运算:XOR、模 2 加法、模(2+1)乘法
  • 专利已于 2012 年全球到期,可自由用于开源及商业项目

加密模式

  • CBC: 密码块链接模式每个 64 位 IDEA 分组在加密前先与前一个密文块异或。64 位 IV 确保相同明文不会产生相同密文。适合 IDEA 的通用文件加密场景。
  • ECB: 电子密码本模式每个 64 位分组使用相同的 52 个子密钥独立加密。相同的明文块始终产生相同的密文块,可能暴露数据结构规律。仅适用于加密单个独立的随机数据块。
  • CFB: 密码反馈模式IDEA 作为密钥流生成器,对前一密文块加密后与明文异或。可将 IDEA 的 64 位分组密码转化为自同步流密码,适合面向字节或变长数据流的应用场景。
  • OFB: 输出反馈模式密钥流通过反复对 IV 加密独立生成,与明文无关。密钥流可预计算且错误不扩散,适合噪声信道通信单个比特翻转不会影响后续分组的解密。
  • RAW: 原始分组 - 直接单块加密,无链接模式。不需要IV。

算法比较

算法 密钥长度 分组大小 安全性 速度
IDEA 128 bits 64 bits 良好 快速
AES 128/192/256 bits 128 bits 优秀 快速
Blowfish 32-448 bits 64 bits 良好 快速
DES 56 bits 64 bits 快速

安全注意事项

  • 64 位分组宽度引入生日界风险:对同一密钥加密约 2 个分组(32 GB)后,碰撞概率显著上升大流量应用应在达到此阈值前轮换密钥
  • 三种不相容代数群的混合运算是专门针对差分密码分析和线性密码分析设计的这两类攻击在 1990 年代初期破解了 DES;对 IDEA 完整 8.5 轮均无实际效果
  • 存在少量弱密钥类,其中大量子密钥片段全为零或全为一;这类情况极为罕见(概率约 2),但建议生成密钥后排查对任何 16 位子密钥段全零或全一的密钥进行拒绝处理
  • 新项目应优先选用 AES-256-GCM 或 ChaCha20-Poly1305;IDEA 仅适用于兼容旧版 PGP 2.x 归档文件,或协议明确规定必须使用 IDEA 的场景

使用场景

  • 解密采用 IDEA 作为默认对称算法的旧版 PGP 2.x 邮件归档和 S/MIME 邮件(OpenPGP RFC 4880 将默认算法改为 AES 之前的历史存档)
  • 已在芯片中实现 IDEA 硬件加速的嵌入式平台更换算法需要重新设计电路板,改动成本极高
  • 密码学教学课程,通过 IDEA 的设计对比纯置换-代换网络(SPN),说明为何在 Z/(2+1) 中的乘法运算能有效抵御差分攻击
  • 取证解密 1990 年代遗留的加密文件当时许多软件在用户不知情的情况下默认使用 IDEA 进行加密

参考资料

快捷菜单

暂无访问记录