GB/T 17964-2008 信息安全技术 分组密码算法的工作模式
GB/T 17964-2008 Information technology—Security techniques—Modes of operation for a block cipher
基本信息
发布历史
-
2000年01月
-
2008年06月
-
2021年10月
研制信息
- 起草单位:
- 无锡江南信息安全工程技术中心、卫士通信息产业股份有限公司、兴唐通信科技股份有限公司、济南得安计算机技术有限公司、上海格尔软件股份有限公司
- 起草人:
- 徐强、李元正、谢永泉、李玉峰、高志权、谭武征
- 出版信息:
- 页数:25页 | 字数:44 千字 | 开本: 大16开
内容描述
犐犆犛35.040
犔80
中华人民共和国国家标准
/—
犌犅犜179642008
代替/—
GBT179642000
信息安全技术
分组密码算法的工作模式
——
犐狀犳狅狉犿犪狋犻狅狀狋犲犮犺狀狅犾狅犛犲犮狌狉犻狋狋犲犮犺狀犻狌犲狊
犵狔狔狇
犕狅犱犲狊狅犳狅犲狉犪狋犻狅狀犳狅狉犪犫犾狅犮犽犮犻犺犲狉
狆狆
20080626发布20081101实施
中华人民共和国国家质量监督检验检疫总局
发布
中国国家标准化管理委员会
/—
犌犅犜179642008
目次
前言Ⅲ
引言Ⅳ
1范围1
2规范性引用文件1
3术语和定义1
3.1术语1
3.2定义2
4缩略语和符号3
电码本()模式
5ECB3
5.1变量定义3
5.2ECB的加密方式描述3
5.3ECB的解密方式描述4
密码分组链接()模式
6CBC4
6.1变量定义4
6.2CBC的加密方式描述4
6.3CBC的解密方式描述4
密码反馈()模式
7CFB5
7.1参数定义5
7.2变量定义5
7.3CFB的加密方式描述5
7.4CFB的解密方式描述6
7.5建议6
输出反馈()模式
8OFB7
8.1参数定义7
8.2变量定义7
8.3OFB的加密方式描述7
8.4OFB的解密方式描述8
计数器()模式
9CTR8
9.1变量定义8
9.2CTR的加密方式描述8
9.3CTR的解密方式描述9
分组链接()模式
10BC9
10.1变量定义9
10.2BC的加密方式描述9
10.3BC的解密方式描述10
带非线性函数的输出反馈()模式
11OFBNLF10
11.1变量定义10
11.2OFBNLF的加密方式描述10
Ⅰ
/—
犌犅犜179642008
11.3OFBNLF的解密方式描述11
附录(规范性附录)工作模式的性质
A12
电码本()工作模式的性质
A.1ECB12
密码分组链接()工作模式的性质
A.2CBC12
密码反馈()工作模式的性质
A.3CFB13
输出反馈()工作模式的性质
A.4OFB14
计数器()工作模式的性质
A.5CTR14
分组链接()工作模式的性质
A.6BC15
带非线性函数的输出反馈()工作模式的性质
A.7OFBNLF15
附录(资料性附录)工作模式举例
B17
B.1概述17
B.2ECB方式17
B.3CBC方式17
B.4CFB方式18
B.5OFB方式18
B.6CTR方式18
参考文献20
Ⅱ
/—
犌犅犜179642008
前言
本标准代替/—《信息技术安全技术位块密码算法的操作方式》。
GBT179642000狀
本标准与/—相比主要变化如下:
GBT179642000
———修改了标准的名称;
———修改了部分术语的定义;
———修改了加密解密的关系表达式;
———增加了分组算法的计数器()、分组链接()和带非线性函数的输出反馈()三种
CTRBCOFBNLF
工作模式及其说明;
———在资料性附录中增加了计数器()工作模式的加密解密实例说明;
BCTR
———修改了部分描述性文字的语法。
本标准的附录是规范性附录,附录是资料性附录。
AB
本标准由国家密码管理局提出。
本标准由全国信息安全标准化技术委员会归口。
本标准起草单位:无锡江南信息安全工程技术中心、卫士通信息产业股份有限公司、兴唐通信科技
股份有限公司、济南得安计算机技术有限公司、上海格尔软件股份有限公司。
本标准主要起草人:徐强、李元正、谢永泉、李玉峰、高志权、谭武征。
本标准所代替标准的历次版本发布情况为:
———/—。
GBT179642000
Ⅲ
/—
犌犅犜179642008
引言
本标准中对于某些所描述的工作模式来说,可能需要对明文变量进行填充,具体填充技术不属于本
标准的范围。
某些工作模式需要用到初始值,的定义不属于本标准范围。
IVIV
当使用这些工作模式中的某一种时,所有通信方都要选择并使用同样的参数值。
本标准编制过程中得到了国家商用密码应用技术体系总体工作组的指导。
Ⅳ
/—
犌犅犜179642008
信息安全技术
分组密码算法的工作模式
1范围
本标准描述了分组密码算法的七种工作模式,以便规范分组密码的使用。
2规范性引用文件
下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有
的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究
是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。
/—信息技术信息交换用七位编码字符集(/:)
GBT19881998evISOIEC6461991
q
3术语和定义
下列术语和定义适用于本标准。
3.1术语
3.1.1
分组链接工作模式()
犫犾狅犮犽犮犺犪犻狀犻狀犅犆狅犲狉犪狋犻狅狀犿狅犱犲
犵狆
分组密码算法的一种工作模式,当前的明文分组与所有前面密文分组的异或值相异或运算后再进
行加密得到当前的密文分组。
3.1.2
分组密码犫犾狅犮犽犮犻犺犲狉
狆
又称块密码算法,一种对称密码算法,将明文划分成固定长度的分组进行加密。
3.1.3
分组密码算法工作模式犫犾狅犮犽犮犻犺犲狉狅犲狉犪狋犻狅狀犿狅犱犲
狆狆
分组密码算法的使用方式,主要包括电码本模式()、密码分组链接模式()、密码反馈模式
ECBCBC
()、输出反馈模式()、计数器模式()等。
CFBOFBCTR
3.1.4
密码分组链接工作模式()
犮犻犺犲狉犫犾狅犮犽犮犺犪犻狀犻狀犆犅犆狅犲狉犪狋犻狅狀犿狅犱犲
狆犵狆
分组密码算法的一种工作模式,当前的明文分组与前一密文分组进行异或运算后再进行加密得到
当前的密文分组。
3.1.5
密码反馈工作模式()
犮犻犺犲狉犳犲犲犱犫犪犮犽犆犉犅狅犲狉犪狋犻狅狀犿狅犱犲
狆狆
分组密码算法用于构造序列密码的一种工作模式,用密文依次更新存储该密码算法启动变量的反
馈缓冲器。
3.1.6
计数器工作模式()
犮狅狌狀狋犲狉犆犜犚狅犲狉犪狋犻狅狀犿狅犱犲
狆
分组密码算法用于构造序列密码的一种工作模式,通过加密不断变化的计数器来产生密钥序列。
3.1.7
密文犮犻犺犲狉狋犲狓狋
狆
加密后的数据。
1
/—
犌犅犜179642008
3.1.8
密码同步犮狉狋狅狉犪犺犻犮狊狀犮犺狉狅狀犻狕犪狋犻狅狀
狔狆犵狆狔
使密码系统正确处理而进行的协作机制。
3.1.9
解密/
犱犲犮犻犺犲狉犿犲狀狋犱犲犮狉狋犻狅狀
狆狔狆
加密过程对应的逆过程。
3.1.10
电码本工作模式()
犲犾犲犮狋狉狅狀犻犮犮狅犱犲犫狅狅犽犈犆犅狅犲狉犪狋犻狅狀犿狅犱犲
狆
分组密码算法的一种工作模式,明文分组直接作为加密算法的输入,对应的输出作为密文分组。
3.1.11
加密/
犲狀犮犻犺犲狉犿犲狀狋犲狀犮狉狋犻狅狀
狆狔狆
对数据进行密码变换以产生密文的过程。
3.1.12
反馈缓存()()
犉犅犳犲犲犱犫犪犮犽犫狌犳犳犲狉犉犅
用于为加密过程存储输入数据的变量。在启动点,的值为。
FBIV
3.1.13
初始化向量/值/()
犻狀犻狋犻犪犾犻狕犪狋犻狅狀狏犲犮狋狅狉犻狀犻狋犻犪犾犻狕犪狋犻狅狀狏犪犾狌犲犐犞
在密码变换中,为增加安全性或使密码设备同步而引入的用于数据变换的起始数据。
3.1.14
密钥犽犲
狔
控制密码变换操作的关键信息或参数。
3.1.15
带非线性函数的输出反馈模式()
狅狌狋狌狋犳犲犲犱犫犪犮犽狑犻狋犺犪狀狅狀犾犻狀犲犪狉犳狌狀犮狋犻狅狀犗犉犅犖犔犉狅犲狉犪狋犻狅狀
狆狆
犿狅犱犲
分组密码算法的一种工作模式,是和的变体,它的密钥随着每一个分组而改变。
OFBECB
3.1.16
输出反馈工作模式()
狅狌狋狌狋犳犲犲犱犫犪犮犽犗犉犅狅犲狉犪狋犻狅狀犿狅犱犲
狆狆
分组密码算法用于构造序列密码的一种工作模式,用该算法当前时刻的输出作为下一时刻的输入。
3.1.17
明文/
犾犪犻狀狋犲狓狋犮犾犲犪狉狋犲狓狋
狆
待加密的数据。
3.2定义
3.2.1加密表达式
本标准中,由分组密码规定的函数关系记作:
()
C=EP
K
其中:是明文分组;
P
C是密文分组;
K是密钥;
是使用密钥的加密运算。
EK
K
3.2.2解密表达式
对应的解密函数记作:
()
P=DC
K
是使用密钥的解密运算。
DKK
2
/—
犌犅犜179642008
3.2.3位阵列表达式
由一个大写字母表示的变量,如上面的和,它表示一个一维的位阵列。例如:
PC
(,,…,)和(,,…,)
A=aaaB=bbb
12犿12犿
便是两个位阵列,其位从到编号。所有位阵列的记法都是以下标为的位处于最左边。
犿1犿1
模加表达式
3.2.42
模加操作,也称作“异或”运算,用符号表示,应用到阵列和的运算定义为:
2AB
(,,…,)
AB=ababab
1122犿犿
3.2.5位选择表达式
选择的最左边个位以产生一个位阵列的操作记作:
A犼犼
(,,…,)
A=aaa
~犼12犼
仅当(是中的位数)时此操作才有定义。
1犿犿A
≤≤
犼
3.2.6移位运算表达式
移位函数定义如下:
S
犽
已知位变量和位变量,其中,移位函数()的作用是产生以下的位变量
犿X犽F1犽犿SXF犿
≤≤犽|
(是连接运算符,下同):
|
()(,,…,,,,…,)()
SXF=XXXfff犽犿
犽|犽+1犽+2犿12犽<
()(,,…,)()
SXF=fff犽=犿
犽|12犽
其作用是将阵列的各位左移个位置,舍弃,,…,,并将阵列放置在阵列的最右边
X犽XXXFX
12犽
的个位置上。当时,其作用是完全取代。
犽犽=犿FX
此函数的一个特例是以全“”的位变量()开始,并将位变量移到其中。结果为:
1犿I犿犽F
(())(,,…,,,,…,)()
SI犿F=111fff犽犿
犽|12犽<
(())(,,…,)()
SI犿F=fff犽=犿
犽|12犽
其中最左边的位均为“”。
犿-犽1
4缩略语和符号
高级数据加密标准()
AESadvancedencrtionstandard
yp
分组链接()
BCblockchaining
密码分组链接()
CBCciherblockchainin
pg
密码反馈()
CFBciherfeedback
p
计数器()
CTRcounter
数据加密算法()
DEAdataencrtionalorithm
ypg
电码本()
ECBelectroniccodebook
初始值()
IVinitializationvalue
输出反馈()
OFBoututfeedback
p
带非线性函数的输出反馈()
OFBNLFoututfeedbackwithanonlinearfunction
p
电码本()模式
5犈犆犅
5.1变量定义
)个明文分组,,…,所组成的序列,每个块都为位。
aPPP狀
狇12狇
)密钥。
bK
)个密文分组,,…,所组成的结果序列,每个块都为位。
cCCC狀
狇12狇
5.2犈犆犅的加密方式描述
(),,…,
C=EP犻=12
犻K犻狇
3
/—
犌犅犜179642008
5.3犈犆犅的解密方式描述
(),,…,
P=DC犻=12
犻K犻狇
注:模式的工作性质见附录。
ECBA
示例:模式的示例参考附录。
ECBB
密码分组链接()模式
6犆犅犆
6.1变量定义
)个明文分组,,…,所组成的序列,每个块都为位。
aPPP狀
狇12狇
)密钥。
bK
)位初始值。
c狀IV
)个密文分组,,…,所组成的结果序列,每个块都为位。
dCCC狀
狇12
定制服务
推荐标准
- JB/T 12379-2015 一般工程用耐腐蚀双相(奥氏体-铁素体)不锈钢铸件 2015-10-10
- JB/T 12375-2015 印刷机械 金属薄板平板涂布机 2015-10-10
- JB/T 9370-2015 扭转试验机 技术规范 2015-10-10
- JB/T 12395-2015 精镗头 2015-10-10
- JB/T 12398.1-2015 数控无心外圆砂带磨削机床 第1部分:型式与参数 2015-10-10
- JB/T 12398.2-2015 数控无心外圆砂带磨削机床 第2部分:技术条件 2015-10-10
- JB/T 12481-2015 电自动控制器 磁敏温控开关 2015-10-10
- JB/T 12283-2015 饮用水系统零部件用黄铜铸件 2015-10-10
- JB/T 12276-2015 电子蠕变、松弛、持久试验机 2015-10-10
- JB/T 8105.2-2015 真空技术 真空规管接头 第2部分:金属密封 2015-10-10