《GB_T 182382202X 信息安全技术 杂凑函数 第 2 部分: 采用分组密码的杂凑函数.docx》由会员分享,可在线阅读,更多相关《GB_T 182382202X 信息安全技术 杂凑函数 第 2 部分: 采用分组密码的杂凑函数.docx(22页珍藏版)》请在第一文库网上搜索。
1、ICS35.030CCS180OB中华人民共和家标准GB/T18238.2202X代替GB/T18238.22002信息安全技术杂凑函数第2部分:采用分组密码的杂凑函数Informationsecuritytechno1ogyHash-functions一Part2:Hash-functionsusingab1ockcipher(ISO/IEC10118-2:2010,Informationtechno1ogy一Securitytechniques-Hash-functions一Part2:Hash-functionsusingann-bitb1ockcipher,MOD)(征求意见稿)202
2、3年6月16日在提交反馈意见时,请将您知道的相关专利连同支持性文件一并附上。XXXX-XX-XX发布XXXX-XX-XX实施国家市场监督管理总局关在国家标准化管理委员会发布目次前言11引言IV1范围12规范性引用文件13术语与定义14符号25要求26杂凑函数126.1 概述36.2 参数选择36.3 填充方法36.4 初始化值36.5 轮函数36.6 输出变换37杂凑函数237.1 概述47.2 参数选择47.3 填充方法47.4 初始化值47.5 轮函数47.6 输出变换68杂凑函数368.1 概述78.2 参数选择78.3 填充方法78.4 初始化值78.5 轮函数78.6 输出变换9附录
3、A(资料性附录)初始化值和变换U的定义10附录B(资料性附录)示例12参考文献18本文件按照GB/T1.12023标准化工作导则第1部分:标准化文件的结构和起草规则的规定起草。本文件是GB/T18238信息安全技术杂凑函数的第2部分。GB/T18238已经发布了以下部分:一第1部分:总则;第2部分:采用分组密码的杂凑函数;第3部分:专门设计的杂凑函数。本文件代替GB/T18238.22002信息技术安全技术散列函数第2部分:采用几位块密码的散列函数,与GB/T18238.22002相比,除结构调整和编辑性改动外,主要技术变化如下:a)更改了规范性引用文件,增加GB/T18238.1、GB/T2
4、50692023,删除GB/T19881998GB/T179642000.IS0IEC10118-1:2000(见第2章,2002年版的第2章);b)增加了“分组”等常见术语(见第3章);c)更改了符号和缩略语,将8%更改为名,增加了。、Di、H、Hi.IV.11.12.1x.九、q、T、XIIY、X八:=、,删除了配7(见第4章,2002年版的第4章);d)增加了杂凑函数的概述(见6.1);e)删除了散列函数2并将散列函数3调整为杂凑函数2,散列函数4调整为杂凑函数3(见第7章、第8章,2002年版的第7章、第8章、第9章);f)删除了附录C(见2002年版的附录C);g)增加了参考文献(见
5、参考文献)。本文件修改采用ISO/IEC10118-2:2010信息技术安全技术杂凑函数第2部分:采用几位块密码的杂凑函数。本文件与ISO/IEC10118-2:2010相比做了下述结构调整: 第7章对应ISO/IEC10118-2:2010的第8章; 第8章对应ISO/IEC10118-2:2010的第9章; 删除了ISO/IEC10118-2:2010的第7章。本文件与ISO/IEC10118-2:2010技术差异及原因如下: 增加了规范性引用文件GB/T250692023(见第2章);增加了0、5、H、IV.1i、12、1x、q、T、XI1八X八:=、(见第4章),完善了符号定义;一更改
6、了6.1概述,将“本章规定的杂凑函数提供长度为1I和G的杂凑值,其中1I和G均等于M”修改为“本章规定的杂凑函数提供长度为1H的杂凑值”,以简化描述(见6.1,ISO/IEC10118-2:2010的21);一因杂凑函数2的安全性被攻破,删除了杂凑函数2(见ISO/IEC10118-2:2010的第7章);调整第8章杂凑函数3为第7章杂凑函数2,调整第9章杂凑函数4为第8章杂凑函数3,并优化了描述逻辑(见第7章、第8章,ISO/IEC10118-2:2010的第8章、第9章);一增加了关于杂凑函数安全性提示的注释(见7.1、8.1);一更改了ISO/IEC第9章轮函数中笔误,将“与该杂凑函数相
7、关的0的具体定义见8.1”更改为“与该杂凑函数相关的0的具体定义见7.5”(见第9章,ISO/IEC1oI18-2:2010的第9章);一更改了资料性附录A,使用SM4分组密码算法替换了AES分组密码算法,将表A.1中“子函数i”更改为“密钥的前3位”,将表A.2中“子函数i”更改为“密钥的前4位”;一一更改了资料性附录B,使用SM4分组密码算法给出了三种杂凑函数的示例。本文件做了下列编辑性改动:一为与我国技术标准体系协调,将标准名称改为信息安全技术杂凑函数第2部分:采用分组密码的杂凑函数;更改了参考文献。本文件由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。本文件起草单位:中
8、电科网络安全科技股份有限公司、国家密码管理局商用密码检测中心、中国电子技术标准化研究院、中国科学院软件研究所、山东大学、西安西电捷通无线网络通信股份有限公司、中国科学院信息工程研究所、中国科学院大学、山东得安信息技术有限公司、华为技术有限公司、格尔软件股份有限公司、智巡密码(上海)检测技术有限公司、北京江南天安科技有限公司、北京信安世纪科技股份有限公司、北京海泰方圆科技股份有限公司。本文件主要起草人:本文件及其所代替文件的历次版本发布情况为:2002年首次发布为GB/T18238.22002;一一本次为第一次修订。杂凑函数是保护数据完整性的主要密码算法之-O采用分组密码的杂凑函数是指:在设计过
9、程中,以分组密码算法(如SM4等)为主要部件,通过一定的迭代机制形成的杂凑函数。GB/T18238分为以下部分:第1部分:总则该部分规定了杂凑函数的要求和通用模型,指导GB/T18238的其它部分;第2部分:采用分组密码的杂凑函数该部分规定了采用分组密码的杂凑函数;第3部分:专门设计的杂凑函数该部分规定了专门设计的杂凑函数。信息安全技术杂凑函数第2部分:采用分组密码的杂凑函数1范围本文件规定了三种采用(n比特)分组密码的杂凑函数。第一种杂凑函数提供长度不大于n比特的杂凑值,第二种杂凑函数提供2n比特的杂凑值,第三种杂凑函数提供3n比特的杂凑值。本文件规定的三种杂凑函数都符合GB/T18238.
10、1202X中规定的通用模型。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T18238.1202X信息安全技术杂凑函数第1部分:总则(ISO/1EC10118-1:2016,ISO/IEC10118-12016md.1:2023,MOD)GB/T250692023信息安全技术术语3术语与定义GB/T250692023界定的以及下列术语和定义适用于本文件。分组b1ock作为一个单位记录或传输的元素序列。注:这里的元素可以是字符、字或记录。
11、来源:GB/T250692023,3.354分组密码b1ockcipher加密算法在明文分组(即界定了长度的位串)上运算,以此产生密文分组的对称加密系统。来源:GB/T250692023,3.161轮函数roundfunction将两个特定长度的比特串映射为一个定长比特串的函数。注:轮函数迭代使用。4符号下列符号适用于本文件。BZ九位比特串B的最左边的n/2位比特串,当?I为偶数时;或3的最左边5+1)/2位比特串,当为奇数时。BR:n位比特串B的最右边的?2位比特串,当Ti为偶数时;或B的最右边(九-1)/2位比特串,当n为奇数时。B/当B是由多个Tn比特字构成的序列时,用。0)表示B的第i
12、个Tn比特字。特别地,当m=8时,Bi是B的第i个字节。D:数据。Di:数据。经填充后的第i个n比特分组。E:九比特分组密码算法。W(P):以明文P和密钥K作为输入的n比特分组密码算法E的加密运算。H:杂凑值。Hi:用于存储杂凑运算中间结果的比特串,其长度为12。IV:初始化值。K:n比特分组密码算法E的密钥。1x:比特串X的比特长度。11:输入到轮函数。的两个比特串中,第一个比特串的比特长度。12:输入到轮函数”的两个比特串中,第二个比特串的比特长度,也是轮函数。输出值的比特长度,以及初始值。的比特长度。n:九比特分组密码算法E的分组长度。q:经过填充和分割操作后,输入数据比特串。的分组个数
13、。Ti输出变换,比如截短。U或U:一种变换,把一个n比特分组转换为分组密码算法E的密钥。Xnr:按顺序将比特串X和丫连接所构成的比特串。X匕比特串X和比特串丫的异或(其中1X=1y)。:=:赋值符号,表示符号左边的值应与符号右边表达的值相等。:轮函数。5要求本文件第6章、第7章及第8章中规定的杂凑函数提供长度为1H的杂凑值从并且符合GB/T18238.1-202X中规定的通用模型。因此,对于第6章、第7章及第8章中规定的三个杂凑函数,只需规定:参数1i,12,111;填充方法;初始化值/匕轮函数。;输出变换T。6杂凑函数16.1 概述本章规定的杂凑函数提供长度为1H的杂凑值,其中卬,推荐九不小
14、于128。注:参考文献3的9.4.1介绍了杂凑函数1。6.2 参数选择杂凑函数1的参数刀、42和1H应满足1I=42=九,并且1H九,推荐T1不小于128。6.3 填充方法作为最低要求,杂凑函数1的填充方法应输出q1个分组劣,“,外,其中每个分组内的长度为几比特,并且不同的输入应产生不同的输出。具体填充方法采用GB/T18238.1202X附录A.2中描述的方法1。即,在数据串右侧填充一个比特“1”,然后在所得到的比特串右侧填充“0”,尽可能少填充(甚至不填充),以达到所要求的长度。6.4 初始化值杂凑函数1的”的定义超出了本文件的范围。W应是一个长度为Ti比特的比特串,并且W的值应由杂凑函数
15、的用户协商确定。6.5 轮函数轮函数。用于产生用,其输入包括填充后的数据分组P(长度为11=ZI比特)与轮函数前一步的输出HjT(长度为G=几比特),输出为此(长度为G=几比特)。作为轮函数的一部分,变换将几比特分组变换成分组密码算法E的密钥。变换的定义超出了本文件的范围,资料性附录A给出了示例。轮函数定义如下,如图1所示。(Dj,Hj)=Eq(Dj)Dj,其中,=w(Hy-1),1jq,H0=IVo/DjHj图1杂凑函数1的轮函数6.6 输出变换输出变换T是简单的截短操作,即通过截取最终输出4的左边1H比特得到杂凑值H。7杂凑函数27.1 概述本章规定的杂凑函数提供长度为1H的杂凑值,其中卬=2九,九为偶数。注1:参考文献扪介绍了杂凑