SM3算法与原生MD5、SHA算法的比较

算法结构不同

在消息填充方面,几个hash算法基本相同,都是先在原始消息的最后加一位“1”,再添加k个“0”,最终要使l+1+k除以512后的余数为448,取其最小的非负整数。然后用一个64位的比特串标识原始消息的长度l。填充后的消息M正好是512位的倍数。(其中)
SM3算法的压缩函数与SHA-256的压缩函数具有相似的结构,但是SM3算法的设计更加复杂,比如压缩函数的每一轮都使用2个消息字。

安全性不同

摘要函数在密码学中具有重要的地位,被广泛应用在数字签名,消息认证,数据完整性检测等领域。摘要函数通常被认为需要满足三个基本特性:碰撞稳固性,原根稳固性和第二原根稳固性。
即:

●对于任何一个给定的消息,它都很容易就能运算出散列数值。
●难以由一个已知的散列数值,去推算出原始的消息。
●在不更动散列数值的前提下,修改消息内容是不可行的。
●对于两个不同的消息,它不能给与相同的散列数值。

2005年,Wang等人给出了MD5算法和SHA-1算法的碰撞攻击方法,现今被广泛应用的MD5算法和SHA-1算法不再是安全的算法。
SM3密码摘要算法是中国国家密码管理局2010年公布的中国商用密码杂凑算法标准。SM3算法适用于商用密码应用中的数字签名和验证,是在SHA-256基础上改进实现的一种算法。SM3算法采用Merkle-Damgard结构,消息分组长度为512位,摘要值长度为256位。现今为止,SM3算法的安全性相对较高。

效率不同

MD5、SHA1、SH2-256与SM3的对比:
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值