信息安全技术SM3密码杂凑算法编制说明全国信息安全标准化.doc
SM3密码杂凑算法

SM3密码杂凑算法
王小云;于红波
【期刊名称】《信息安全研究》
【年(卷),期】2016(002)011
【摘要】密码杂凑算法是3类基础密码算法之一,它可以将任意长度的消息压缩成固定长度的摘要,主要用于数字签名和数据完整性保护等.SM3密码杂凑算法的消息分组长度为512b,输出摘要长度为256b.该算法于2012年发布为密码行业标准(GM/T 0004-2012),2016年发布为国家密码杂凑算法标准(GB/T 32905-2016).总结了SM3密码杂凑算法的设计原理、算法特点、软硬件实现和安全性分析,同时将SM3密码杂凑算法和国际通用杂凑算法在实现效率和安全性方面进行比较.
【总页数】12页(P983-994)
【作者】王小云;于红波
【作者单位】清华大学高等研究院北京100084;密码技术与信息安全教育部重点实验室(山东大学) 济南250100;清华大学计算机系北京100084
【正文语种】中文
【中图分类】TP309
【相关文献】
1.SM3杂凑算法的软件快速实现研究 [J], 杨先伟;康红娟
2.基于Android的SM3密码杂凑算法研究与实现 [J], 沈一公;苏厚勤;
3.SM3杂凑算法的SoPC组件实现 [J], 邵梦丽殷新春李艳梅;
4.SM3杂凑算法的SoPC组件实现 [J], 邵梦丽;殷新春;李艳梅
5.SM3密码杂凑算法 [J], 王小云;于红波;;
因版权原因,仅展示原文概要,查看原文内容请购买。
2022年职业考证-软考-信息安全工程师考试全真模拟易错、难点剖析B卷(带答案)第26期

2022年职业考证-软考-信息安全工程师考试全真模拟易错、难点剖析B卷(带答案)一.综合题(共15题)1.单选题计算机取证是指能够为法庭所接受的、存在于计算机和相关设备中的电子证据的确认、保护、提取和归档的过程。
以下关于计算机取证的描述中,不正确的是()。
问题1选项A.为了保证调查工具的完整性,需要对所有工具进行加密处理B.计算机取证需要重构犯罪行为C.计算机取证主要是围绕电子证据进行的D.电子证据具有无形性【答案】A【解析】本题考查计算机取证技术相关知识。
计算机证据指在计算机系统运行过程中产生的以其记录的内容来证明案件事实的电磁记录物。
计算机取证是指运用计算机辨析技术,对计算机犯罪行为进行分析以确认罪犯及计算机证据,也就是针对计算机入侵与犯罪,进行证据获取、保存、分析和出示。
从技术上讲,计算机取证是一个对受侵计算机系统进行扫描和破解,以对入侵事件进行重建的过程。
因此计算机取证并不要求所有工具进行加密处理。
故本题选A。
点播:调查工具需确保其完整性,要在合法和确保安全的机器上制作这些工具盘,并且还需要制作出所有程序的文件散列值(如 MD5、 SHA)校验列表。
以便于事后在必要时(如在法庭上)证明所使用取证工具的合法性和唯一性。
同样,对初始收集到的电子证据也应该有文件散列值记录,必要时可以采用多种散列值,以确保证据的完整性。
计算机取证主要是围绕电子证据进行的,电子证据具有高科技性、无形性和易破坏性等特点。
计算机取证可归纳为以下几点:是一门在犯罪进行过程中或之后收集证据的技术;需要重构犯罪行为;将为起诉提供证据;对计算机网络进行取证尤其困难,且完全依靠所保护的犯罪场景的信息质量。
其目的是要将犯罪者留在计算机中的“痕迹”作为有效的诉讼证据提供给法庭,以便将犯罪嫌疑人绳之以法。
2.单选题在安全评估过程中,采取()手段,可以模拟黑客入侵过程,检测系统安全脆弱性。
问题1选项A.问卷调查B.人员访谈C.渗透测试D.手工检查【答案】C【解析】本题考查安全评估方面的基础知识。
2022年职业考证-软考-信息安全工程师考试全真模拟全知识点汇编押题第五期(含答案)试卷号:59

