推荐文档列表

一种新的安全加密标准算法-Camellia算法

时间:2021-09-30 19:58:54 电子通信论文 我要投稿

一种新的实用安全加密标准算法-Camellia算法

摘要:介绍了NESSIE标准中的分组密码算法——Camellia算法的加、解密过程,并对其在各种软、硬件平台上的性能进行了比较,结果表明Camellia算法在各种平台上均有着较高的效率。Camellia算法与其它技术相结合将在信息安全领域产生更广泛的应用。

    关键词:NESSIE 分组密码 Camellia 算法 加密

继2000年10月美国推出二十一世纪高级数据加密标准AES后,2003年2月欧洲最新一代的安全标准NESSIE(New European Schemes for Signatures、Integrity and Encryption)出台。NESSIE是欧洲IST(Information Society Technologies)委员会计划的一个项目。Camellia算法以其在各种软件和硬件平台上的高效率这一显著特点成为NESSIE标准中两个128比特分组密码算法之一(另一个为美国的AES算法)。

Camellia算法由NTT和Mitsubishi Electric Corporation联合开发。作为欧洲新一代的加密标准,它具有较强的安全性,能够抵抗差分和线性密码分析等已知的攻击。与AES算法相比,Camellia算法在各种软硬件平台上表现出与之相当的加密速度。除了在各种软件和硬件平台上的高效性这一显著特点,它的另外一个特点是针对小规模硬件平台的设计。整个算法的硬件执行过程包括加密、解密和密钥扩展三部分,只需占用8.12K 0.18μm COMS工艺ASIC的库门逻辑。这在现有128比特分组密码中是最小的。

1 Camellia算法的组成

Camellia算法支持128比特的分组长度,128、192和256比特的密钥与AES的接口相同。本文以128比特密钥为例对Camellia算法进行详细介绍。

Camellia算法128比特密钥的加、解密过程共有18轮,采用Feistel结构,加、解密过程完全相同,只是子密钥注入顺序相反。而且密钥扩展过程和加、解密过程使用相同的部件。这使得Camellia算法不论是在软件平台还是硬件平台只需更小的规模和更小的存储即可。

(1)Camellia算法所采用的符号列表及其含义

B 8比特向量 W 32比特向量

L 64比特向量 Q 128比特向量

x?n? 比特向量

xL 向量x的左半部分 xR 向量x的右半部分

<<< 比特循环左移 || 两个操作数的连接

? 比特的异或操作 x 比特位取补操作

∪ 比特位的或操作 ∩ 比特位的与操作

(2)Camellia算法所采用

[1] [2] [3] [4] [5] [6]