GM/T 0001.1-2012 祖冲之序列密码算法 第1部分:算法描述
GM/T 0001.1-2012 ZUC stream cipher algorithm—Part 1:Description of the algorithm
基本信息
发布历史
-
2012年03月
研制信息
- 起草单位:
- 中国科学院软件研究所、中国科学院数据与通信保护研究教育中心
- 起草人:
- 冯登国、林东岱、冯秀涛、周春芳
- 出版信息:
- 页数: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,
推荐标准
- DB32/T 2377-2013 中山杉苗木质量分级 2013-12-30
- DB32/T 2376-2013 蓝莓嫩枝扦插育苗技术规程 2013-12-30
- DB32/T 2379-2013 中山杉302扦插育苗技术规程 2013-12-30
- DB32/T 2381-2013 非洲菊盆花质量分级 2013-12-30
- DB32/T 2378-2013 茉莉扦插育苗技术规程 2013-12-30
- DB32/T 2385-2013 梨果实主要风味品质的测定——HPLC 法 2013-12-30
- DB32/T 2383-2013 微型月季“粉姬”盆花质量分级 2013-12-30
- DB32/T 2384-2013 非洲菊盆花生产技术规程 2013-12-30
- DB32/T 2382-2013 杨树人工林修枝技术规程 2013-12-30
- DB32/T 2380-2013 薄壳山核桃早实丰产栽培技术规程 2013-12-30