GB/T 33133.1-2016 信息安全技术 祖冲之序列密码算法 第1部分:算法描述
GB/T 33133.1-2016 Information security technology—ZUC stream cipher algorithm—Part 1:Algorithm description
基本信息
发布历史
-
2016年10月
研制信息
- 起草单位:
- 北京信息科学技术研究院、中国科学院软件研究所、中国科学院数据与通信保护研究教育中心、北京创原天地科技有限公司
- 起草人:
- 冯登国、林东岱、冯秀涛、周春芳、刘辛越
- 出版信息:
- 页数:17页 | 字数:28 千字 | 开本: 大16开
内容描述
ICS35.040
L80GB
中华人民共和国国彖标准
GB/T33133.1—2016
信息安全技术祖冲之序列密码算法
第1部分:算法描
Informationsecuritytechnology——ZUCstreamcipheralgorithm—
Part1:Algorithmdescription
2016-10-13发布2017-05-01实施
GB/T33133.1—2016
目次
前言m
引言N
1范围1
2规范性引用文件1
3术语和定义1
4符号和缩略语2
4.1运算符2
4.2符号2
4.3缩略语2
5算法流程2
5.1算法结构2
5.2线性反馈移位寄存器LFSR3
5.3比特重组BR4
5.4非线性函数F4
5.5密钥装入4
5.6算法运行5
附录A(规范性附录)S盒6
附录B(资料性附录)模沪一1乘法和模2汉一1加法的实现8
附录C(资料性附录)算法计算实例9
参考文献13
T
GB/T33133.1—2016
■ir■■i
刖吕
GB/T33133«信息安全技术祖冲之序列密码算法》分为以下3部分:
——第1部分:算法描;
——第2部分:保密性算法;
——第3部分:完整性算法。
本部分为GB/T33133的第1部分。
本部分按照GB/T1.1—2009给出的规则起草。
本部分由国家密码管理局提出°
本部分由全国信息安全标准化技术委员会(SAC/TC260)归口。
本部分起草单位:北京信息科学技术研究院、中国科学院软件研究所、中国科学院数据与通信保护
研究教育中心、北京创原天地科技有限公司。
本部分主要起草人:冯登国、林东岱、冯秀涛、周春芳、刘辛越。
m
GB/T33133.1—2016
引言
本部分的目标是保证祖冲之序列密码算法使用的正确性,为国内企业正确研发使用祖冲之算法的
相关设备提供指导。
本部分修改采用如下国际标准:
ETSI/SAGETS35.221.Specificationothe3GPPConfidentialityandIntegrityAlgorithms128-
EEA3&128-EIA3.Document1:128-EEA3and128-EIA3Specification.
ETSI/SAGETS35.222.Specificationothe3GPPConfidentialityandIntegrityAlgorithms128-
EEA3&128-EIA3.Document2:ZUCSpecification.
ETSI/SAGETS35.223.Specificationothe3GPPConfidentialityandIntegrityAlgorithms128-
EEA3&128-EIA3.Document3:Implementor^sTestData.
ETSI/SAGETR35.924.Specificationothe3GPPConfidentialityandIntegrityAlgorithms128-
EEA3&128-EIA3.Document4:DesignandEvaluationReport.
本文件的发布机构请注意,声明符合本文件时,可能涉及《一种序列密码实现方法和装置》(专利号:
ZL2C0910086409.9)和《一种完整性认证方法》(专利号:ZL200910243440.9)相关专利的使用。
本文件的发布机构对于该专利的真实性、有效性和范围无任何立场。
该专利的持有人已向本文件的发布机构保证,他愿意同任何申请人在合理且无歧视的条款和条件
下,就该专利授权许可进行谈判。该专利的持有人已在本文件的发布机构备案。相关信息可以通过以
下联系方式获得:
专利持有人姓名:中国科学院数据与通信保护研究教育中心、中国科学院软件研究所
地址:北京市海淀区闵庄路甲89号邮编:100093、北京市中关村南四街4号邮编:100190
请注意除上述专利外,本文件的某些内容仍可能涉及专利。本文件的发布机构不承担识别这些专
利的责任。
IV
GB/T33133.1—2016
信息安全技术祖冲之序列密码算法
第1部分:算法描
1范围
GB/T33133的本部分给出了祖冲之序列密码算法的一般结构,基于该结构可实现本标准其他各
部分所规定的密码机制。
本部分适用于祖冲之序列密码算法相关产品的研制、检测和使用,可应用于涉及非国家秘密范畴的
商业应用领域。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T25069—2010信息安全技术术语
3术语和定义
GB/T25069—2010界定的以及下列术语和定义适用于本文件。
3.1
祖冲之序列密码算法ZUCStreamCipher
祖冲之序列密码算法是中国自主研制的流密码算法,是运用于下一代移动通信4G网络中的国际
标准密码算法,该算法包括祖冲之算法、保密性算法和完整性算法三个部分。
3.2
位bit
二进制数字binarydigit
二进制计数制中使用的数字0或1。
3.3
字节byte
一种由若干位组成的串,视作一个单位,通常代表一个字符或字符的一部分。
注1:对一个给定的数据处理系统,一个字节中的位数是固定的。
注2:—个字节通常是8位。
3.4
字word
由2个以上(包含2个)比特组成的比特串。
本部分主要使用31比特字和32比特字。
3.5
字表示wordrepresentation
本部分字默认采用十进制表示。当字采用其他进制表示时,总是在字的表示之前或之后添加指示
符。例如,前缀Ox指示该字采用十六进制表示,后缀下角标2指示该字采用二进制表示。
1
GB/T33133.1—2016
3.6
高低位顺序bitordering
本部分规定字的最高位总是位于字表示中的最左边,最低位总是位于字表示中的最右边。
4符号和缩略语
4.1运算符
下列运算符适用于本文件:
+算术加法运算
ab整数a和/丿的乘积
赋值操作符
mod整数模运算
㊉按比特位逐位异或运算
田模旷加法运算
II字符串或字节串连接符
・h取字的最高16比特
・i.取字的最低16比特
〈〈仏32比特字循环左移怡位
32比特字右移k位
Qfb向量a赋值给向量方,即按分量逐分量赋值
4.2符号
下列符号适用于本文件:
So小,S2,…,5线性反馈移位寄存器的16个31比特寄存器单元变量
X°,X|,X2,X:<比特重组输出的4个32比特字
Ri,R2非线性函数F的2个32比特记忆单元变量
非线性函数F输出的32比特字
昭乩与X】进行模2腔加法运算输出的32比特字
w2/?2与X2按比特位逐位异或运算输出的32比特字
Z算法每拍输出的32比特密钥字
k初始种子密钥
iv初始向量
d.15比特的字符串常量异=0,1,2,…,15
F非线性函数
L输出密钥字长度
4.3缩略语
下列缩略语适用于本文件:
LFSR线性反馈移位寄存器(LinearFeedbackShiftRegister)
BR比特重组(EitReorganization)
5算法流程
5.1算法结构
祖冲之算法由线性反馈移位寄存器(LFSR)、比特重组(BR)和非线性函数F组成,见图1。
2
GB/T33133.1—2016
5and2r一1
5.2线性反馈移位寄存器LFSR
5.2.1概
LFSR包括16个31比特寄存器单元变量,…,m。
LFSR的运行模式有2种:初始化模式和工作模式。
5.2.2初始化模式
LFSR接收1个31比特字"的输入,对寄存器单元变量*,.”,•••,$★进行更新,计算过程如下:
LFSRWithlnitialisationModeCw)
{
(1)刃=2"$",+2"st;+2刘sg+2"$4+(1+2*Is。mod(231—1);
(2).$“、=(©+")mod(231—1);
(3)如果S16=O,则置516=2^—1;
(4)(5,,比,…,515,s1“)f(5(;,5I,…,514,S",)o
}
模231-1乘法和模231-1加法的实现参见附录Bo
5.2.3工作模式
LFSR无输入,直接对寄存器单元变量我小,…,m进行更新,计算过程如下:
3
GB/T33133.1—2016
LFSRWithWorkModeO
{
(1)516=2155i5+2"s13+2"sio+2"s4+(1+2*)s°mod(231—1);
(2)如果.sI(S—0,则置s“=2"—1;
(3)(5I,.$2,S15,S16)(S(1,S1,…,Sl4,,5)。
}
5.3比特重组BR
输入为LFSR寄存器单元变量s。,S2,$5*7,5,,sn,514,515,输出为4个32比特字X。、X】XX。
计算过程如下:
BitRcconstruction()
{
(1)Ar;—.S'isTIII5141.;
(2)X|—5|II.||SMI;
(3)A2—.S'7i.||S5TI;
(4)X:•;—521.||5ono
}
5.4非线性函数F
F包含2个32比特记忆单元变量乩和尺2。
F的输入为3个32比特字输出为一个32比特字W。计算过程如下:
F(Xo,X1,X2)
{
(1)W=(X°㊉乩)田/?2;
(2)田X】;
(3)W,=R2㊉X2;
(4)W2H)];
(5)R2=SLL2(W2I.||W1H)]0
}
其中S为32比特的S盒变换,S盒定义见附录A;L]和匸2为32比特线性变换.定义如下:
L】(X)=X㊉(X〈〈〈2)㊉(X〈〈〈10)㊉(X〈〈〈18)㊉(X〈〈〈24),
L2(X)=X㊉(X〈〈〈8)㊉(X〈〈〈14)㊉(X〈〈〈22)㊉(X〈〈〈30)。
5.5密钥装入
将初始密钥k和初始向量怡分别扩展为16个31比特字作为LFSR寄存器单元变量5()小,…,s“
的初始状态。步骤如下:
a)设怡和i-v分别为
koIIkAIIII菇5
和
?V:J||ivA||...II?v15
定制服务
推荐标准
- FZ/T 97027-2012 多轴向经编机 2012-12-28
- FZ/T 97030-2012 压纱型贾卡拉舍尔经编机 2012-12-28
- GA/T 1041-2012 跨区域灭火救援指挥导则 2012-12-28
- FZ/T 97028-2012 双轴向经编机 2012-12-28
- FZ/T 97004-2012 纬编机 双面圆型纬编机 2012-12-28
- FZ/T 96027-2012 摩擦盘式假捻器 2012-12-28
- FZ/T 96023-2012 假捻变形机 2012-12-28
- FZ/T 97029-2012 电子提花无缝成型经编机 2012-12-28
- FZ/T 97017-2012 针织横机针床通用技术条件 2012-12-28
- FZ/T 97003-2012 纬编机 单面圆型纬编机 2012-12-28