国密SM4对称算法实现说明(原SMS4无线局域网算法标准)
来源:互联网 发布:朝鲜学汉语吗 知乎 编辑:程序博客网 时间:2024/05/09 03:04
转自: http://blog.csdn.net/goldboar/article/details/7483926
最近浏览了一下国密办的官方网站,新公布了国密算法标准,其中有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实现,测试数据通过。
添加: 20160913
对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)
0 0
- 国密SM4对称算法实现说明(原SMS4无线局域网算法标准)
- 国密SM4对称算法实现说明(原SMS4无线局域网算法标准)
- 国密SM4对称算法实现说明(原SMS4无线局域网算法标准)
- 无线局域网产品使用的SMS4密码算法及其实现
- 无线局域网产品使用的SMS4密码算法简单实现
- sms4算法Java实现
- 分组密码SM4算法的代码实现
- SM4国密算法实现分析
- SM4国密算法实现分析
- PHP实现国密算法SM4
- SM4密码算法(附源码)
- SM4密码算法(附源码)
- SM4密码算法(附源码)
- SM4分组密码算法
- 国家密码算法SM4(国密算法)介绍
- spring集成shiro实现登录认证自定义验证功能(认证采用国密SM4算法)
- java实现基于SM4算法计算联机MAC数据
- 国产SM4密码算法详解
- EventBus的使用
- day1404基本类型包装类
- POJ3169 Layout(差分约束 最短路)
- Java在线笔试编程(4)----计算质数
- Error:Cause: peer not authenticated修复
- 国密SM4对称算法实现说明(原SMS4无线局域网算法标准)
- 两个并排的div顶部不对齐
- spring中bean的基本xml配置
- STL::List用法详解
- 多么无力的教训啊(浮躁浮躁浮躁)
- jquery-遍历
- java基础05
- git常用操作
- ubuntu怎样更改用户名