2022年职业考证-软考-信息安全工程师考试全真模拟全知识点汇编押题第五期(含答案)一.综合题(共15题)1.单选题数字水印技术通过在数字化的多媒体数据中嵌入隐蔽的水印标记,可以有效实现对数字多媒体数据的版权保护等功能。
以下关于数字水印的描述中,不正确的是( )。
问题1选项A.隐形数字水印可应用于数据侦测与跟踪B.在数字水印技术中,隐藏水印的数据量和鲁棒性是一对矛盾C.秘密水印也称盲化水印,其验证过程不需要原始秘密信息D.视频水印算法必须满足实时性的要求【答案】C 【解析】本题考查数字水印知识。
在数字水印技术中,水印的数据量和鲁棒性构成了一对基本矛盾;视频水印算法必须满足实时性的要求;隐形数字水印主要应用领域有原始数据的真伪鉴别、数据侦测与跟踪、数字产品版权保护。
数字水印根据输入输出的种类及其组合可分为三种:①秘密水印(非盲化水印)、②半秘密水印(半盲化水印)、③公开水印(盲化或健忘水印)。
盲化水印的检测不需要任何原始数据和辅助信息。
故本题选C 。
点播:数字水印原理:通过数字信号处理方法,在数字化的媒体文件中嵌入特定的标记。
水印分为可感知的和不易感知的两种。
其安全需求包括安全性、隐蔽性、鲁棒性,不要求可见性。
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE 2. 单选题 根据自主可控的安全需求,近些年国密算法和标准体系受到越来越多的关注,基于国密算法的应用也得到了快速发展。
我国国密标准中的杂凑算法是( )。
问题1选项A.SM2B.SM3C.SM4D.SM9【答案】B【解析】本题考查我国密码算法方面的基础知识。
国家密码局认定的国产密码算法主要有SM1 (SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)等。
其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法; SM2、SM9是非对称算法; SM3 是哈希算法。
SM3_密码杂凑算法的安全性问题分析及应用

692023年12月上 第23期 总第419期信息技术与应用China Science & Technology Overview0 引言杂凑函数在密码学中具有重要的地位,安全的杂凑函数能够抵抗碰撞攻击、原根攻击和第二原根攻击等[1]。
很多的方式能够攻击杂凑函数,比如基于模差分的碰撞攻击[2-3]方法、基于中间相遇攻击[4]的原根攻击[5]方法等。
各个国家早已制定相关的杂凑算法标准,我国于2010年公布了中国商用杂凑算法标准,并且命名为SM3杂凑算法。
该算法能够对输入明文信息进行填充分块,将明文分为有限个512bit 的数据块,再将生成的数据块进行扩展,随后进行迭代加密,最终输出密文数据。
因为每一轮的迭代压缩过程生成的密文长度是固定的,所以理论上SM3杂凑算法是一定能够受到伪原根攻击,攻击轮数不同,时间复杂度也会不同。
在加密时,SM3杂凑算法部分轮数是不随机的,所以攻击轮数的减少对于攻击算法的随机性影响较大。
1 SM3杂凑密码算法密码杂凑算法是类基础密码算法之一,该算法于2012年发布为密码行业标准(GM/T 0004-2012),2016 年发布为国家密码杂凑算法标准(GB/T 32905-2016),它可以将任意长度的消息压缩成固定长度的摘要,主要用于数据的安全传输等。
杂凑函数需要满足碰撞稳固性,即对于任意两个不同的输入,其输出也应该是不同的。
目前,对SM3密码杂凑算法的攻击还比较少,尚未发现明显的碰撞攻击方法。
原根稳固性和第二原根稳固性是评价杂凑函数安全性的重要指标,SM3密码杂凑算法在设计上已经考虑了这些特性,使其对原根攻击和第二原根攻击具有一定的抵御能力。
SM3密码杂凑算法的消息分组长度为512b,输出摘要长度为256b [6]。
SM3算法的压缩函数与国际常用的SHA256杂凑算法的压缩函数具有相似性,SM3算法是在SHA-256基础上改进的一种商用密码算法,应用于安全传输和数字签名等方面。
国密算法标准

