信息安全技术SM3密码杂凑算法编制说明全国信息安全标准化.doc
- 格式:docx
- 大小:41.28 KB
- 文档页数:10
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卷(带答案)一.综合题(共15题)1.单选题计算机取证是指能够为法庭所接受的、存在于计算机和相关设备中的电子证据的确认、保护、提取和归档的过程。
以下关于计算机取证的描述中,不正确的是()。
问题1选项A.为了保证调查工具的完整性,需要对所有工具进行加密处理B.计算机取证需要重构犯罪行为C.计算机取证主要是围绕电子证据进行的D.电子证据具有无形性【答案】A【解析】本题考查计算机取证技术相关知识。
计算机证据指在计算机系统运行过程中产生的以其记录的内容来证明案件事实的电磁记录物。
计算机取证是指运用计算机辨析技术,对计算机犯罪行为进行分析以确认罪犯及计算机证据,也就是针对计算机入侵与犯罪,进行证据获取、保存、分析和出示。
从技术上讲,计算机取证是一个对受侵计算机系统进行扫描和破解,以对入侵事件进行重建的过程。
因此计算机取证并不要求所有工具进行加密处理。
故本题选A。
点播:调查工具需确保其完整性,要在合法和确保安全的机器上制作这些工具盘,并且还需要制作出所有程序的文件散列值(如 MD5、 SHA)校验列表。
以便于事后在必要时(如在法庭上)证明所使用取证工具的合法性和唯一性。
同样,对初始收集到的电子证据也应该有文件散列值记录,必要时可以采用多种散列值,以确保证据的完整性。
计算机取证主要是围绕电子证据进行的,电子证据具有高科技性、无形性和易破坏性等特点。
计算机取证可归纳为以下几点:是一门在犯罪进行过程中或之后收集证据的技术;需要重构犯罪行为;将为起诉提供证据;对计算机网络进行取证尤其困难,且完全依靠所保护的犯罪场景的信息质量。
其目的是要将犯罪者留在计算机中的“痕迹”作为有效的诉讼证据提供给法庭,以便将犯罪嫌疑人绳之以法。
2.单选题在安全评估过程中,采取()手段,可以模拟黑客入侵过程,检测系统安全脆弱性。
问题1选项A.问卷调查B.人员访谈C.渗透测试D.手工检查【答案】C【解析】本题考查安全评估方面的基础知识。
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 是哈希算法。
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是一种对称加密分组密码算法,
用于保护数据的机密性。
它可以用于加密和解密数据,适用于
各种安全通信和存储场景。
这些算法被认为是国家信息安全的基石,其设计和应用受到国家密码管理局的监管和推动。
在中国,特别是在政府、金融、电信等关键领域,对这些国密算法的使用有一定的规定和要求。
此外,国际上也关注和研究这些算法的性能和安全性。
需要注意的是,由于密码学领域的迅速发展,相关标准可能会随时更新。
因此,建议在使用这些算法时查阅最新的国密算法标准文档。
国密杂凑算法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的⽤途和原理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算法(数字签名)明天就要回家惹,阿姨⽣⽇,祝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.国密算法的分类二、国密算法的具体算法介绍1.SM1 算法2.SM3 算法3.SMS4 算法三、国密算法的应用与意义1.在商用密码领域的应用2.对我国信息安全的重要意义正文一、国密算法的概念与分类国密算法,即国家密码算法,是我国自主研发的一类密码算法。
它包括了多种不同的加密和哈希算法,以满足不同场景下的安全需求。
根据其功能和特点,国密算法可以分为以下几类:1.对称加密算法:这类算法主要用于加密数据,保证数据的机密性。
其中包括了 SM1、SMS4 等算法。
2.非对称加密算法:这类算法主要用于加密密钥和数字签名,以保证数据的完整性和真实性。
我国自主研发的非对称加密算法主要包括 SM2 算法。
3.哈希算法:这类算法主要用于生成数据或消息的固定长度的摘要,以确保数据的唯一性和不可篡改性。
我国自主研发的哈希算法主要包括 SM3 算法。
二、国密算法的具体算法介绍1.SM1 算法:SM1 是我国自主研发的对称加密算法,加密强度为 128 位,采用硬件实现。
它主要用于保护国家秘密信息和商业秘密信息,具有较高的安全性和可靠性。
2.SM3 算法:SM3 是我国自主研发的密码杂凑算法,杂凑值长度为 32 字节。
它与 SM2 算法同期公布,主要用于数据完整性校验和数字签名等场景。
SM3 算法在安全性和性能方面都表现出良好的优势。
3.SMS4 算法:SMS4 是我国自主研发的对称加密算法,随 WAPI 标准一起发布。
它主要用于无线局域网(WLAN)的安全通信,可以提供较高的加密强度和抗攻击能力。
三、国密算法的应用与意义1.在商用密码领域的应用:国密算法已经在我国商用密码领域得到广泛应用,如金融、电子商务、信息安全等领域。
采用国密算法可以有效保障信息安全,防止数据泄露、篡改和伪造等安全威胁。
2.对我国信息安全的重要意义:国密算法的研发和应用,有力地提升了我国信息安全水平,保障了国家安全和公民隐私。
国密算法详解范文国密算法,也称为“中国密码算法”,是中国政府主导的密码算法研发项目,旨在保障国家信息安全。
国密算法的全称是“商用密码算法标准”,具体包括SM1、SM2、SM3、SM4四个算法。
一、SM1算法SM1是一种对称密码算法,即加密和解密过程使用相同的密钥。
SM1算法采用了数据加密标准(DES)的结构,但进行了一些变化和优化,以提高安全性和效率。
SM1算法的密钥长度为128位,数据块长度为64位,总共进行4轮运算。
SM1算法在保密性和抗干扰能力方面优于DES算法,可以广泛应用于国家机密信息的加密和解密过程中。
二、SM2算法SM2是一种非对称密码算法,即加密和解密过程使用不同的密钥。
SM2算法基于椭圆曲线密码体制(Elliptic Curve Cryptography,简称ECC),其密钥长度为256位,RSA算法的密钥长度至少要达到2048位才能具有相同的安全性。
SM2算法具有高强度、高效率和高安全性等特点,可以广泛应用于数字签名、密钥交换和密钥协商等场景。
三、SM3算法SM3是一种哈希算法,用于将任意长度的消息转换为固定长度的摘要。
SM3算法是中国政府自主设计的密码哈希算法,使用了类似于SHA-256的结构,但进行了一些改进和优化。
SM3算法的摘要长度为256位,具有很高的安全性和抗碰撞能力,适用于数字签名、消息认证码和密钥派生等场景。
四、SM4算法SM4是一种对称密码算法,采用分组密码的设计思路,密钥长度为128位,数据块长度为128位,总共进行32轮运算。
SM4算法在保密性、抗攻击和性能方面比国际上应用广泛的AES算法具有一定优势。
SM4算法适用于各种应用和系统,尤其在物联网等信息安全领域有重要的应用价值。
总结起来,国密算法是中国自主研发的密码算法标准,包括SM1、SM2、SM3、SM4四个算法。
SM1和SM4是对称密码算法,SM2是非对称密码算法,SM3是哈希算法。
这些算法在保密性、抗攻击和性能方面都有一定的优势,可以广泛应用于各种信息安全场景中。
2022年职业考证-软考-信息安全工程师考试全真模拟易错、难点剖析AB卷(带答案)一.综合题(共15题)1.单选题Windows系统的用户管理配置中,有多项安全设置,其中密码和账户锁定安全选项设置属于()。
问题1选项A.本地策略B.公钥策略C.软件限制策略D.账户策略【答案】D【解析】点播:在Windows操作系统中,账户策略包含三个子集:(1)密码策略:对于域或本地用户账户,决定密码的设置,如强制性和期限。
(2)账户锁定策略:对于域或本地用户账户,决定系统锁定账户的时间,以及锁定谁的账户。
(3)Kerberos 策略:对于域用户账户,决定与 Kerberos 有关的设置,如账户有效期和强制性。
2.单选题PKI是一种标准的公钥密码的密钥管理平台,数字证书是PKI的基本组成部分。
在PKI中,X.509数字证书的内容不包括()。
问题1选项A.加密算法标识B.签名算法标识C.版本号D.主体的公开密钥信息【答案】A【解析】本题考查PKI方面的基础知识。
X.509数字证书内容包括:版本号、序列号、签名算法标识、发行者名称、有效期、主体名称、主体公钥信息、发行者唯一标识符、主体唯一识别符、扩充域、CA的签名等,不包括加密算法标识。
3.单选题数字水印技术是指在数字化的数据内容中嵌入不明显的记号,被嵌入的记号通常是不可见的或者不可察觉的,但是通过计算操作能够实现对该记号的提取和检测。
数字水印不能实现()。
问题1选项A.证据篡改鉴定B.数字信息版权保护C.图像识别D.电子票据防伪【答案】C【解析】本题考查数字水印技术方面的基础知识。
根据应用领域可将数字水印分为:①鲁棒水印:通常用于数字化图像、视频、音频或电子文档的版权保护。
将代表版权人身份的特定信息,如一-段文字、标识、序列号等按某种方式嵌入在数字产品中,在发生版权纠纷时,通过相应的算法提取出数字水印,从而验证版权的归属,确保著作权人的合法利益,避免非法盗版的威胁。
2024年等级考试-计算机四级-信息安全工程师考试历年真题常考点试题带答案(图片大小可任意调节)第1卷一.单选题(共20题)1.面向数据挖掘的隐私保护技术主要解高层应用中的隐私保护问题,致力于研究如何根据不同数据挖掘操作的特征来实现对隐私的保护,从数据挖的角度,不属于隐私保护技术的是()。
A.基于数据分析的隐私保护技术B.基于微据失真的隐私保护技术C.基于数据匿名化的隐私保护技术D.基于数据加密的隐私保护技术2.基于MD4和MD5设计的S/Key口令是一种一次性口令生成方案,它可以对访问者的身份与设备进行综合验证,该方案可以对抗()。
A.网络钓鱼B.数学分析攻击C.重放攻击D.穷举攻击3.S/key口令是一种一次性口令生成方案,它可以对抗()。
A.恶意代码攻击B.暴力分析攻击C.重放攻击D.协议分析攻击4.2016年11月7日,十二届全国人大常会第二十四次会议以154票赞成,1票弃权,表决通过了《网络安全法》。
该法律由全国人民代表大会常务员会于2016年11月7日发布,自()起施行。
A.2017年1月1日B.2017年6月1日C.2017年7月1日5.《中华人民共和国网络安全法》第五十八条明确规定,因维护国家安全和社会公共秩序,处置重大突发社会安全事件的需要,经()决定或者批准,可以在特定区域对网络通信采取限制等临时措施。
A.国务院B.国家网信部门C.省级以上人民政府D.网络服务提供商6.2018年10月,含有我国SM3杂凑算法的IS0/IEC10118-3:2018《信息安全技术杂凑函数第3部分:专用杂凑函数》由国际标准化组织(ISO)发布,SM3算法正式成为国际标准。
SM3的杂凑值长度为()。
A.8字节B.16字节C.32字节D.64字节7.()是一种通过对信息进行均衡、安全的防护,提高整个系统最低安全性能的原则。
A.木桶原则B.保密原则C.等级化原则D.最小特权原则8.有线等效保密协议WEP采用RC4流密码技术实现保密性,标准的64位标准流WEP用的密钥和初始向量长度分别是()A.32位和32位B.48位和16位C.56位和8位D.40位和24位9.2016年11月7日,十二届全国人大常委会第二十四次会议以154票赞成,1票弃权,表决通过了《网络安全法》。
国产商用密码算法SM3及其相关标准介绍作者:谢宗晓甄杰董坤祥来源:《中国质量与标准导报》2021年第03期SM3密码杂凑算法发布于2010年12月17日1)。
密码杂凑算法也被称作“杂凑算法”“散列算法”或“哈希算法”。
在GM/Z 0001—2013《密码术语》中,上述几个术语对应的英文都是hash algorithm。
1 密码杂凑算法密码杂凑算法的主要功能是将一个任意长的比特串映射到一个固定长的比特串。
假设任意长度的消息M,经过函数H(M)运算后,得到一个固定长度为m的散列值h,如公式(1)所示。
h=H(M)(1)如果上述运算满足下面3个条件:(1)给定任意长度的消息M,容易固定长度的h;(2)给定h,计算M非常困难;(3)给定任意长度的消息M,要找到另一个任意长度的消息M′,能够满足H(M)= H (M′),非常困难。
观察(1)和(2),实际就是单向函数的要求,对于(3)而言,这个特性指的是抗碰撞性(collision resistance),即防止不同的输入产生相同的输出。
在实践中使用的密码杂凑函数必须具备强抗碰撞性,例如,MD4、MD5和SHA-1都是因为碰撞攻击算法而被攻破。
通俗而言,就是这些算法H(M),已经能够产生具备相同散列值h的两条不同消息M和M′。
由于密码杂凑算法这个特性,散列值h,就像是消息的“指纹”。
显然,密码杂凑算法可以用于验证消息的完整性(integrity),也可以更广泛地应用于数字签名和验证、消息鉴别码(message authentication code,MAC)的生成和验证,以及随机数的生成等。
2 SM3密码杂凑算法SM3是一种密码杂凑算法。
2012年,SM3被采纳为GM/T 0004—2012行业标准,2016年转化为GB/T 32905—2016国家标准。
具体信息如表1所示。
SM3的将输入的消息经过填充和迭代压缩等步骤,生成256比特杂凑值(散列值h)。
GB/T 32905—2016中举了一个通俗易懂的例子,消息01100001 01100010 01100011,长度l为24,首先①,在末尾加“1”,然后②,添加k个“0”凑成512的倍数,最后③,添加一个64位比特串,该比特串是输入消息长度l的二进制表示。
SM3密码杂凑算法分析的开题报告
1. 研究背景
随着信息技术的发展,网络安全问题日益崭露头角。
密码杂凑算法
是密码学领域中的一个重要概念,应用广泛于数字签名、随机数生成、
消息认证码等方面。
SM3密码杂凑算法是我国国家密码局推荐的一种密
码杂凑算法,广泛应用于中国政府和企业的信息安全领域。
2. 研究目的
本文旨在通过对SM3密码杂凑算法的分析与研究,探究该算法的安全性、可靠性以及其在信息安全领域中的应用情况,为信息安全领域的
从业者提供研究参考和实用经验。
3. 研究内容
本文主要分为以下几个部分:
(1)SM3密码杂凑算法的基本原理:介绍SM3密码杂凑算法的基
本概念、算法流程和设计思路。
(2)SM3密码杂凑算法的安全性分析:分析SM3密码杂凑算法的
安全性,探究其是否存在被攻击的可能性。
(3)SM3密码杂凑算法的性能分析:分析SM3密码杂凑算法在不
同条件下的执行速度、抗干扰能力和其它性能指标,并与其他密码杂凑
算法进行比较。
(4)SM3密码杂凑算法的应用实例:通过对实际案例的分析,探究SM3密码杂凑算法在数字签名、随机数生成、消息认证码等方面的应用。
4. 研究方法
本文采用文献研究法和实证研究法相结合的方式,首先通过文献调研来了解SM3密码杂凑算法的基本概念,然后通过实验测试来验证其性能指标和应用效果。
5. 预期成果
本文预计能够全面深入地探究SM3密码杂凑算法的安全性、可靠性以及其在信息安全领域中的应用情况,为信息安全从业者提供研究参考和实用经验。
同时,本文还预计能够提出一些可行的改进方案,以进一步提高SM3密码杂凑算法的安全性、效率和应用范围。
2022年职业考证-软考-信息安全工程师考试全真模拟易错、难点剖析B卷(带答案)一.综合题(共15题)1.单选题SM3密码杂凑算法的消息分组长度为()比特。
问题1选项A.64B.128C.512D.1024【答案】C【解析】本题考查SM3算法相关知识。
2.单选题蜜罐技术是一种主动防御技术,是入侵检测技术的一个重要发展方向。
蜜罐有四种不同的配置方式:诱骗服务、弱化系统、强化系统和用户模式服务器,其中在特定IP服务端口进行侦听,并对其他应用程序的各种网络请求进行应答,这种应用程序属于()。
问题1选项A.诱骗服务B.弱化系统C.强化系统D.用户模式服务器【答案】A【解析】本题考查蜜罐安全技术。
诱骗服务:是指在特定IP服务端口上进行侦听,并像其他应用程序那样对各种网络请求进行应答的应用程序。
通常只有攻击者才会去访问蜜罐,正常用户是不知道蜜罐的存在的。
弱化系统:配置有已知弱点的操作系统,恶意攻击者更容易进入系统,系统可以收集有关攻击的数据。
强化系统:对弱化系统配置的改进。
用户模式服务器:是一个用户进程运行在主机上,并模拟成一个功能健全的操作系统,类似用户通常使用的操作系统。
答案选A。
3.单选题如果对一个密码体制的破译依赖于对某一个经过深入研究的数学难题的解决,就认为相应的密码体制是()的。
问题1选项A.计算安全B.可证明安全C.无条件安全D.绝对安全【答案】B【解析】本题考查密码体制安全性分类。
衡量密码体制安全性的基本准则有以下三种:(1)计算安全的:如果破译加密算法所需要的计算能力和计算时间是现实条件所不具备的,那么就认为相应的密码体制是满足计算安全性的。
这意味着强力破解证明是安全的,即实际安全。
(2)可证明安全的:如果对一个密码体制的破译依赖于对某一个经过深入研究的数学难题的解决,就认为相应的密码体制是满足可证明安全性的。
这意味着理论保证是安全的。
(3)无条件安全的:如果假设攻击者在用于无限计算能力和计算时间的前提下,也无法破译加密算法,就认为相应的密码体制是无条件安全性的。
《信息安全技术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 置换作为加强雪崩的基本运算,结合双字 介入的并行处理结构,增加了扩散和混乱的速度,在提高安全性的同时, 又保证 了算法的实现效率。