GB/T 17964-2008 信息安全技术 分组密码算法的工作模式

GB/T 17964-2008 Information technology—Security techniques—Modes of operation for a block cipher

国家标准 中文简体 被代替 已被新标准代替,建议下载标准 GB/T 17964-2021 | 页数:25页 | 格式:PDF

基本信息

标准号
GB/T 17964-2008
相关服务
标准类型
国家标准
标准状态
被代替
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2008-06-26
实施日期
2008-11-01
发布单位/组织
中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会
归口单位
全国信息安全标准化技术委员会
适用范围
本标准描述了分组密码算法的七种工作模式,以便规范分组密码的使用。

研制信息

起草单位:
无锡江南信息安全工程技术中心、卫士通信息产业股份有限公司、兴唐通信科技股份有限公司、济南得安计算机技术有限公司、上海格尔软件股份有限公司
起草人:
徐强、李元正、谢永泉、李玉峰、高志权、谭武征
出版信息:
页数: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

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

密文犮犻犺犲狉狋犲狓狋

加密后的数据。

/—

犌犅犜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

其中:是明文分组;

C是密文分组;

K是密钥;

是使用密钥的加密运算。

EK

3.2.2解密表达式

对应的解密函数记作:

()

P=DC

是使用密钥的解密运算。

DKK

/—

犌犅犜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移位运算表达式

移位函数定义如下:

已知位变量和位变量,其中,移位函数()的作用是产生以下的位变量

犿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

计数器()

CTRcounter

数据加密算法()

DEAdataencrtionalorithm

ypg

电码本()

ECBelectroniccodebook

初始值()

IVinitializationvalue

输出反馈()

OFBoututfeedback

带非线性函数的输出反馈()

OFBNLFoututfeedbackwithanonlinearfunction

电码本()模式

5犈犆犅

5.1变量定义

)个明文分组,,…,所组成的序列,每个块都为位。

aPPP狀

狇12狇

)密钥。

bK

)个密文分组,,…,所组成的结果序列,每个块都为位。

cCCC狀

狇12狇

5.2犈犆犅的加密方式描述

(),,…,

C=EP犻=12

犻K犻狇

/—

犌犅犜179642008

5.3犈犆犅的解密方式描述

(),,…,

P=DC犻=12

犻K犻狇

注:模式的工作性质见附录。

ECBA

示例:模式的示例参考附录。

ECBB

密码分组链接()模式

6犆犅犆

6.1变量定义

)个明文分组,,…,所组成的序列,每个块都为位。

aPPP狀

狇12狇

)密钥。

bK

)位初始值。

c狀IV

)个密文分组,,…,所组成的结果序列,每个块都为位。

dCCC狀

狇12

定制服务

    推荐标准