国密算法标准
国密算法标准是指中国国家密码管理局(National Cryptography Administration,简称NCA)发布的密码算法标准,主要用于保障国家信息安全。
国密算法标准包括对称加密算法、非对称加密算法、数字签名算法等,其中的国密SM2、SM3、SM4等已成为中国密码领域的代表性算法。
以下是一些国密算法标准的主要内容:
1.SM2(椭圆曲线公钥密码算法):SM2是一种基于椭圆曲线的
非对称加密算法,用于数字签名、密钥交换等场景。
SM2算法
已广泛用于中国的数字证书和身份认证领域。
2.SM3(密码杂凑算法):SM3是一种密码杂凑算法,类似于SHA-
256。
它被用于数字签名、消息认证码(MAC)等场景,确保消
息的完整性和不可伪造性。
3.SM4(分组密码算法):SM4是一种对称加密分组密码算法,
用于保护数据的机密性。
它可以用于加密和解密数据,适用于
各种安全通信和存储场景。
这些算法被认为是国家信息安全的基石,其设计和应用受到国家密码管理局的监管和推动。
在中国,特别是在政府、金融、电信等关键领域,对这些国密算法的使用有一定的规定和要求。
此外,国际上也关注和研究这些算法的性能和安全性。
需要注意的是,由于密码学领域的迅速发展,相关标准可能会随时更新。
因此,建议在使用这些算法时查阅最新的国密算法标准文档。
国密杂凑算法SM3

