祖冲之序列密码算法(ZUC算法)

上传人:夏** 文档编号:472536118 上传时间:2022-12-25 格式:DOCX 页数:32 大小:141.85KB
返回 下载 相关 举报
祖冲之序列密码算法(ZUC算法)_第1页
第1页 / 共32页
祖冲之序列密码算法(ZUC算法)_第2页
第2页 / 共32页
祖冲之序列密码算法(ZUC算法)_第3页
第3页 / 共32页
祖冲之序列密码算法(ZUC算法)_第4页
第4页 / 共32页
祖冲之序列密码算法(ZUC算法)_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《祖冲之序列密码算法(ZUC算法)》由会员分享,可在线阅读,更多相关《祖冲之序列密码算法(ZUC算法)(32页珍藏版)》请在金锄头文库上搜索。

1、祖冲之序列密码算法第1部分:算法描述1 范畴本部分描述了祖冲之序列密码算法,可用于指引祖冲之算法有关产品的研制、检测和使用。2 术语和商定如下术语和商定合用于本部分。2.1比特i二进制字符0和1称之为比特。2.2字节 yte由8个比特构成的比特串称之为字节。2.3字 od由2个以上(涉及2个)比特构成的比特串称之为字。本部分重要使用31比特字和2比特字。2.4 字表达 wor repesenaion本部分字默认采用十进制表达。当字采用其他进制表达时,总是在字的表达之前或之后添加批示符。例如,前缀0x批示该字采用十六进制表达,后缀下角标2批示该字采用二进制表达。2.5 高下位顺序bit orer

2、ing本部分规定字的最高位总是位于字表达中的最左边,最低位总是位于字表达中的最右边。3 符号和缩略语3.1 运算符+ 算术加法运算d 整数取余运算 按比特位逐位异或运算 模2加法运算 字符串连接符H 取字的最高16比特L 取字的最低1比特k 3比特字右移位b 向量a赋值给向量b,即按分量逐分量赋值3.2 符号下列符号合用于本部分:0,1,s2,s1线性反馈移位寄存器的16个31比特寄存器单元变量X0,X1,X,X3比特重组输出的4个2比特字R, R2非线性函数F的2个32比特记忆单元变量非线性函数F输出的2比特字Z算法每拍输出的2比特密钥字k初始种子密钥iv初始向量D用于算法初始化的字符串常量

3、3.3 缩略语下列缩略语合用于本部分:ZUC 祖冲之序列密码算法或祖冲之算法FSR 线性反馈移位寄存器BR 比特重组F 非线性函数4 算法描述4.1 算法整体构造祖冲之算法逻辑上分为上中下三层,见图1。上层是1级线性反馈移位寄存器(LSR);中层是比特重组(B);下层是非线性函数。图 1 祖冲之算法构造图4.2 线性反馈移位寄存器LFSR4.2.1 概述LFR涉及16个1比特寄存器单元变量s0, 1,,s1。LS的运营模式有2种:初始化模式和工作模式。4.2. 初始化模式在初始化模式下,LFS接受一种1比特字u。u是由非线性函数F的3比特输出通过舍弃最低位比特得到,即W 1。在初始化模式下,F

4、R计算过程如下:SihIntilisainMode(u)(1) v =15 s15 + 13 + 22s10 220 s+ (1 + 2)s0 md (-);(2) 6=(v+u) mod (2311);(3) 如果16=0,则置s16=311;(4) (s1, s2, , 1, 16) (0, s1, ,14, s5)。4.2. 工作模式在工作模式下,LSR不接受任何输入。其计算过程如下:LFSRWthWorkMd()(1) s6 = 21s1 +1+ 2s0 + 220 4+ (12)sod (21);(2) 如果s6=,则置s1=231-1;(3) (s1, s, , s5, s16)

5、(, s1, , 4,s15)。4.3 比特重组BR比特重组从LF的寄存器单元中抽取12比特构成4个32比特字X、X、X2、3。R的具体计算过程如下:BitReconstrctin()(1) X0 = s5Hs14L;(2) X s11LH;(3) 2=s7LsH;(4) X3 2Ls0H。4.4 非线性函数FF涉及2个2比特记忆单元变量1和2。F的输入为3个3比特字0、X、2,输出为一种32比特字。F的计算过程如下: (X0, X1,X2)(1) W(X0 R1) R2;(2) 1= R1 ;(3) W2= R2 X2;(4) = S(L1(W1LW2H));(5) R2= (L2(WLW1

6、H)。其中S为2比特的盒变换,定义在附录A中给出;1和L为32比特线性变换,定义如下:L1(X) = ( 2) (X10) (X 1) (X ),L2(X) = X (X 8) (X14) (X 2) (X 1)。4.2 工作阶段一方面执行下列过程一次,并将F的输出W舍弃:(1) BitReconstuction();(2) F (X, X1, 2);(3) LFSWithWrkMoe()。然后进入密钥输出阶段。在密钥输出阶段,每运营一种节拍,执行下列过程一次,并输出一种3比特的密钥字Z:(1) BitRecostutin();(2) ZF (X0, X1, X) X;(3) LFRWitho

7、rkMode()。附录A(规范性附录)S盒3比特S盒S由4个小的88的S盒并置而成,即S=(S0, S1, 2, ),其中S2,S1=S3。S0和S1的定义分别见表和表2。设S(或S)的比特输入为x。将x视作两个进制数的连接,即x=h|l,则表 (或表2)中第h行和第l列交叉的元素即为S0(或S1)的输出S0(x)(或S(x)。设S盒S的32比特输入X和3比特输出Y分别为:X x0 x1 x2 3,Y = 1 2 y3,其中xi和yi均为8比特字节,i= 0, 1,, 。则有yi i(xi), i=0, , 2, 。表 0盒01234578BCDF03E725B4CE030454980996D

8、CBB1B92F9D6A52D1D03039024D4E84994CED99DB8548B296C3CDC181E4369CB5DFD39630D3476BAEDC5F3BB4210659B53EF5E3147F5AA4D845BA51C64A6D517891F8CF8E01D3D73B4BDAEBC9E98F87D73A06F2FC8B1B30223287C389C7C965907BFEF00297523576A6410FAC269588ABA3B18942E1E5EDD0C16645CC59475257CAC0E8ABE2A2767E644A26CC2939FF1F6F36250689E2713DD640C0F8877B250530C30EA7B7A1E8A96F8D27DB13A0F457A9DFEE7846表2 盒012579ACDEF05C63713B8869F3DA5B9AAFD718CC90CA61A30E3172409F424426698D93E10766A7393E133B562AC06DB5266BFCBA62484DD21106369C1CFF62752BB69F5D8757844CD2C

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号