现代密码学第五讲:流密码(二)

现代密码学第五讲:流密码(二)

ID:5503581

大小:897.50 KB

页数:70页

时间:2017-11-14

现代密码学第五讲:流密码(二)_第1页
现代密码学第五讲:流密码(二)_第2页
现代密码学第五讲:流密码(二)_第3页
现代密码学第五讲:流密码(二)_第4页
现代密码学第五讲:流密码(二)_第5页
资源描述:

《现代密码学第五讲:流密码(二)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1流密码(二)《现代密码学》第五讲上讲内容回顾流密码(序列密码)的思想起源流密码技术的发展及分类基于移位寄存器的流密码算法其它流密码算法3本章主要内容Estream推荐软件算法HC-256/128算法Rabbit算法Salsa20算法SOSEMANUK软件算法HC-256/128HC-256HC-256流密码由HongjunWu(大陆旅居新加坡学者)提出。HC-256的特点是使用两张密表P和Q,每一张都包含1024个32比特元素,因此,算法的硬件速度较慢。密钥流生成的每一步,都用非线性反馈函数更新表中一个元素,经过2048步两张

2、表所有的元素都将被更新。每次迭代输出32比特密钥流。HC-256符号定义:+:x+y表示x+ymod232,其中0≤x<232,0≤y<232;-:x-y表示x−ymod1024;⊕:逐位异或OR;

3、

4、:串联;>>:右移操作.x>>n表示x右移n位.<<:左移操作.x>>n表示x左移n位.>>>:右循环移位操作.x>>>n等于((x>>n)⊕(x<<(32−n)),其中0≤n<32,0≤x<232.HC-256符号定义:P:含有1024个32-bit元素的表.表中元素标记为P[i],0≤i≤1023.Q:含有1024个32-bi

5、t元素的表.表中元素标记为Q[i],0≤i≤1023.K:HC-256的256-bit密钥.IV:HC-256的256-bit初始化向量.s:HC-256正在生成的密钥流.在第i步生成的32-bit输出被标记为si.而s=s0

6、

7、s1

8、

9、s2

10、

11、···si

12、

13、si+1

14、

15、···HC-256将256比特密钥和256比特初始变量扩展并装载到P和Q中,然后混淆P和Q的内容1.设K=K0

16、

17、K1

18、

19、···

20、

21、K7,IV=IV0

22、

23、IV1

24、

25、···

26、

27、IV7,其中Ki和IVi标记一个32位数.K和IV扩展为矩阵W,Wi为其第i个字(0≤i

28、≤2559):Wi=Ki0≤i≤7Wi=IVi−88≤i≤15Wi=f2(Wi−2)+Wi−7+f1(Wi−15)+Wi−16+i16≤i≤2559初始化过程HC-2562.用W更新表P和QP[i]=Wi+5120≤i≤1023Q[i]=Wi+15360≤i≤10233.运行4096步密钥流生成操作(不输出)i=0;//不断重复直到足够的密钥流生成{j=imod1024;if(imod2048)<1024//将输出字符的序号以2048个为一组{//在组内序号小于1024时P[j]=P[j]+P[j-10]+g1(P[j-3],P

29、[j-1023]);si=h1(P[j-12])⊕P[j];}else{//在组内序号大于1024时Q[j]=Q[j]+Q[j-10]+g2(Q[j-3],Q[j-1023]);si=h2(Q[j-12])⊕Q[j];}end-ifi=i+1;}end-repeatHC-256密钥流生成六个函数:f1(x)=(x>>>7)⊕(x>>>18)⊕(x>>3)f2(x)=(x>>>17)⊕(x>>>19)⊕(x>>10)g1(x,y)=((x>>>10)⊕(y>>>23))+Q[(x⊕y)mod1024]g2(x,y)=((x>>>1

30、0)⊕(y>>>23))+P[(x⊕y)mod1024]h1(x)=Q[x0]+Q[256+x1]+Q[512+x2]+Q[768+x3]h2(x)=P[x0]+P[256+x1]+P[512+x2]+P[768+x3]其中x=x3

31、

32、x2

33、

34、x1

35、

36、x0,x为32-bit,x0,x1,x2和x3为4个字节.x3和x0分别标记x中最高字节和最低字节。f1(x)f2(x)的作用与σ0(x)σ1(x)在SHA-256中的作用相同。g1(x)和h1(x)被表Q用作S盒,g2(x)和h2(x)被表P用作S盒。HC-256HC-128HC

37、-128是HC-256的简化版本。HC-128使用两张密表P和Q,每一张都包含512个32比特元素。密钥流生成的每一步,都用非线性反馈函数更新表中一个元素,经过1024步两张表所有的元素都将被更新。HC-128符号定义:+:x+y表示x+ymod232,其中0≤x<232,0≤y<232;-:x-y表示x−ymod512;⊕:逐位异或OR;

38、

39、:串联;>>:右移操作.x>>n表示x右移n位.<<:左移操作.x>>n表示x左移n位.>>>:右循环移位操作.x>>>n等于((x>>n)⊕(x<<(32−n)),其中0≤n<32,0≤

40、x<232.<<<:左循环移位操作.x<<>(32−n)),其中0≤n<32,0≤x<232.HC-128符号定义:P:含有512个32-bit元素的表.表中元素标记为P[i],0≤i≤511.Q:含有512个32-bit元素的表.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。