收藏 分销(赏)

一种新的实用安全加密标准算法——Camellia算法.docx

上传人:丰**** 文档编号:4422271 上传时间:2024-09-20 格式:DOCX 页数:11 大小:16.60KB
下载 相关 举报
一种新的实用安全加密标准算法——Camellia算法.docx_第1页
第1页 / 共11页
一种新的实用安全加密标准算法——Camellia算法.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述
一种新的实用安全加密标准算法——Camellia算法   摘要:介绍了NESSIE标准中的分组密码算法——Camellia算法的加、解密过程,并对其在各种软、硬件平台上的性能进行了比较,结果表明Camellia算法在各种平台上均有着较高的效率。Camellia算法与其它技术相结合将在信息安全领域产生更广泛的应用。 关键词:NESSIE 分组密码 Camellia 算法 加密 继2000年10月美国推出二十一世纪高级数据加密标准AES后,2003年2月欧洲最新一代的安全标准NESSIE出台。NESSIE是欧洲IST委员会计划的一个项目。Camellia算法以其在各种软件和硬件平台上的高效率这一显着特点成为NESSIE标准中两个128比特分组密码算法之一。 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算法不论是在软件平台还是硬件平台只需更小的规模和更小的存储即可。 Camellia算法所采用的符号列表及其含义 B 8比特向量 W 32比特向量 L 64比特向量 Q 128比特向量 xn 比特向量 xL 向量x的左半部分 xR 向量x的右半部分 <<< 比特循环左移 || 两个操作数的连接  比特的异或操作 x 比特位取补操作 ∪ 比特位的或操作 ∩ 比特位的与操作 Camellia算法所采用的变量列表及其含义 M128 128比特明文组 C128 128比特密文组 K 主密钥 kwt64 ku64 klv64 子密钥 Camellia算法所采用的变换函数 ·F变换 F变换)是Camellia算法中最主要的部件之一,而且F变换被加、解密过程和密钥扩展过程所共用。Camellia算法的F变换在设计时采用1轮的SPN,包括一个P变换和一个S变换。在Feistel型密码使用一轮SPN作轮函数时,对更高阶的差分和线性特性概率的理论评估变得更加复杂,在相同安全水平下的运行速度有所提高。 ·P变换 Camellia算法的P变换)是一个线性变换。为了通信中软、硬件实现的高效性,它适合采用异或运算,并且其安全性能足以抵抗差分和线性密码分析。其在32位处理器、高端智能卡上的应用,跟在8位处理器上一样。 ·S变换 Camellia算法采用的S盒)是一个GF上的可逆变换,它加强了算法的安全性并且适用于小硬件设计。众所周知,GF上函数的最大差分概率的最小值被证明为2-6,最大线性概率的最小值推测为2-6。Camellia算法选择GF上能够获得最好的差分和线性概率的可逆函数作S盒,而且S盒每个输出比特具有高阶布尔多项式,使得对Camellia进行高阶差分攻击是困难的。S盒在GF上输入、输出相关函数上的复杂表达式,使得插入攻击对Camellia无效。 S:L→L (l‘1(8),l‘1(8),l‘1(8),l‘1(8),l‘1(8),l‘1(8),l‘1(8),l‘1(8)→ *s1(l‘1(8)),s2(l‘2(8)),s3(l‘3(8)),s4(‘4(8)),s2(l‘5(8)),s3(l‘6(8)), s4(l‘7(8),s1(l‘8(l8(8))) 其中, s2:y(8)=s1(x(8))=h(g(f(0xC5+x(8))))+0x6E s2:Y(8)=s2(x(8))=s1(x(8))<<<1 (3) s3:y(8)=s3(x(8))=s1(x(8))1 s4:y(8)=s4(x(8))=s1(x(8))<<<1 算法中构造了四个不同的S盒,提高了Camellia算法抵抗阶段差分攻击的安全性。为了在小硬件上设计实现,GF上的元素可以表示成系数为GF上的多项式。这样,在实现S盒时,只需运用子域GF上很少的操作。s1变换中所采用的f、h、g函数分别如、、式所示。   (b1,b2,b3,b4,b5,b6,b7,b8)=g(a1,a2,a3,a4,a5,a6,a7,a8) 其中,(b8+b7α+b6α2+b5α3)+(b4+b3α+b2α2+b1α3)β =1/(6) 规定式中GF(2的8次方)上运算=1/0,β是GF上方程x8+x6+x5+x3+1=0的根,a=β238=β6+β5+β3+β2是GF上方程x4+x+1=0的根。当然根据性能要求,在具体实现加密算法时,S盒的实现电路也可以直接查表的方式进行。 ·FL/FL-1变换 Camellia算法每六圈加入一次FL/FL-1变换,用来打乱整个算法的规律性。加入FL/FL-1变换的另一个好处是可以抵抗未知的密码攻击方法,而且加入FL/FL-1变换并不影响Feistel结构加、解密过程相同。 FL:L×L→L ||XR,klL||klR→ ∪klR,YL||∩klL<<<1)+YR FL-1:L×L→L ||YR,klL||klR→  ∪klR,YL||∩klL<<<1)+YR 2 Camellia算法的加、解密及密钥扩展实现过程 加、解密过程 Camellia算法的整个加密过程有18轮Feistel结构,在第6轮和第12轮之后加入了FL/FL-1变换层,用来打乱算法的规律性,并且在第1轮之前和最后1轮之后使用了128比特的异或操作。解密过程与加密过程完全相同,只是圈密钥注入顺序与加密相反。128比特密钥Camellia算法的加密过程如图1所示。 密钥扩展 Camellia算法的密钥扩展遵循了严格的设计准则,如实现简单且与加、解密过程共用部件,密钥配置时间小于加密时间,支持在线密钥生成,没有等效密钥,能够抵抗相关密钥攻击和滑动攻击等。整个过程只需通过三个中间变量,KL=K,K=0KA的简单移位即可得到子密钥kwt,ku和klv,且中间生成过程与加密过程共用了部件F。 3 Camellia算法的安全性 设计者用差分扩散概率和线性相关概率的保守上界证明了任何含SPN网络的十六圈Camellia密码对差分密码分析和线性密码分析都是安全的;此外,通过对活动S盒的计数说明十二圈Camellia中没有概率大于2-128的差分特征和线性特征;带或不带FL层的十圈Camellia都具有伪随机置换特性,能够抵抗截断差分攻击和线性密码分析;设计者还声称Camellia能够抵抗不可能差分攻击、Boomerang攻击、高阶差分攻击、相关密钥攻击、插入攻击、Slide攻击、线性和攻击及Square攻击。在密钥的安全性上,一方面不存在等效密钥;另一方面,子密钥来自主密钥的加密结果KA和KB,改变主密钥并不能获得预想的KA和KB,反之亦然,因而无法控制和预测子密钥之间的关系,从而相关密钥攻击难以成功。由于密钥长度不少于128比特,以当前的计算能力还无法对Camellia成功实施诸如密钥穷举搜索攻击、时间存储权衡攻击、字典攻击和密钥匹配等类型的强力攻击。 4 Camellia算法在各种平台上的性能比较 评测一个分组密码的好坏,除了要求其具有高的安全性外,还要求算法在应用平台上实现简单。Camellia算法在设计时充分考虑到了这一点,下面给出其在各种平台上的性能参数。评测算法在软件平台上实现性能时,首要考虑其速度,其次还要看算法实现时所需的存储空间,表1前半部分给出了Camellia算法在常用的32位处理器上各种软件平台的实现性能。高的加密速度和低的存储需求,表明Camellia算法可以有效地应用于各种软件系统中。从表1后半部分可以看出Camellia算法在高端和低端的智能卡平台上同样有着良好的性能;由于Camellia算法的密钥扩展与加、解密过程有共用部分,所以其硬件平台所需的芯片面积大大减少,降低了硬件成本,便于推广应用,详细参数见表2。 表1 Camellia算法在软件和智能卡平台上的性能环 境语 言速度加、解密RAM合计ROM合计PIII700MHz128MB256 L2-cacheVC++ 1GHz512MB256 ““Intel 8051 12MHzAssembly10217 5MHzAssembly35951   106bytes1698bytesMC68HC705 B16 “ 表2 Camellia算法在硬件平台上的性能环 境设计Lab速度芯片面积加、解密单元合计μμ  从本文可以看出,分组密码加密算法发展到今天,不论是从安全性还是从实用性的角度都越来越强。NESSIE标准中的Camellia加密算法充分考虑到了各种因素,既保证了算法的安全性又考虑到其在各种平台上的实现效率,尤其是针对小硬件的设计思想,使其有着广泛的应用前景。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服