国密SM3就是我国的杂凑函数算法标准,国密SM3适用于商用密码应用中的数字签名和验证、消息认证码的生成与验证,以及随机数的生成,可满足多种密码应用的安全需求。同时,还可为安全产品生产商提供产品和技术的标准定位以及标准化的参考,提高安全产品的可信性和互操作性。

从算法流程图中我们可以看出,国密SM3算法和MD5一样,首先需对消息分组,分组大小也为512bits,如果最后一组长度不够分组,就进行填充;第二步就是对每一个分组实施迭代运算;最后输出长度为256bits的消息摘要。

国密杂凑标准SM3算法

国密杂凑标准SM3算法

国密SM3密码杂凑算法是我国自主提出的Hash函数,Hash函数是密码散列函数。它被认为是一种单向函数,也就是说极其难以由散列函数输出的结果,回推输入的数据是什么。这样的单向函数被称为“现代密码学的驮马”。这种散列函数的输入数据,通常被称为消息,而它的输出结果,经常被称为消息摘要或摘要。

理想的密码散列函数应该有四个主要的特性:

(1)对于任何一个给定的消息,它都很容易就能运算出散列数值。

(2)难以由一个已知的散列数值,去推算出原始的消息。

(3)在不更动散列数值的前提下,修改消息内容是不可行的。

(4)对于两个不同的消息,它不能给与相同的散列数值。

在商用密码体系中,国密SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其算法公开。据国家密码管理局表示,其安全性及效率与SHA-256相当。