国密杂凑算法SM30. 引⾔SM3杂凑算法是中国国家密码局公布的hash算法商⽤标准,能应⽤于数字签名与验证、消息认证码的⽣成以及伪随机数的⽣成。
1. 常数与函数1.1 初始值IV = 7380166f 4914b2b9 172442d7 da8a0600 a96f30bc 163138aa e38dee4d b0fb0e4e1.2 常量T j={ 79cc4519 0≤j≤15;7a879d8a 16≤j≤63}1.3 布尔函数FF j(X,Y,Z)={X^Y^Z 0≤j≤15;(X & Y)|(X&Z)|(Y&Z) 16≤j≤63}GG j(X,Y,Z)={X^Y^Z 0≤j≤15;(X & Y)|(~X&Z)16≤j≤63}X,Y,Z为字(32bit)1.4 置换函数P0(X)= X^(X<<<9)^(X<<<17)P1(X)= X^(X<<<15)^(X<<<23)X 为字2. 算法简介SM3算法能够对长度为l(l<2^64)bit的消息m,进⾏填充和迭代压缩,⽣成杂凑值,最终的杂凑值为256bit。
2.1 填充过程设消息m的长度为l bit,⾸先将bit"1"添加到消息末尾,再加k个“0”,k是满⾜l+1+k =448 mod 512的最⼩⾮负整数。
然后再添加⼀个64bit串,该串是l的⼆进制表⽰,填充后的消息m'长度为512的整数倍。
2.2 迭代压缩迭代过程:m'按照512bit进⾏分组:m'=B(0)B(1)...B(n-1)n=(l+k+65)/512.迭代过程如下:FOR i=0 to n-1 V(i+1) = CF(V(i),B(i)ENDFORCF为压缩函数,V(0)为初始值IV,迭代压缩的结果为V(n)消息扩展:消息分组B(i)扩展⽣成132个字W0,W1,...W67,W0',W1'...W63'。
商密算法SM2、SM3、SM4的用途和原理

商密算法SM2、SM3、SM4的⽤途和原理SM1对称密码SM1 算法是分组密码算法,分组长度为128位,密钥长度都为 128 ⽐特,算法安全保密强度及相关软硬件实现性能与 AES 相当,算法不公开,仅以IP核的形式存在于芯⽚中。
采⽤该算法已经研制了系列芯⽚、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,⼴泛应⽤于电⼦政务、电⼦商务及国民经济的各个应⽤领域(包括国家政务通、警务通等重要领域)。
SM2椭圆曲线公钥密码算法SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换⽅⾯不同于ECDSA、ECDH等国际标准,⽽是采取了更为安全的机制。
另外,SM2推荐了⼀条256位的曲线作为标准曲线。
SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部分,并在每个部分的附录详细说明了实现的相关细节及⽰例。
SM2算法主要考虑素域Fp和F2m上的椭圆曲线,分别介绍了这两类域的表⽰,运算,以及域上的椭圆曲线的点的表⽰,运算和多倍点计算算法。
然后介绍了编程语⾔中的数据转换,包括整数和字节串,字节串和⽐特串,域元素和⽐特串,域元素和整数,点和字节串之间的数据转换规则。
详细说明了有限域上椭圆曲线的参数⽣成以及验证,椭圆曲线的参数包括有限域的选取、椭圆曲线⽅程参数、椭圆曲线群基点的选取等,并给出了选取的标准以便于验证。
最后给椭圆曲线上密钥对的⽣成以及公钥的验证,⽤户的密钥对为(s,sP),其中s为⽤户的私钥,sP为⽤户的公钥,由于离散对数问题从sP难以得到s,并针对素域和⼆元扩域给出了密钥对⽣成细节和验证⽅式。
总则中的知识也适⽤于SM9算法。
在总则的基础上给出了数字签名算法(包括数字签名⽣成算法和验证算法),密钥交换协议以及公钥加密算法(包括加密算法和解密算法),并在每个部分给出了算法描述,算法流程和相关⽰例。
数字签名算法、密钥交换协议以及公钥加密算法都使⽤了国家密管理局批准的SM3密码杂凑算法和随机数发⽣器。
中国商用密码杂凑算法标准----SM3算法(数字签名)

中国商⽤密码杂凑算法标准----SM3算法(数字签名)明天就要回家惹,阿姨⽣⽇,祝happy捏⾛之前,再学点东西叭上⼀篇叭了叭密码学的算法简历,其中信息摘要部分提到了SHA家族和MD5,今天跑了⼀趟SM3,就来看看SM3算法叭~~国密算法是国家密码管理局制定并公布的⼀系列国产密码算法,包括SM1\2\3\4\7\9、ZUC祖冲之算法等等。
SM3概述SM3算法是在SHA-256基础上改进的⼀种算法,消息分组的长度为512位,⽣成的摘要长度为256位,与SHA256安全性相当。
(和上⼀篇的SHA256很像咧)算法流程填充⽐特在原始数据末尾进⾏填充,使数据长度= 448 (mod 512),规则为先补第⼀个⽐特为1,然后都补0若长度刚好为448也必须填充,此时需要增加512位,即填充的位数[1,512]附加长度信息附加长度值就是将原始数据的长度信息(⽆符号整数64bit)附加到已经填充消息的后⾯。
前两个附加长度就构成了⼀个长度为512整数倍的消息结构。
初始化数据初始值IV=7380166f 4914b2b9 172442d7 da8a0600 a96f30bc 163138aa e38dee4d b0fb0e4eTj = 79cc4519 0 ≤ j ≤ 157a879d8a 16 ≤ j ≤ 63置换函数,x是消息字P0(X) = X ⊕ (X ≪ 9) ⊕ (X ≪ 17)P1(X) = X ⊕ (X ≪ 15) ⊕ (X ≪ 23)8个字寄存器存储初始值ABCDEFGH迭代过程将消息m’分解成n个512-bit⼤⼩的块,m’=B0B1B2……B n-1令V0=IV=7380166f 4914b2b9 172442d7 da8a0600 a96f30bc 163138aa e38dee4d b0fb0e4eV i+1=CF(V i,B i),0 ≤ i ≤ n-1 ,CF为压缩函数消息扩展(将上⼀步得到的每⼀个消息分组B i扩展到132*32bit的信息w[0],w[1],w[2],……,w[67], w‘[0],w’[1],w‘[2],……,w’[63])选择⼀个512bit的块B i,将其分解为16个32bit的(big-endian)字,记为w[0],w[1],……,w[15],作为扩展消息的前16个,在递推⽣成剩余的116个字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《信息安全技术SM3 密码杂凑算法》(征求意见稿)编制说明一、任务来源根据国家标准化管理委员会XX 年下达的国家标准制修订计划,国家标准《信息安全技术SM3 密码杂凑算法》由国家商密办负责主办。
标准计划号为XXXXX (全国信息安全标准化技术委员会XXXX 年信息安全专项)。
二、编制原则1.坚持安全、实用、美观的技术标准:全面分析所制定规范的安全性,对算法的可抗攻击性进行完善分析,重点考虑实用性和其以后的推广;保证算法能够有效抵抗比特追踪法以及其他已知的分析方法。
算法的设计过程中,算法的符号表述尽量标准、美观。
2.创新性:在算法标准的设计方面分别有不同的创新。
3.自主性:设计自主、符合我国需求的哈希算法。
4.高效性:设计的杂凑算法便于软、硬件平台高效的实现。
在保障安全性的前提下,综合性能指标优于SHA-256。
5.合法性:符合国家有关法律法规和已经制定的标准规范的相关要求。
三、主要工作过程(一)密码行业标准起草工作过程1.设计评审阶段2002年1月21日,国密办下达了“杂凑算法”研制任务的通知,算法于2002 年5月设计完成。
2002年8月22日,技术处对数据所研制的SCH1杂凑算法进行了算法审查,并于8月29日至31日对其余六个分别由数据所、济南得安、中科院DCS 中心、成都卫士通、江南所和山东大学研制的SCH2-SCH7 进行了集中审查。
确定并评审出SCH4 杂凑算法。
2.优化检测阶段2003年7月,国密办向SCH4研制单位中科院数据与通信保护研究教育中心下达了“关于对SCH4杂凑算法进行修改完善的通知”,9月26日“LSW杂凑算法课题组”完成SCH4杂凑算法修改完善工作完成并形成相关技术文档。
2003年10 月27 日志12 月26 日,商用密码杂凑算法综合检测组在SSR02密码算法综合检测平台、IC卡汇编语言仿真检测平台、FPGA/ASIC 仿真检测平台上对优化后的SCH4 杂凑算法进行了综合检测并形成综合检测记录和检测报告。
3.初稿编写及IP 核实施阶段2004年6月国密办下达杂凑算法标准编写任务。
7月~10月底,中科院数据通信与保护研究教育中心根据杂凑算法标准编写任务的要求完成商用密码杂凑算法标准,形成初稿。
同年11月,根据国密办《关于下达杂凑算法IP 核设计任务的通知》,国家密码管理委员会办公室商用密码研究中心承担了SCH4 杂凑算法0.35um、0.25um、0.18um三种工艺IP核实现的设计任务,形成SCH4算法IP核实施方案。
4.算法修改及初稿重新修订阶段2005年3月,针对王小云教授自主研发的比特追踪法破解MD5 等算法的情况,国家密码管理局请专家组对SCH4 算法进行了针对性分析,分析结果表明该算法不能有效抵御比特追踪法分析;随后国家密码管理局紧急组织成立了SCH 杂凑算法研制攻关组,在保持SCH4 基本结构的基础上,运用最先进的杂凑算法分析和设计理论对其修改,研制了SCH 算法并对初稿进行重新修订。
新算法采用了新颖的消息扩展算法、双字介入的并行压缩结构以及混合使用不同群运算,有利于消息的扩散和混乱,便于软、硬件实现。
针对算法本身特点,综合运用差分抗碰撞分析、线性分析和均差分析等方法进行了深入的安全性分析,特别是针对国际上最先进的比特追踪法进行了安全设计和分析。
结果表明,该算法安全强度高,灵活性好,技术先进,设计上有创新,适合软硬件实现,适合IC 卡等终端用户产品实现。
5.征求意见稿编写阶段2005 年5 月,对初稿进行修改和补充,结合各成员单位多年技术积累,反复交流,求同存异,在形成一致共识的基础上整理完成了规范的征求意见稿。
6.送审稿编写阶段2008年4月,依据国密局字[2008]190 号文件“关于下达《SM1 分组密码算法》等标准文本修订任务的通知”,无锡江南信息安全工程技术中心组成了标准文本修订工作小组,开展对SM3 密码杂凑算法标准文本的修订工作。
工作小组遵照国家密码管理局关于“精心组织、周密安排,合理使用经费“的要求采取了集中办公的方式,统筹安排、合理分工、认真编写、交流讨论等方式开展工作。
按照标准的规范性要求,在标准的结构、规范性要素的编写规则,尤其是密码算法的标准名称、前言、引言、范围、术语和定义、符号和缩略语、内容设置、图、表、公式表述、词语表达、符号选择、规范性引用文件和参考性文献以及规范性附录和资料性附录等方面,经多次讨论,反复修订,形成了《SM3 密码杂凑算法》标准文本。
2012年1 月~2012年2月,国家密码管理局组织专家审查,对《算法》进行修改和讨论,并对送审稿进行补充完善,形成了《SM3 密码杂凑算法》(送审稿)。
(二)国家标准工作过程1、2013年3月-2013年9月,在上述工作的基础上,根据信息安全国家标准制修订工作程序,对标准文本进行完善修改,形成《信息安全技术SM3 密码杂凑算法》征求意见稿,提交信安标委秘书处。
2、2013年11月20日,信安标委秘书处组织专家对文本进行讨论修改;编制组根据专家意见对标准文本进行修改完善。
四、标准的主要内容及确定内容的依据1.SM3 杂凑算法流程描述SM3 杂凑算法是一种基于分组迭代结构的杂凑算法。
SM3 杂凑算法流程描述如下:(1)消息填充分组处理:将输入消息比特X (不失一般性,限制消息串的比特长度小于264),按照特定的规定填充并分组成为固定长度整数倍的消息分组序列BB = BB0⋯BB n-2BB n-1,其中每一消息分组BB i 长度固定为512比特,并且BB n-1中最好64比特用来指示消息x 的比特长度。
(2)迭代处理:从0到n-1迭代计算:(3)SM3( ) :H i+1=CF(H i,BB i)(4)消息比特串X 的输出结果为:H n=SM3(X)是输出长度为256 比特的压缩函数。
(5)其中H0-IV 为一256比特常量,CF( H i,BB i)是输出长度为256 比特的压缩函数。
(6)杂凑值输出:SM3 杂凑算法将以上第n 次迭代处理的256 比特输出值H n,通过选裁函数个g(H n)得到160比特、192比特或256 比特三种长度的杂凑输出值。
2.SM3 杂凑算法主要结构描述(1)填充过程假设消息x的长度为l 。
则首先将比特“1添”加到消息的末尾,再添加k个“0,” 这里k是满足l 1 k 448(mod512) 的最小非负整数。
然后再添加一个64 比特长的块,其值等于消息x的长度l的二进制表示。
产生的比特串x'的比特长度恰好为512 的整数倍。
例如,对消息比特串:01100001 01100010 01100011应用以上填充得到比特串:64 742348 6 44 764 4 481014120040301 1014120040310 1014120040311 1 00L 00 00L 01{1000l 24将消息x'按512比特进行分组:x' B 0B 1.................. B n 1,其中n (l k 65) 512 。
(2)迭代压缩算法对每一个消息分组B i按顺序进行以下处理:V i 1 CF(V i ,B i ) i 0,1,..., n 1其中CF 是压缩函数,V 0为256 比特初始值IV 。
迭代压缩的输出为V n。
(3)消息扩展算法将消息分组B i按以下方法扩展成132个消息字W0 ,W1 ,...,W67, W0 ', , W63 ' :a.将消息分组B i划分为16 个字W0W1...W15 。
b.FOR j 16 TO 67W j P1(W j 16 W j 9 (W j 3 15)) (W j 13 7) W j 6ENDFORc.FOR j 16 TO 63W j ' W j W j 4 ENDFOR(4)压缩函数令A,B,C,D,E,F,G,H 为字寄存器,SS1, SS2,TT 1,TT 2为中间变量,压缩函数V i 1 CF(V i ,B i ) 计算过程详细描述如下:ABCDEFGH V iFOR j 0 TO 63SS1 [( A 12) E (T j)] 7SS2 SS1 (A 12)TT1 [FF (A,B,C) D SS2] W j'TT2 [GG(E,F,G) HSS1]W jD CC B9B AA TT1H GG F 19F EE P0(TT 2)ENDFORV i1ABCDEFGH V i压缩函数第j 步框图如下:图 2 压缩函数 V i 1 CF(V i ,B i ) 中“第 j 步”的框图y 0 A B E , y 1 BF C , y 2 CG ,(5) 选裁过程令消息 x 的 n 次迭代压缩输出值为 V n ABCDEFGH ,长度为 256 比特。
192 比特或 160 比特的杂凑值。
a. 256 比特输出ABCDEFGH V n输出 y ABCDEFGHb. 192 比特输出ABCDEFGH V nc. 160 比特输出ABCDEFGH V n针对不同的杂凑输出值长度要求,通过选裁函数 y g(V n)选裁产生 256 比特、 y 0 A B E , y 1B F y 2C G y 3D H , y 4 F C ,y 5 D G 输出 192 比特的杂凑值 y y 0y 1y 2 y 3y 4y 5。
y 3 D H ,y 4 D G 输出 160比特的杂凑值 y y 0 y 1 y 2 y 3 y 4 。
五、 与相关法律法规及国家有关规定、国内相关标准的关系1) 与相关法律法规及国家有关规定的关系 本标准遵守《商用密码管理条例》的各项规定,标准中定义的各项标识与 GM/T 0004-2012 《SM3 密码杂凑算法》中规定的相关密码算法的使用要求保持 一致。
2) 与相关国际标准的关系本标准中的附录 A “商用密码领域中的相关 OID 定义 ”定义了国产密码算法 相关的标识符 OID ,与国际上相关密码算法的 OID 定义不存在冲突,是对国际 上密码算法的 OID 定义的扩展。
六、 有关问题的说明1.函数与常数(1) 初始值IV=7380166F 4914B2B9 172442D7 DA8A0600A96F30BC 163138AA E38DEE4D B0FB0E4E(2) 内部常数77CC4519 0 j 15 T jj 7A879D8A 16 j 63(3) 函数A B C 0 j 15 (A C) (B C) 16 j 63 F G 0 j 15 ( E G) 16 j 63 (1) 创新的结构设计 SM3 杂凑算法的压缩函数采用 P 置换作为加强雪崩的基本运算,结合双字 介入的并行处理结构,增加了扩散和混乱的速度,在提高安全性的同时, 又保证 了算法的实现效率。