Camellia加密解密
ISO/NESSIE/CRYPTREC认证算法 - 安全性等同于AES
安全提示
Camellia提供与AES等效的优秀安全性。推荐用于需要符合ISO/IEC标准或日本/欧洲认证的应用。
关于Camellia
关于Camellia
Camellia 是由三菱电机和 NTT(日本电报电话公司)联合开发并于 2000 年发布的对称分组密码。它以 128 位为分组大小,支持 128、192、256 位密钥。算法将轮次组织为每 6 轮一组,每组之间设置 FL/FL⁻¹ 函数——一种依赖密钥的位运算操作,在主费斯特尔层之间注入额外的非线性,这是 AES 所不具备的结构特性。
主要特点
- 128 位分组大小,支持 128/192/256 位密钥——与 AES 分组宽度完全一致,在 TLS 和 IPsec 中可字节级兼容替换
- 128 位密钥使用 18 轮,192/256 位密钥使用 24 轮——按每 6 轮一组排列,每组之间插入 FL/FL⁻¹ 层
- FL/FL⁻¹ 函数:Camellia 独有,在轮次组之间施加密钥依赖的 AND/OR/循环移位操作,大幅增强密钥材料的扩散能力
- 三重认证:ISO/IEC 18033-3 全球标准 + NESSIE 欧洲项目 + CRYPTREC 日本政府推荐——唯一同时获三重认证的非 AES 密码
- 2017 年起无专利;已集成于 OpenSSL、GnuTLS、NSS(Firefox)、LibreSSL、Bouncy Castle,广泛部署于 TLS 和 VPN
- 2017 年起无专利;已集成于 OpenSSL、GnuTLS、NSS(Firefox)、LibreSSL、Bouncy Castle,广泛部署于 TLS 和 VPN
加密模式
加密模式
算法对比
| 算法 | 分组大小 | 密钥长度 | 安全性 | 标准认证 | 标准认证 |
|---|---|---|---|---|---|
| Camellia | 128 bit | 128/192/256 | 18/24 | 优秀 | ISO/NESSIE/CRYPTREC |
| AES | 128 bit | 128/192/256 | 10/12/14 | 良好 | NIST |
| Twofish | 128 bit | 128/192/256 | 16 | 优秀 | AES Finalist |
| DES | 64 bit | 56 | 16 | 优秀 | 弱 |
安全考虑
- 针对 Camellia-128 的最优已知攻击可到达 18 轮中的 12 轮(相关密钥差分密码分析);完整轮次版本无已知实际攻击,在当前密码分析前沿之上保留了六轮安全裕量
- FL/FL⁻¹ 函数在 6 轮组之间注入密钥依赖的位置换,破坏跨轮次边界的差分和线性轨迹——正是这种结构机制使相关密钥攻击比纯 SPN 密码(如 AES)困难得多
- NESSIE(2003 年)和 CRYPTREC 的独立评估证实了 Camellia 对所有已知攻击族的抵抗力:差分、线性、不可能差分、高阶差分和截短差分密码分析——评估标准与验证 AES 时完全一致
- Camellia 的 128 位分组宽度消除了 64 位密码(DES、3DES、Blowfish)面临的生日界问题:碰撞阈值出现在每个密钥加密 2⁶⁴ 块(约 147 PB)之后,Sweet32 类攻击根本无从发起
- Camellia 的 128 位分组宽度消除了 64 位密码(DES、3DES、Blowfish)面临的生日界问题:碰撞阈值出现在每个密钥加密 2⁶⁴ 块(约 147 PB)之后,Sweet32 类攻击根本无从发起