好文档 - 专业文书写作范文服务资料分享网站

salsa20和ZUC算法详细介绍及对比

天下 分享 时间: 加入收藏 我要投稿 点赞

1 流密码算法概述

1.1 Salsa20算法 1.1.1 算法设计背景

2004年ECRYPT启动了eSTREAM流密码计划的研究项目,Salsa20是最终胜出的7个算法之一。Salsa20是由Daniel J.Bernstein提出的基于hash函数设计的流密码算法,其核心部分是一个基于32比特加、比特异或以及旋转操作的512比特输入512比特输出的hash函数。

现有的对Salsa20攻击方法包括线性分析、差分分析、非随机性分析、相关密钥分析和滑动分析等,其中以滑动攻击尤其是偶数轮的滑动攻击方式最为有效。在软件仿真方面,算法可以在目前的x86处理器上实现4至14cycles/byte的加密效率;且具备尚可的硬件性能。

Salsa20没有申请专利,属于公开的应用算法,为了在多个公共领域的共同架构,Bernstein对算法的实现优化做了进一步研究和改动。 1.1.2 算法介绍

(1)运算符定义

word:word是一个32比特的二进制数,即集合?0,1,一。

(2)异或和移位计算

两个word u,v的异或用公式表示为:

,232?1?中的元素之

u?v??i2i?ui?vi?2uivi?

设非零整数c,c??0,1,2,3用公式表示为:

对一个wordu的c比特左移位表示为u???c,?,

u???c??i2i?cmod32ui

(3)quarterround函数

设y??y0,y1,y2,y3?,输出z?quarterround?y???z0,z1,z2,z3?,则

z1?y1???y0?y3????7? z2?y2???z1?y0????9?

z3?y3???z2?z1????13? z0?y0???z3?z2????18?

两者关系如图所示:

图1 Salsa20的quarterround函数

(4)rowround函数 设y??y0,y1,y2,y3,则:

,y15?,输出z?quarterround??y??0,z1,z2,z3,z,15z?,

?z0,z1,z2,z3??quarterround?y0,y1,y2,y3? ?z5,z6,z7,z4??quarterround?y5,y6,y7,y4? ?z10,z11,z8,z9??quarterround?y10,y11,y8,y9? ?z15,z12,z13,z14??quarterround?y15,y12,y13,y14?

若将输入?y0,y1,y2,y3,,y15?看作是一个方阵

?y0??y4?y8??y12y1y5y9y13y2y6y10y14y3??y7? ?y11?y15?则rowround函数将方阵的每一行重新排列后作为quarterround函数的输入,从而并行地修改了所有行。

(5)columnround函数 设x??x0,x1,x2,x3,则:

,x15?,输出y?quarterround?xy,y???y0,12,y3,,15y?,

?y0,y4,y8,y12??quarterround?x0,x4,x8,x12? ?y5,y9,y13,y1??quarterround?x5,x9,x13,x1? ?y10,y14,y2,y6??quarterround?x10,x14,x2,x6? ?y15,y3,y7,y11??quarterround?x15,x3,x7,x11?

若将输入?x0,x1,x2,x3,,x15?看作是一个方阵

?x0??x4?x8??x12x1x5x9x13x2x6x10x14x3??x7? x11??x15?则columnround函数将方阵的每一列置换后作为quarterround函数的输入,从而并行地修改了所有列。

(6)doubleround函数

doubleround变换由一个列变换(columnround)与一个行变换(rowround)组成。

doubleround?X??rowround?columnround?X??

(7)littleendian函数 设b??b0,b1,b2,b3?,则

littleendian?b??b0?28b1?216b2?224b3

littleendian函数是将8比特序列转变为32比特的可逆函数。

salsa20和ZUC算法详细介绍及对比

1流密码算法概述1.1Salsa20算法1.1.1算法设计背景2004年ECRYPT启动了eSTREAM流密码计划的研究项目,Salsa20是最终胜出的7个算法之一。Salsa20是由DanielJ.Bernstein提出的基于hash函数设计的流密码算法,其核心部分是一个基于32比特加、比特异或以及旋转操作的512比特输入512比
推荐度:
点击下载文档文档为doc格式
4xr4k5w2dr4mu7525eiu
领取福利

微信扫码领取福利

微信扫码分享