GM/T 0001.1-2012 祖冲之序列密码算法 第1部分:算法描述

GM/T 0001.1-2012 ZUC stream cipher algorithm—Part 1:Description of the algorithm

行业标准-密码 中文简体 现行 页数:16页 | 格式:PDF

基本信息

标准号
GM/T 0001.1-2012
标准类型
行业标准-密码
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2012-03-21
实施日期
2012-03-21
发布单位/组织
国家密码管理局
归口单位
国家密码管理局
适用范围
GM/T 0001的本部分描述了祖冲之序列密码算法,可用于指导祖冲之算法相关产品的研制、检测和使用。

发布历史

研制信息

起草单位:
中国科学院软件研究所、中国科学院数据与通信保护研究教育中心
起草人:
冯登国、林东岱、冯秀涛、周春芳
出版信息:
页数:16页 | 字数:23 千字 | 开本: 大16开

内容描述

ICs35,040

L80

备案号:36822-2012

中华人民共和国密码行业标准

Ι-2012

Gˇ/T0001。卜

祖冲之序列密码算法

第△■ⅠH亠亠"PΠ分算法述

zUCstreamcipheralgorithm-

Part1:Descriptionofthealgorithm

⒛12-0S-21发布⒛12-0S-21实施

国家密码管理局发布

GMI/T0001.1-ˉ2012

目次

前言·…………………………Ⅲ

·……………………¨

1范围1

……………·

2术语和约定1

…………·………………

3符号和缩略语1

…………………

4算法描述2

……·………………

4.1算法整体结构2

……………………

4,2线性反馈移位寄存器LFSR…3

……·…………∴……………………

4,3比特重组BR3

··…………

4.4非线性函数F………腱…3

……·……………………

4.5密钥装人…4

4,6算法运行……·……¨………………4

………………

附录A(规范性附录)S盒6

…·………

附录B(资料性附录)模231-1乘法和模231-1加法的实现8

·……·…………·…………………

附录C(资料性附录)算法计算实例9

参考文献·………………¨…………………13

GM/TO001.1—⒛12

亠亠

刖一一口

GM/T0001《祖之列码法》三:

冲序密算包括部分

——第1部分:算法描述;

——第2部分:基于祖冲之算法的机密性算法;

——第3部分:基于祖冲之算法的完整性算法。

本部分为GM/T0001的第1部分。

GM/T0001的本部分依据GB/T1.1-2009给出的规则起草。

本部分内容同3GPPLTE机密性和完整性算法标准ZUC规范(ETSI/SAGETS35.222)保持一

致性。

请注意本文件的某些内涉及专利。本文件的发布机构不承

窍g能担识别这些专利的责任。

本部分附录A为规范性附录,附录B和附录C为资料性附录。

本部分由国家密码管理局提出并归口。

本部起草:中国科学研所、

分单位院软件究中国科学院数据与通信保护研究教育中心。

主要起人:冯登国、、、。

本部分草林东岱冯秀涛周春芳

GM/T0001‘1-⒛12

祖冲之序列密码算法

第1部分:算法描述

1范围

GM/TO001的本部分描述了祖冲之列密码法,可用于指导之法相品、

序算祖冲算关产的研制检测

和使用。

2术语和约定

以下术语和约定适用于锅文件。

2.1

比特"t

二进制字符0和1称之为比特。

2.2

字节byte

由8个比特组成的比特串称之为字节。

2.3

字word

由2个以上(包含2个)比特组成的比特串称之为字。

本部分主要使用31比特字和32比特字。

2.4

字表示wordrepresentation

本部分字默认采用十进制表示。当字采用其他进制表示时,总是在字的表示之前或之后添加指示

。,前0x指六,后2指二。

符例如缀示该字采用十进制表示缀下角标示该字采用进制表示

2.5

鬲低位顺序"tordering

本部分规定字的最高位总是位于字表示中的最左边,最低位总是位于字表示中的最右边。

3符号和缩略语

3.1运算符

+算术加法运算

mod氅数取余运算

①按比特位逐位异或运算

曰模232加法运算

‖字符串连接符

·最16比

H取字的高特

·16比

L取字的最低特

<(<屁32比特字左循环移尼位

>>花32比特字右移乃位

GM/T0001.⒈-2012

→向量赋值给向量按分量逐量

丝L竺L,即分赋值

3.2符号

下列符号适用于本部分:

··16个

%,sl,s2,·,s15线性反馈移位寄存器的31比特寄存器单元变量

X°,X1,X2,X3比特重组输出的4个32比特字

JFel,R2非线性函数F的2个32比特记忆单元变量

W非线性函数F输出的32比特字

z算法每拍输出的32比特密钥字

乃初始种子密钥

初始向量

D用于

3.3缩略语

下列缩略语

ZUC

I'FSR

BR

F

算法

祖冲);中层是比

特重组(B

图1祖冲之算法结构图

GM/T00O1.1-2012

4.2线性反馈移位寄存器LFsR

4.2.1概述

LFSR包括16个31比特寄存器单元变量如,s【,…,s15。

LFSR的运行模式有2种:初始化模式和工作模式。

4.2,2初始化模式

在初始化模式下,I'FSR接收一31比仍“F的32比

个特字。是由非线性函数特输出W通过舍弃

最低位比特得到,即=W>>1。在初始化模式下,I'FSR计算过程如下:

I'FSRWithInitiahsati°

nⅨ颅

ode(zt)

(

(1)v=215s15+21]s4+(1+2:)s。

m

(2)s16=(v+

(3)如果ss16=231-—1;

(4)(sⅡ·

,s16)→(s0,s1,¨

,s1返,s15)。

4.2.3工作

在工作獬

LFSR

{(1鳎

(2)

(3)

4,3比特重组B

比特重组从L单元中抽取128比特组成4个32比特BR的具体

计算过程如下:

BitReconstruCtion()

(

(1)X。=s15H‖s14△;

(2)Xl=sI1Ls9H;

(3)X2=s7L‖H;

(4)X3=s2L‖

s。H。

)

4.4非线性函数F

F包含2个32比特记忆单元变量R]和R2。

F的输人为3个32比XO、XlXˉ一32比W。F的

特字、2,输出为个特字计算过程如下:

F(X0,Xl,X2)

{

GM/T0001.1—2012

(1)W=(XO0RI)田R2;

(2)Wl=R1曰X1;

(3)W2=R20X2;

(4)Rl=S(L1(W1.{W2H));

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

)。

其中S为32比特的S盒变换,定义在附录A中给出;Ll和L2为32比特线性变换,定义如下:

L1(X)=X0(X<((2)0(X(((10)⊙(X<((18)0(X((<24),

L2(X)=X0(X<((8)0(X<<<14)0(X((<22)0(X((<30)。

4.5密钥装入

密钥装人过程将128比特的初始密钥乃和128比特的初量fv扩16个31比

始向展为特字作为

LFSR寄存器单元变量助,sⅡ…,s15的初始状态。设乃和扌v分

别为

乃汔……乃

。l‖

‖15

腌‖

£·…·

vl||…

%||犭|{Jv15,

乃Jv氵8比j≤

其中i和均为特字节,0≤15。密钥装人过程如下:

(1)D为240比特的量,可下16个15比

常按如方式分成特的子串:

D=dO||″……·

l‖|d15,

其中:

d。==1000100110101112,

1==0100110101111002,

,

2==1100010011010112,

推荐标准