微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 3GPP 内核算法KASUMI的IP设计与测试

3GPP 内核算法KASUMI的IP设计与测试

时间:11-03 来源:3721RD 点击:

密钥,而在算法中的每一轮所使用的子密钥都是由这个128比特的密钥衍生而来的。每轮的密钥都通过两组16比特的数组Kj和Kj(j=1…8),以如下的方法生成:

128比特的密钥被分为每组16比特的8组:

K = K1 || K2 || K3 || K4 || K5 || K6 || K7 ||K8

第二组密钥Kj由Kj 以如下方法生成:

Kj = Kj Cj(j=1…8,Cj为表1所示的16进制的常量)

表1 密钥扩展时的常量

Tab.1 The constant used for the expander of the key

C1

C2

C3

C4

C5

C6

C7

C8

0x0123

0x4567

0x89AB

0xCDEF

0xFEDC

0xBA98

0x7654

0x3210

继而子密钥(KL、KO和KI)如表2所定义的那样,通过循环移位得到,其中有如下的定义:

D <<< n 数据D循环左移n位(特别指出D <<< 1 = ROL(D)。)

表2 子密钥的计算

Tab.2 The calculation of the subkey

1

2

3

4

5

6

7

8

KLi,1

K1<<<1

K2<<<1

K3<<<1

K4<<<1

K5<<<1

K6<<<1

K7<<<1

K8<<<1

KLi,2

K3

K4

K5

K6

K7

K8

K1

K2

KOi,1

K2<<<5

K3<<<5

K4<<<5

K5<<<5

K6<<<5

K7<<<5

K8<<<5

K1<<<5

KOi,2

K6<<<8

K7<<<8

K8<<<8

K1<<<8

K2<<<8

K3<<<8

K4<<<8

K5<<<8

KOi,3

K7<<<13

K8<<<13

K1<<<13

K2<<<13

K3<<<13

K4<<<13

K5<<<13

K6<<<13

KIi,1

K5

K6

K7

K8

K1

K2

K3

K4

KIi,2

K4

K5

K6

K7

K8

K1

K2

K3

KIi,3

K8

K1

K2

K3

K4

K5

K6

K7

2.2 f8流加密模式

保密性算法f8是用保密性密钥(CK)来加密和解密数据块的流加密算法,数据块的长度可以从1-20000位。该算法使用的是OFB模式下的KASUMI作为密钥流发生器。

基于块密码操作的标准流密码模式有计数器模式和OFB模式,而f8算法并不只是其中之一。计数器模式下的密钥流发生器用计数器作为它的一个输入,该计数器作用于每一个密钥流块时都需要更新。F8流加密模式可以看作是两种标准模式的结合,并且利用了反馈数据的预白化。输出反馈,计数器和预白化3个特征按如下方式共同作用:首先,新产生的密钥流块被计数器值和预白化数据块按位异或进行修正,然后在送回发生器函数作为其输入。如图5所示:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top