现在的位置: 首页 > 综合 > 正文

[转]国密SM4对称算法实现说明(原SMS4无线局域网算法标准)

2012年02月14日 ⁄ 综合 ⁄ 共 552字 ⁄ 字号 评论关闭

最近浏览了一下国密办的官方网站,新公布了国密算法标准,其中有SM4算法,说明为原SMS4算法,既无线局域网标准的分组数据算法,可参考

http://www.oscca.gov.cn/News/201204/News_1228.htm 公告说明,但不能下载标准文档 。
    SM4为对称算法,密钥长度和分组长度均为128位。按原SMS4的标准描述:加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加

密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
    看了一下,算法中还描述了类似于DES算中的S盒变换。那如何来设计这个算法,在网上查询一下实现的代码还是满多的,按之前的经验参照

Xyssl算法风格和网上查询的示例代码实现C语言实现代码。在此非常感谢Xyssl和

http://hi.baidu.com/numax/blog/item/80addfefddfb93e4cf1b3e61.html这位版主。
    改造后的代码实现了ECB和CBC两种加密模式,未处理数据填充Padding,使用时数据设置为16的倍数。源代码请参考CSDN的资源链接:

http://download.csdn.net/detail/goldboar/4244270,使用VC6实现,测试数据通过。

抱歉!评论已关闭.