国密算法(SM2,SM3,SM4)完善与算法辅助工具开发
国密算法SM2,SM3和改名发布的SM4的应用好像越来越多了。首先是国密SM2证书的升级,国内CA服务商要完成SM2算法证书支持,之后是国密算法在金融领域进行推广,新近编订的PBOC标准的增强安全部分,增加了SM2,SM3,SM4算法应用,但并没有像CA那样强行实施,也可能是考虑到国内金融IC卡刚刚按老标准上线吧。另外一个比较突出的是工信部下发要求各行业原应用RSA1024的企业进行国密SM2算法升级改造,给一个感觉,国密算法应用要遍地开花了。
笔者从在网上公开国密算法的测试代码后,有大量网友关心算法实现,问了很多我都难于解决的问题,看来国密算法应用还要走很长的时间。这也促使算法代码的完善,经过一段时间问题积累总算完成了全部的算法实现。SM2算法实现国密的3个算法,签名、密钥交换、公钥加密,SM4实现了多块加密处理,支持ECB、CBC、CFB、OFB的数据加密模式,SM3按PBOC中描述修改HMAC的块长处理,但比较遗憾的是,SM3-HMAC的标准测试数据没有找到。算法完善目的还是为了学习,就按以前经验开发了国密算法工具,用于算法应用的数据测试与验证。
SM2实现还是使用openssl来实现,有很多高手使用其他的大数库,或者自己的大数实现了SM2算法,看来国内的算法能人还是满多的啊,我这么个门外汉有点心虚,所以新的算法代码就不再与网友们分享了。而我看到很多人的目的还是商业用途,这与学习算法的初衷不大搭界了。但可以交流算法实现的问题。
目前算法标准公开了,但也有一点不太舒服的地方,就要应用新算法就是需要应用上的标准,如算法OID了,SM2算法证书格式了,加密签名数据信息结构了,国密局虽然公开了其标准目录,但想找到免费的电子文档可真难啊,国家标准吗,就发布个电子版吗,方便分享,也会更好的促进算法推广和传播,有利于算法评测和应用啊,好像除了去出版社买就没其他途径了。
其他也不多说,上个国密算法工具截图吧,是SM2密钥交换部分界面,也是最复杂的算法实现部分了。
国密算法(SM2,SM3,SM4)完善与算法辅助工具开发相关推荐
- 国密SM1\ SM2\ SM3\ SM4\ SSF33算法和国际RSA算法的对应关系
转载自https://blog.csdn.net/hcnetbee/article/details/53692579,部分内容和排版稍作修改. 国密算法由国家密码局发布,包含SM1\ SM2\ SM3 ...
- android 国密签名,关于国密 (sm2,sm3,sm4)在Linux、python、Android、java、ios中的...
国密即国家密码局认定的国产密码算法.主要有SM1,SM2,SM3,SM4和最新的sm9.在国内环境主要使用的国家密码局认定的算法. SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法, ...
- 国密算法 SM2 SM3 SM4 及密钥生成
国密算法 SM2 SM3 SM4 方式一:SM2密钥在线生成 SM2密钥在线生成工具 如果你没线下生成工具,可用下面2种线上生成方式之一: 1. sm2密钥在线生成(const.net.cn) 2. ...
- 国密算法 SM2 SM3 SM4分别用作什么
非对称加密SM2(可选支持国内SM9)算法实现数据的签名.验签和加解密对称密钥, SM3密码杂凑算法实现数据摘要的生成, 对称密钥SM4加密算法实现对数据内容的加密.
- php gmssl,支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱GmSSL
GmSSL概述 GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法.SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码 ...
- java sm_Java国密SM2/SM3/SM4及证书
1. 使用BC库1.59版本已经可以支持国密算法SM2/SM3/SM4,某大神写的详细测试例子:https://github.com/ZZMarquis/gmhelper 2. 制作证书参考网上资料简 ...
- 国密算法SM1/SM2/SM3/SM4
原创不易,转载请注明出处. 国密算法由国家密码局发布,今天大概介绍4中国密算法,分别是SM1,SM2,SM3,SM4.他们之间异同通过下表展示. 算法名称 算法分类 算法是否公开 明文最大长度(bit ...
- OpenSSL 1.1.1 新特性: 全面支持国密SM2/SM3/SM4加密算法
OpenSSL项目最近6个月添加了许多新特性, 包括对中国SM2/SM3/SM4算法的支持: SM2椭圆曲线: https://github.com/openssl/openssl/pull/4793 ...
- 国密 sm2,sm3,sm4 算法纯 JavaScript 实现
2014 年国务院办公厅就颁发了<国务院办公厅转发密码局等部门关于金融领域密码应用指导意见>,指出在我国涉及到金融领域信息安全的产品和系统要自主可控,在金融领域使用国产加密标准是机构走向合 ...
- javascript sm2 sm3 sm4 国密库
前面研究了iOS端的sm2,sm3,sm4,sm9,zuc国密.前端后期也会接入国密库,所以研究了下JavaScript的国密.如果需要知道算法原理的可以查看我之前的博客,或者看我的github上也有 ...
最新文章
- jQuery 的 serializeArray()、serialize() 方法
- 模板方法及策略设计模式实践
- 前端学习(1667):前端系列实战课程之拖拽
- 天池 在线编程 区间合并(字符串)
- Qt学习笔记-Qt5程序开机自启动(windows)
- pytest.mark.parametrize()基本用法
- mysql explain预估剖析
- 对话陆奇:用产品思维变革百度工程师文化,欣赏腾讯内部赛马机制
- BW Delta (增量)更新方法 .
- 2021年Java后端开发学习路线(建议收藏!)
- dnf mysql数据库密码,MYSQL8在CentOS8环境中的安装过程(DNF/YUM)
- 互联网金融常见的一些业务
- 关于解决Android studio:The emulator process for AVD Pixel_4_XL_API_30 has terminated 以及改变AVD存放位置
- SpringBoot实现邮箱发送验证码
- 简练软考知识点整理-创建工作分解结构过程
- python全栈生鲜电商_Django REST framework+Vue 打造生鲜电商项目(笔记一)
- 同步传输与异步传输【转载】
- C++ 类的相关语法,符号:和::的用法
- 计算机的教育领域的应用研究,浅析计算机科学技术在现代教育中的应用研究
- NAT端口映射的配置
热门文章
- 行人重识别实验笔记2-mmdetection代码配置(人体骨架结构分析)
- 交互设计师成长指引-从平凡到卓越
- Excel-VBA:文本转换数字
- 【群晖秘籍】如何在群晖中安装Redis数据库,群晖如何使用套件安装Redis(已解决无法访问问题)!
- h3c虚拟服务器设置方法,h3c 设置虚拟服务器
- 悉尼大学理学院计算机科学,悉尼大学理学院本科申请
- 【渝粤题库】陕西师范大学200601 英语报刊阅读
- python 豆瓣电影top250_python 爬豆瓣电影top250
- 矩阵分析:广义逆矩阵,{1}逆,MP逆,D逆
- 【C++篇】STL常见容器String的模拟实现