祖冲之序列密码算法ZUC算法Word下载.docx
- 文档编号:16449151
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:28
- 大小:80.59KB
祖冲之序列密码算法ZUC算法Word下载.docx
《祖冲之序列密码算法ZUC算法Word下载.docx》由会员分享,可在线阅读,更多相关《祖冲之序列密码算法ZUC算法Word下载.docx(28页珍藏版)》请在冰豆网上搜索。
{
(1)v=215s15+217s13+221s10+220s4+(1+28)s0mod(231-1);
(2)s16=(v+u)mod(231-1);
(3)如果s16=0,则置s16=231-1;
(4)(s1,s2,…,s15,s16)(s0,s1,…,s14,s15)。
}
4.2.3工作模式
在工作模式下,LFSR不接收任何输入。
其计算过程如下:
LFSRWithWorkMode()
(1)s16=215s15+217s13+221s10+220s4+(1+28)s0mod(231-1);
(2)如果s16=0,则置s16=231-1;
(3)(s1,s2,…,s15,s16)(s0,s1,…,s14,s15)。
4.3比特重组BR
比特重组从LFSR的寄存器单元中抽取128比特组成4个32比特字X0、X1、X2、X3。
BR的具体计算过程如下:
BitReconstruction()
(1)X0=s15H‖s14L;
(2)X1=s11L‖s9H;
(3)X2=s7L‖s5H;
(4)X3=s2L‖s0H。
4.4非线性函数F
F包含2个32比特记忆单元变量R1和R2。
F的输入为3个32比特字X0、X1、X2,输出为一个32比特字W。
F的计算过程如下:
F(X0,X1,X2)
(1)W=(X0R1)⊞R2;
(2)W1=R1⊞X1;
(3)W2=R2X2;
(4)R1=S(L1(W1L‖W2H));
(5)R2=S(L2(W2L‖W1H))。
其中S为32比特的S盒变换,定义在附录A中给出;
L1和L2为32比特线性变换,定义如下:
L1(X)=X(X<
2)(X<
10)(X<
18)(X<
24),
L2(X)=X(X<
8)(X<
14)(X<
22)(X<
30)。
4.5密钥装入
密钥装入过程将128比特的初始密钥k和128比特的初始向量iv扩展为16个31比特字作为LFSR寄存器单元变量s0,s1,…,s15的初始状态。
设k和iv分别为
k0‖k1‖……‖k15
和
iv0‖iv1‖……‖iv15,
其中ki和ivi均为8比特字节,0≤i≤15。
密钥装入过程如下:
(1)D为240比特的常量,可按如下方式分成16个15比特的子串:
D=d0‖d1‖……‖d15,
其中:
d0=1000100110101112,
d1=0100110101111002,
d2=1100010011010112,
d3=0010011010111102,
d4=1010111100010012,
d5=0110101111000102,
d6=1110001001101012,
d7=0001001101011112,
d8=1001101011110002,
d9=010*******100112,
d10=1101011110001002,
d11=0011010111100012,
d12=1011110001001102,
d13=0111100010011012,
d14=1111000100110102,
d15=1000111101011002。
(2)对0≤i≤15,有si=ki‖di‖ivi。
4.6算法运行
4.6.1初始化阶段
首先把128比特的初始密钥k和128比特的初始向量iv按照4.5节密钥装入方法装入到LFSR的寄存器单元变量s0,s1,…,s15中,作为LFSR的初态,并置32比特记忆单元变量R1和R2为全0。
然后执行下述操作:
重复执行下述过程32次:
(1)BitReconstruction();
(2)W=F(X0,X1,X2);
(3)LFSRWithInitialisationMode(W>
1)。
4.6.2工作阶段
首先执行下列过程一次,并将F的输出W舍弃:
(2)F(X0,X1,X2);
(3)LFSRWithWorkMode()。
然后进入密钥输出阶段。
在密钥输出阶段,每运行一个节拍,执行下列过程一次,并输出一个32比特的密钥字Z:
(1)BitReconstruction();
(2)Z=F(X0,X1,X2)X3;
附 录 A
(规范性附录)
S盒
32比特S盒S由4个小的8х8的S盒并置而成,即S=(S0,S1,S2,S3),其中S0=S2,S1=S3。
S0和S1的定义分别见表1和表2。
设S0(或S1)的8比特输入为x。
将x视作两个16进制数的连接,即x=h||l,则表1(或表2)中第h行和第l列交叉的元素即为S0(或S1)的输出S0(x)(或S1(x))。
设S盒S的32比特输入X和32比特输出Y分别为:
X=x0‖x1‖x2‖x3,
Y=y0‖y1‖y2‖y3,
其中xi和yi均为8比特字节,i=0,1,2,3。
则有yi=Si(xi),i=0,1,2,3。
表1S0盒
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
3E
72
5B
47
CA
E0
00
33
04
D1
54
98
09
B9
6D
CB
7B
1B
F9
32
AF
9D
6A
A5
B8
2D
FC
1D
08
53
03
90
4D
4E
84
99
E4
CE
D9
91
DD
B6
85
48
8B
29
6E
AC
CD
C1
F8
1E
73
43
69
C6
B5
BD
FD
39
63
20
D4
38
76
7D
B2
A7
CF
ED
57
C5
F3
2C
BB
14
21
06
55
9B
E3
EF
5E
31
4F
7F
5A
A4
0D
82
51
49
5F
BA
58
1C
4A
16
D5
17
A8
92
24
1F
8C
FF
D8
AE
2E
01
D3
AD
3B
4B
DA
46
EB
C9
DE
9A
8F
87
D7
3A
80
6F
2F
C8
B1
B4
37
F7
0A
22
13
28
7C
CC
3C
89
C7
C3
96
56
07
BF
7E
F0
0B
2B
97
52
35
41
79
61
A6
4C
10
FE
BC
26
95
88
8A
B0
A3
FB
C0
18
94
F2
E1
E5
E9
5D
D0
DC
11
66
64
5C
EC
59
42
75
12
F5
74
9C
AA
23
0E
86
AB
BE
2A
02
E7
67
E6
44
A2
6C
C2
93
9F
F1
F6
FA
36
D2
50
68
9E
62
71
15
3D
D6
40
C4
E2
0F
8E
83
77
6B
25
05
3F
0C
30
EA
70
B7
A1
E8
A9
65
8D
27
1A
DB
81
B3
A0
F4
45
7A
19
DF
EE
78
34
60
表2S1盒
注:
S0盒和S1盒数据均为十六进制表示。
附 录 B
(资料性附录)
模231-1乘法和模231-1加法的实现
B.1模231-1乘法
两个31比特字模231-1乘法可以快速实现。
特别地,当其中一个字具有较低的汉明重量时,可以通过31比特的循环移位运算和模231-1加法运算实现。
例如,计算abmod(231-1),其中b=2i+2j+2k。
则
abmod(231-1)=(a<
31i)+(a<
31j)+(a<
31k)mod(231-1),
其中<
31表示31比特左循环移位运算。
B.2模231-1加法
在32位处理平台上,两个31比特字a和b模231-1加法运算c=a+bmod(231-1)可以通过下面的两步计算实现:
1)c=a+b;
2)c=(c&
0x7FFFFFFF)+(c>
31)。
附 录 C
算法计算实例
C.1测试向量1(全0)
输入:
密钥k:
00000000000000000000000000000000
初始向量iv:
00000000000000000000000000000000
输出:
z1:
27bede74
z2:
018082da
初始化:
线性反馈移位寄存器初态:
i
S0+i
S1+i
S2+i
S3+i
S4+i
S5+i
S6+i
S7+i
0044d700
0026bc00
00626b00
00135e00
00578900
0035e200
00713500
0009af00
004d7800
002f1300
006bc400
001af100
005e2600
003c4d00
00789a00
0047ac00
t
X0
X1
X2
X3
R1
R2
W
S15
008f9a00
f100005e
af00006b
6b000089
67822141
62a3a55f
4563cb1b
8ac7ac00
260000d7
780000e2
5e00004d
474a2e7e
119e94bb
4fe932a0
28652a0f
50cacb1b
4d000035
13000013
890000c4
c29687a5
e9b6eb51
291f7a20
7464f744
e8c92a0f
9a0000bc
c400009a
e2000026
29c272f3
8cac7f5d
141698fb
3f5644ba
7eacf744
ac000078
350000af
2c85a655
24259cb0
e41b0514
006a144c
00d444ba
cb1b00f1
cbfbc5c0
44c10b3a
50777f9f
07038b9b
0e07144c
2a0f008f
e083c8d3
7abf7679
0abddcc6
69b90e2b
d3728b9b
f7448ac7
147e14f4
b669e72d
aeb0b9c1
62a913ea
c5520e2b
44ba50ca
982834a0
f095d694
8796020c
7b591cc0
f6b213ea
144ce8c9
e14727d6
d0225869
5f2ffdde
70e21147
初始化后线性反馈移位寄存器状态:
7ce15b8b
747ca0c4
6259dd0b
47a94c2b
3a89c82e
32b433fc
231ea13f
31711e42
4ccce955
3fb6071e
161d3512
7114b136
5154d452
78c69a74
4f26ba6b
3e1b8d6a
有限状态机内部状态:
R1=14cfd44c
R2=8c6de800
密钥流:
z
7c37ba6b
b1367f6c
1e426568
dd0bf9c2
3512bf50
a0920453
286dafe5
7f08e141
fe118d6a
d4522c3a
e955463d
4c2be8f9
c7ee7f13
0c0fa817
27bede74
3d383d04
7a70e141
9a74e229
071e62e2
c82ec4b3
dde63da7
b9dd6a41
018082da
13d6d780
C.2测试向量2(全1)
ffffffffffffffffffffffffffffffff
0657cfa0
7096398b
7fc4d7ff
7fa6bcff
7fe26bff
7f935eff
7fd789ff
7fb5e2ff
7ff135ff
7f89afff
7fcd78ff
7faf13ff
7febc4ff
7f9af1ff
7fde26ff
7fbc4dff
7ff89aff
7fc7acff
ff8f9aff
f1ffff5e
afffff6b
6bffff89
b51c2110
30a3629a
ff8f9aff
76e49a1a
edc9acff
26ffffd7
78ffffe2
5effff4d
a75b6f4b
1a079628
8978f089
5e2d8983
bc5b9a1a
4dffff35
13ffff13
89ffffc4
9810b315
99296735
35088b79
5b9484b8
b7298983
9affffbc
c4ffff9a
e2ffff26
4c5bd8eb
2d577790
c862a1cb
2db5c755
5b6b84b8
acffff78
35ffffaf
a13dcb66
21d0939f
4487d3e3
60579232
c0afc755
9a1afff1
cc5ce260
0c50a8e2
83629fd2
29d4e960
53a99232
8983ff8f
dada0730
b516b128
ac461934
5e02d9e5
bc05e960
84b8edc9
2bbe53a4
12a8a16e
1bf69f78
7904dddc
f209d9e5
c755bc5b
4a90d661
d9c744b4
ec602baf
0c3c9016
1879dddc
9232b729
76bc13d7
a49ea404
2cb05071
0b9d257b
09a339ad
1291d190
25554227
36c09187
0697773b
443cf9cd
6a4cd899
49e34bd0
56130b14
20e8f24c
7a5b1dcc
0c3cc2d1
1cc082c8
7f5904a2
55b61ce8
1fe46106
R1=b8017bd5
R2=9ce2de5c
3fc81ce8
c2d141d1
4bd08879
42271346
aa131b11
09d7706c
668b56df
13f56dbf
27ea6106
82c8f4b6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 序列 密码 算法 ZUC