GB∕T 36624-2018
基本信息
标准号:
GB∕T 36624-2018
中文名称:信息技术 安全技术 可鉴别的加密机制
标准类别:国家标准(GB)
标准状态:现行
出版语种:简体中文
下载格式:.rar .pdf
下载大小:2344KB
相关标签:
信息技术
安全
技术
鉴别
加密
机制
标准分类号
关联标准
出版信息
相关单位信息
标准简介
GB∕T 36624-2018 信息技术 安全技术 可鉴别的加密机制
GB∕T36624-2018
准压缩包解压密码:www.bzxz.net
标准内容
ICS35.040
中华人民共和国国家标准
GB/T36624—2018
信息技术
安全技术
可鉴别的加密机制
Information technology-Security techniques-Authenticated encryption(ISO/IEC19772:2009,MOD)
2018-09-17发布
国家市场监督管理总局
中国国家标准化管理委员会
2019-04-01实施
规范性引用文件
术语和定义
可鉴别的加密机制1
特定符号与标记
具体要求
加密程序
解密程序
可鉴别的加密机制2
特定符号与标记
具体要求
加密程序
解密程序
可鉴别的加密机制3
特定符号与标记
具体要求
M丽数定义
加密程序
解密程序
可鉴别的加密机制4
特定符号与标记
具体要求
加密程序
解密程序
可鉴别的加密机制5
特定符号与标记
具体要求
乘法运算的定义
GB/T36624—2018
GB/T36624—2018
函数G的定义
加密程序
解密程序
附录A(规范性附录)
形式定义
后续OID应用
ASN.1模块
附录B(资料性附录)可鉴别的加密机制的使用指导B.1
可鉴别的加密机制的选择
可鉴别的加密机制1
可鉴别的加密机制2
可鉴别的加密机制3
可鉴别的加密机制4
可鉴别的加密机制5
附录C(资料性附录)
数据示例
可鉴别的加密机制1
可鉴别的加密机制2
可鉴别的加密机制3
可鉴别的加密机制5
参考文献
制》。
本标准按照GB/T1.1一2009给出的规则起草GB/T36624—2018
本标准使用重新起草法修改采用ISO/IEC19772:2009《信息技术安全技术可鉴别的加密机
本标准与ISO/IEC19772:2009的技术性差异及其原因如下:关于规范性引用文件,本标准做了具有技术性差异的调整,以适应我国的技术条件,调整的情况集中反映在第2章“规范性引用文件”中,具体调整如下:·用等同采用国际标准的GB/T15852.1—2008代替了ISO/IEC9797-1(见8.4);·用GB/T17964—2008代替了ISO/IEC10116(见9.3);·用GB/T329072016代替了ISO/IEC18033-3(见第5章);。增加引用了GB/T250692010(见第3章);第3章中,直接采用现行国家标准中已定义的术语定义,删除了部分常见的通用定义。与ISO/IEC19772:2009相比在结构上有较大调整,具体如下对ISO/TEC19772:2009范围一节内容进行修改,其中部分内容移至第5章概述考惠到我国国情及技术的实际应用范围,本标准采用了ISO/IEC19772:2009中第7章至第11章规定的五种可鉴别加密机制,删除ISO/IEC19772:2009中第6章规定的可鉴别加密机制;
将ISO/1EC19772:2009中规范性附录C调整为附录A,相应的,ISO/IEC19772:2009中资料性附录A和附录B分别调整为附录B和附录C;附录C中给出的数据示例,修改为采用SM4算法作为示例。本标准做了下列编辑性修改:
纳入了ISO/IEC19772:2009勘误版本的内容。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。本标准起草单位:中国科学院数据与通信保护研究教育中心、中国科学院软件研究所、北京江南天安科技有限公司。
本标准主要起草人:王琼霄、蔡权伟、张颖君、赵宇航、宋利、吴鹏一、闻楠、林璟、荆继武、王明月、宋天林。
1范围
信息技术安全技术
可鉴别的加密机制
GB/T36624—2018
本标准规定了五种可鉴别的加密机制,通过定义数据审的处理方法来实现以下安全自标:数据保密性,保护数据不会向非授权者泄露:数据完整性,确保数据接收者能够验证数据是否被修改;数据源鉴别,确保数据接收者能够验证数据始发者的身份。本标准给出了五种可鉴别的加密机制ASN1定义本标准适用于需对数据进行保密性、完整性保护及数据源鉴别的应用和系统。2
规范性引用文件
下列文件对手本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T15852.1一2008信息技术安全技术消息鉴别码第1部分:采用分组密码的机制(ISO/IEC9797-1:1999,IDT)bzxZ.net
GB/T17964—2008
3信息安全技术分组密码算法的工作模式GB/T250692010
信息安全技术术语
GB/T32907—2016
S信息安全技术SM4分组密码算法3术语和定义
GB/T15852.1—2008.GB/T17964—2008、GB/T25069—2010界定的以及下列术语和定义适用于本文件。
authenticatedencryption
可鉴别的加密
·种可逆的数据转换,利用密码算法产生数据对应的密文,非授权实体无法在不被发现的情况下对该密文进行修改,同时提供了数据保密性、数据完整性与数据源鉴别3.2
authenticatedencryptionmechanism可鉴别的加密机制
用于实现数据保密性保护并提供数据完整性和数据源鉴别的密码技术,包括加密和解密两个处理过程。
data integrity
数据完整性
数据没有遭受以未授权方式所作的更改或破坏的特性[GB/T25069—2010.定义2.1.36】3.4
分组密码
blockcipher
又称块密码算法,一种对称密码算法,将明文划分成固定长度的分组进行加密1
GB/T36624—2018
【GB/T17964—2008,定义3.1.2]3.5
加密系统
encryptionsystem
用于保护数据保密性的密码技术,包括加密算法、解密算法和密钥生成三个处理过程。3.6
消息鉴别码
message authentication code;MAC利用对称密码技术和秘密密钥,由消息所导出的数据项。任何持有这一秘密密钥的实体,可利用消息鉴别码检查消息的完整性和始发者。[GB/T15852.1—2008.定义3.2.5]3.7
partition
将任意长度的字符申划分成为比特数相同的数据分组,除最后一个分组外。若每个等长的分组包含n比特,最后一个数据分组包含r比特,那么0秘密密钥
secretkey
由特定的一组实体使用的用于对称加密技术的密钥。3.9
对称加密系统
symmetric encryption system
基于对称密码技术的加密系统,加密和解密使用相同的秘密密钥4符号
下列符号适用于本文件。
额外的可鉴别数据
可鉴别的加密的数据
可鉴别的加密机制的输入数据
分组密码解密算法,d<(Y)表示使用分组密码算法及密钥K,对分组长度为n比特的数据Y进行解密得到的结果分组密码加密算法,e(Y)表示使用分组密码算法及密钥K,对分组长度为n比特的数据Y进行加密得到的结果数据始发者和接收者共享的分组密码的秘密密钥,该密钥用于可鉴别的数据加密机制
对D进行分块后,得到的数据分组的数量个数据分组的长度(以比特为单位)标记(tag)长度(以比特为单位)由长度为i比特的0构成的分组
由长度为比特的1构成的分组
逐位异或
字符串连接符号
将数字转换成二进制表示:若是一个整数0≤尺≤2.,那么并。()是一个长度为α的比特块,左侧为高位,该二进制表示的值与k相等将二进制转换为整数表示。若A是一个长度为\的二进制表示,那么#,#(A))=A
5概述
截取比特块X中的左s比特
截取比特块X中的右s比特
GB/T36624—2018
将比特块X左移一位,Y=X≤1的最右一位始终设置为0将比特块X右移一位,Y=X》1的最左一位始终设置为0取长运算,以比特串X作为输入.输出值为X的比特数求模运算
本标准规定的五种可鉴别的加密机制均基于分组密码算法,同时要求数据的始发者和接收者共享密钥。其中,可鉴别的加密机制1和4仅能对加密的数据实现数据鉴别,可鉴别的加密机制2、3、5还可支持对未加密的数据进行数据鉴别。在上述三个支持对未加密数据进行数据鉴别的机制中,被保护的数据可划分为两部分:
D:被加密并进行数据完整性保护的数据:A:额外的可鉴别数据,A被进行数据完整性保护,但是未被加密;A可能为空。本标准中规定的可鉴别的加密机制需满足以下要求,采用可鉴别的加密机制保护数据的始发者和接收者应:
a)协商使用本标准所规定的某个特定的可鉴别的加密机制;协商使用某个特定的分组密码算法,分组密码算法应用使用GB/T32907—2016规定的密码6
算法或国家密码管理部门认可的密码算法;e)共享一个秘密密钥K:除了可鉴别的加密机制4以外的所有机制中,此秘密密钥应作为选定的分组密码算法的密钥;在可鉴别的加密机制4中,此密钥应作为密钥派生程序的输入。本标准中规定的可鉴别的加密机制的ASN.1模块见附录A,其他使用指导参见附录B本标准凡涉及密码算法的相关内容,按国家有关法规实施:凡涉及到采用密码技术解决保密性,完整性、真实性、抗抵赖性需求的应遵循密码相关国家标准和行业标准。6可鉴别的加密机制1
6.1简介
本章定义的可鉴别的加密机制为KeyWrap。具体示例参见附录C的C.2。特定符号与标记
本机制涉及的符号与标记如下:Co.C.....C.
D.D....D.
Ri.R...R.
可鉴别加密过程产生的输出数据,由(m十1)个长度为64比特的分组构成的序列
对数据D进行分块后得到的比特分组序列.由m个长度为64比特的分组构成
在加密和解密过程中计算的比特分组序列,由m个长度为64比特的分组构成
在加密和解密过程中使用的长度为64比特的分组在加密和解密过程中计算得到的长度为128比特的分组3
GB/T36624—2018
3具体要求
本机制使用的分组密码算法应是128位的分组密码算法,即n=128。本机制要求被保护的数据D应至少包含128比特,且数据长度应是64比特的整数倍[即len(D)=64m,m>1]。6.4加密程序
始发者应执行以下步骤来保护数据D:a)将D进行分块,得到一个由m个长度为64比特的分组构成的序列D.Dz,,D。其中,D包含D的第一个64比特.D,包含D的第二个64比特,依此类推b)
将64比特块Y的值设为0xA6A6A6A6A6A6A6A6(十六进制表示),即二进制的(101001101010011010100110)
对于i=1,2,..,m,令R,=D.。
对于i一1,2..…,6m,执行以下四个步骤:Z=ek(YR);
2)Y-Zl甲#();
对于j=1,2,,m-1,令R,=R+1;
R.-Z64。
对于i=1.2...,m.令C,=R.。
上述过程的输出,即数据D的可鉴别的加密数据输出为C=C。IlC,…IlC。加密过程的输出C由(m+十1)个长为64比特的分组构成,比输入D多了64比特。5解密程序
接收者应执行以下步骤来解密和验证可鉴别的加密数据C:如果len(C)不是64的倍数或者是小于192.计算并输出INVALIDa)
将C进行分块,得到一个由m十1个长度为64比特的数据分组构成的序列C..Ci,…C。其b)
中,C。包含C的第一个64比特,C包含C的第二个64比特,依此类推。c)
令Y-C。。
对于i=1.2..,m令R,=C.。
对于=6m,6m-1,…,1执行以下四个步骤:Z=dk([Y#.(i)R.);
Y=Z161:
对于j=m,m-1,.,2.令R,=R,
如果Y=(101001101010011010100110)(即0xA6A6A6A6A6A6A6A6),则输出D=R,R,Ra,否则输出INVALID。
7可鉴别的加密机制2
7.1简介
本章定义的可鉴别的加密机制为CCM。具体示例参见C.3。7.2
2特定符号与标记
本机制涉及的符号与标记如下:B
C..Ca.....C.
D..D.....,D.
7.3具体要求
用于计算标签(tag)值的比特分组GB/T36624—2018
用于计算标签(tag)值的比特分组序列,每个分组为n比特可鉴别加密过程产生的部分输出数据,由m个长度为128比特的分组构成的序列
对数据D进行分块后得到的比特分组序列,由m个长度为128比特的分组构成
8比特的标志
D的长度(以字节为单位),数据长度不包括填充以及长度块DD.包含的字节数
开始变量,长度为(120一8)比特明文标签值,长度为!比特
在解密操作中计算得出的标签值加密后的标签值,长度为!比特用于计算标签值的变量
消息长度域的长度(以字节为单位)在加密和解密过程中计算的长度为128比特的分组在加密和解密过程中计算的长度为128比特的分组在使用此可鉴别的加密机制前,数据的始发者和接收者首先需协商确定以下事项:a)t:标签(tag)的长度(以比特为单位),t的值应在集合(32,48,64.80.96.112.128)中选取;w:消息长度域的长度(以字节为单位),w的值应在集合2,3.4.5.6,7.8)中选取。值的选b)
取会影响保护数据的最大长度,最大的信息长度为23位,即2个字节本机制使用的分组密码算法应是128位的分组密码算法,即n一128。使用本机制保护的数据D及额外的可鉴别数据A,其长度均应是8比特的整数倍7.4加密程序
始发者应执行以下步骤来保护数据D。令L=len(D)/8.即L是D的长度,单位为字节。a)
选定开始变量S,S包含(15一w)个字节即(120一8u)比特1。对每个被保护的数据应用选取各不相同的S.并确保S可被消息接收者获知。S的取值无需保证不可预知的或是秘密的。
对数据D进行右填充,填充(16一r)个字节的0(也就是0到120个比特的0),从而使得Db)
填充后长度为128比特的整数倍。将D进行分块,得到一个由m个长度为128比特的分组构成的序列D.,D.,D.。其中,D,包含D的第一个128比特,D,包含D的第二个128比特,依此类推。
如果len(A)=0,令标志F=02#,(t-16)/16)#:(w—1)。d)如果len(A)>0,令标志F=0l1ll#((t-16)/16)#(w-1)。说明:F最左端的一位是保留位”,即在当前版本的算法中置为0,但在将来的算法中可能会用到。之后的一位置为0的含义是所有被保护的数据都已经加密。e)令X=ex(FlSl#su(L))。
GB/T36624—2018
如果len(A)>0.执行以下六个步骤:如果0如果65280≤len(A)<232,令B=110l#2(len(A)/8)lA;如果2≤len(A)<24令B=11#(len(A)/8)A;3)
将B进行分块,得到一个分组序列B..B..,B.其中,B,包含B的第一个n比特.42
B,包含B的第二个n比特,依此类推,直至B。包括B的最后个比特,其中0对于i=1,2,,u,令X=er(XB)。6)
对于i=1.2..,m,令X=ek(X④D)。令T=Xl。
F=(0#(w-1)).且Y=(FlS0)。
令U=T?[er(Y)]l
对于=1.2.…..m-1.执行以下两个步骤:Y=(FlSl(i));
C,-D,甲er(Y)
令Y=(FllSl#s(m)),且C=[D④ek(Y)]Isr。上述过程的输出,即数据D的可鉴别的加密数据输出为CCIlClCCU。7.5
5解密程序
接收者应执行以下步骤来解密和验证可鉴别的加密数据C:如果C的长度不是8比特的整数倍,停止计算并输出INVALID,a)
如果C的长度小于(十8)比特,停止计算并输出IVALID。确定整数m和,使得C包含(128(m一1)+8r十t)比特,其中0令T=U[ek(Y)]l
对于1=1.2.…,m一1.执行以下两个步骤:D)令Y=(FISl#sw(i));
D,-C,@ek(Y)。
Y=(FlSl#w(m)),且D=[Cmex(Y)JIsr。g)
令D=D.DllDm且令L=16m-16+r。
对D进行右填充填充(128-8r)比特个0即D.=D0128-8。j)
如果len(A)=0,令标志F=02[#((t-16)/16)#(-1)。如果len(A)>0,令标志F=0ll1l#((t-16)/16)#:(w-1)令X=e(FlSIl#(L))。
如果len(A)>0,执行以下六个步骤:m)
如果0如果65280≤len(A)<232,令B=1150ll#s2(len(A)/8)llA;2)
如果2≤len(A)<2,令B=1#(lenA)/8)A;将B进行分块,得到一个分组序列B.B.,B.。其中,B包含B的第一个n比特,B.包含B的第二个n比特,依此类推,直至B包括B的最后比特,其中0小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。