祖冲之序列密码算法ZUC算法Word下载.docx

上传人:wj 文档编号:1511247 上传时间:2023-04-30 格式:DOCX 页数:25 大小:139.05KB
下载 相关 举报
祖冲之序列密码算法ZUC算法Word下载.docx_第1页
第1页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第2页
第2页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第3页
第3页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第4页
第4页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第5页
第5页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第6页
第6页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第7页
第7页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第8页
第8页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第9页
第9页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第10页
第10页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第11页
第11页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第12页
第12页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第13页
第13页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第14页
第14页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第15页
第15页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第16页
第16页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第17页
第17页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第18页
第18页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第19页
第19页 / 共25页
祖冲之序列密码算法ZUC算法Word下载.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

祖冲之序列密码算法ZUC算法Word下载.docx

《祖冲之序列密码算法ZUC算法Word下载.docx》由会员分享,可在线阅读,更多相关《祖冲之序列密码算法ZUC算法Word下载.docx(25页珍藏版)》请在冰点文库上搜索。

祖冲之序列密码算法ZUC算法Word下载.docx

(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)®

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=(X0Å

R1)⊞R2;

(2)W1=R1⊞X1;

(3)W2=R2Å

X2;

(4)R1=S(L1(W1L‖W2H));

(5)R2=S(L2(W2L‖W1H))。

其中S为32比特的S盒变换,定义在附录A中给出;

L1和L2为32比特线性变换,定义如下:

L1(X)=XÅ

(X<

2)Å

10)Å

18)Å

24),

L2(X)=XÅ

8)Å

14)Å

22)Å

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=0101111000100112,

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盒数据均为十六进制表示。

(资料性附录)

模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

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

0b14d499

91872523

251e7804

caac5d66

0657cfa0

0c0fe353

181f6dbf

04a21879

f24c93c6

773b4aa

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2