CoderTools

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

加密模式

加密模式

ECB: 电子密码本模式——每个 128 位分组独立经过全部 18(或 24)轮 Camellia 运算,包括 FL/FL⁻¹ 密钥混合层。由于相同的 128 位明文块总是产生相同密文,数据重复模式会暴露——仅适合加密真正唯一的一次性随机数或密钥的单分组场景。
CBC: 密码块链接模式——每个 128 位 Camellia 分组在经过 18/24 轮费斯特尔运算和 FL/FL⁻¹ 变换前,先与前一密文块异或。Camellia 的 128 位分组宽度与 AES-CBC 完全相同,可在 TLS 密码套件(RFC 5932)中直接替换——16 字节对齐的数据采用标准 PKCS#7 填充即可。
CFB: 密码反馈模式——Camellia 的完整 18/24 轮函数(含 FL 层)处理前一密文块,输出与下一段明文异或,形成自同步流密码。适合需要字节级粒度处理或不完整末尾分组的流式协议,无需引入额外填充开销。
OFB: 输出反馈模式——Camellia 循环重新加密 IV 生成与明文无关的密钥流。错误仅影响对应输出字节,不会级联传播——非常适合通过卫星、无线电等有损信道传输的分组数据,Camellia 的硬件高效结构还可在此类场景中提供吞吐量优势。

算法对比

算法 分组大小 密钥长度 安全性 标准认证 标准认证
Camellia128 bit128/192/25618/24优秀ISO/NESSIE/CRYPTREC
AES128 bit128/192/25610/12/14良好NIST
Twofish128 bit128/192/25616优秀AES Finalist
DES64 bit5616优秀

安全考虑

  • 针对 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 类攻击根本无从发起

使用场景

TLS/SSL 密码套件:Camellia 以 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA(RFC 5932)和 TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384(RFC 6367)部署于 TLS 1.2——在日本金融系统和政府服务中广泛使用
IPsec VPN:RFC 4312 定义了 Camellia 在 IKEv1/v2 和 ESP 中的应用,为需要 CRYPTREC 合规算法的日本政府网络部署提供 AES 替代方案
OpenPGP 邮件和文件加密:RFC 5581 将 Camellia-128/192/256 作为可选对称算法加入 OpenPGP,为需要 NESSIE 认证密码的用户或策略域提供 AES 之外的选择
日本政府和金融机构系统:CRYPTREC 指定使 Camellia 在日本电子政务系统和银行基础设施中成为强制或高度推荐的算法
硬件安全模块和嵌入式密码:Camellia 的费斯特尔结构可高效映射到 FPGA 门阵列和 ASIC 实现,紧凑的逻辑设计支持加密和密钥调度的同步计算
硬件安全模块和嵌入式密码:Camellia 的费斯特尔结构可高效映射到 FPGA 门阵列和 ASIC 实现,紧凑的逻辑设计支持加密和密钥调度的同步计算

参考链接

相关工具

快捷菜单

暂无访问记录