国密算法(SM2,SM3,SM4)完善与算法辅助工具开发

原创 2013年03月14日 16:46:55

         国密算法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算法证书格式了,加密签名数据信息结构了,国密局虽然公开了其标准目录,但想找到免费的电子文档可真难啊,国家标准吗,就发布个电子版吗,方便分享,也会更好的促进算法推广和传播,有利于算法评测和应用啊,好像除了去出版社买就没其他途径了。
       
为了更好的介绍算法工具,现重新发布一下工具的UI界面。为理解和使用国密算法提供帮助。

      

SM2密钥生成与参数管理

 SM2签名与验签


 

 SM2密钥交换


 SM2加密与解密


 SM3和SM4算法工具




Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

ARM下的国密SM3软实现遇到的坑

国密SM3的C版本代码网上随处可摘,随便放到电脑上运行结果都很正确,可是放到ARM下就未必了。我遇到的是移植到iPhone上的坑,希望同行们不要再被坑到。 以下是PC上运行某问题的版本(网上直接摘...
  • wak0408
  • wak0408
  • 2015年12月21日 16:39
  • 3121

国密算法(SM2,SM3,SM4)辅助工具升级版(OTP+PBOC3.0)

从编写最初版本用于验算SM2,SM3和SM4算法的辅助工具已有一年多的时间了,国密算法的应用和普及也是不温不火的。编写最初算法代码和工具时所参考的文档还非正式的国密标准文件,而目前国密标准文件发布了几...
  • goldboar
  • goldboar
  • 2014年05月27日 09:43
  • 15223

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

SM4 CBC模式加密的C语言实现

因为工作的关系,最近在研究国密算法,其中无线局域网使用的SM4算法颇为神秘,网上资源也是少的可怜,不过在笔者的努力下,还是成功搞定了。 有感于SM4相关正确资料的稀少,同时也算是自我的学习积累,故写...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

【原创】SM4密码算法源码接口详解

【原创】SM4密码算法源码接口详解 最近几天想把cryptdb的加密算法换成国产的sm4加密算法,所以花了时间研究了一下sm4的源码和基本原理,避免忘记,写下这篇博客以作记录。 先介绍一下SM4算法,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:国密算法(SM2,SM3,SM4)完善与算法辅助工具开发
举报原因:
原因补充:

(最多只允许输入30个字)