目录

1、SM1是一种分组加密算法

2、SM2是非对称加密算法

3、SM3是一种密码杂凑算法

4、SM4是分组加密算法

5、SM7是一种分组加密算法

6、SM9是基于标识的非对称密码算法

7、祖冲之密码算法是一种流加密算法


国密算法,即国家商用密码算法。是由国家密码管理局认定和公布的密码算法标准及其应用规范,其中部分密码算法已经成为国际标准。如SM系列密码,SM代表商密,即商业密码,是指用于商业的、不涉及国家秘密的密码技术。

商用密码有很多,作为一览,我整理出下表,列举了常用的国际跟国产商密:

下面逐个介绍下这些国密算法:

1、SM1是一种分组加密算法

对称加密算法中的分组加密算法,其分组长度、秘钥长度都是128bit,算法安全保密强度跟 AES 相当,但是算法不公开,仅以IP核的形式存在于芯片中,需要通过加密芯片的接口进行调用。

采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

2、SM2是非对称加密算法

它是基于椭圆曲线密码的公钥密码算法标准,其秘钥长度256bit,包含数字签名、密钥交换和公钥加密,用于替换RSA/DH/ECDSA/ECDH等国际算法。可以满足电子认证服务系统等应用需求,由国家密码管理局于2010年12月17号发布。

SM2采用的是ECC 256位的一种,其安全强度比RSA 2048位高,且运算速度快于RSA。

3、SM3是一种密码杂凑算法

用于替代MD5/SHA-1/SHA-2等国际算法,适用于数字签名和验证、消息认证码的生成与验证以及随机数的生成,可以满足电子认证服务系统等应用需求,于2010年12月17日发布。

它是在SHA-256基础上改进实现的一种算法,采用Merkle-Damgard结构,消息分组长度为512bit,输出的摘要值长度为256bit。

4、SM4是分组加密算法

跟SM1类似,是我国自主设计的分组对称密码算法,用于替代DES/AES等国际算法。SM4算法与AES算法具有相同的密钥长度、分组长度,都是128bit。于2012年3月21日发布,适用于密码应用中使用分组密码的需求。

5、SM7是一种分组加密算法

该算法没有公开。SM7适用于非接IC卡应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通、公交一卡通)。

6、SM9是基于标识的非对称密码算法

用椭圆曲线对实现的基于标识的数字签名算法、密钥交换协议、密钥封装机制和公钥加密与解密算法,包括数字签名生成算法和验证算法,并给出了数字签名与验证算法及其相应的流程。并提供了相应的流程。可以替代基于数字证书的PKI/CA体系。

SM9主要用于用户的身份认证。据新华网公开报道,SM9的加密强度等同于3072位密钥的RSA加密算法,于2016年3月28日发布。

7、祖冲之密码算法是一种流加密算法

它是中国自主研究的流密码算法,该机密性算法可适用于3GPP LTE通信中的加密和解密,该算法包括祖冲之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三个部分。目前已有对ZUC算法的优化实现,有专门针对128-EEA3和128-EIA3的硬件实现与优化,由国家密码管理局于2012年3月21日发布。

以上算法除了SM1、SM7算法未公开以外,其它算法及相关文档可以在国家密码局官网找到,算法源码也可以在商用密码检测官网下载到。

下载链接:http://www.scctc.org.cn/templates/Download/index.aspx?nodeid=71

推荐一个开源的支持国密的项目:GmSSL

GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准的安全应用。

http://gmssl.org/

感兴趣的话可以关注我的微信公众号【大胖聊编程】,我的公众号中有更多文章分享,也可以在公众号中联系到我,加好友一起交流学习。

参考链接:

国家密码管理局官网 :http://www.sca.gov.cn/sca/index.shtml

商用密码检测中心官网:http://www.scctc.org.cn/

国密算法分类及介绍(sm系列密码算法)相关推荐

  1. 国密SM1、SM2、SM3、SM4算法资料大全

    SM2国密算法证书解析: http://blog.csdn.net/yyfzy/article/details/46798965 http://blog.csdn.net/sunboy2718/art ...

  2. 国密SSL通信协议详细介绍与抓包分析

    最近研究有关SSL协议的物联网安全协议,看了很多资料并且结合TASSL在ubuntu上跑了一个简单的demo,因此有了一些自己的理解,那么就详细讲解一下我所知道的SSL,相信这一篇文章就可以让你全面了 ...

  3. 计算机视觉CV算法分类,计算机视觉(CV)的算法有哪些,具体都有哪些特点?...

    目前计算机视觉主要分类有目标识别.目标检测(识别+定位).目标分割(检测+分割),而应用层面就多了,文字描述较繁琐,简单地画了一部分,如下: 而算法层面,理论上是无穷种的,同一个需求,根据场景可能会有 ...

  4. 金融安全算法介绍系列5——国密算法

    前言: 为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长. 1. 简介 国密即国家密码局认定的国产密码算法.主要有 SM1,SM2,S ...

  5. 国密SM算法、RSA加密算法笔记

    一.国密即国家密码局认定的国产密码算法.主要有SM1,SM2,SM3,SM4.目前SM1算法没有公开,只能集成在芯片中.目前应用较多的是SM2.SM3和SM4算法,这三者用法不一. SM2公钥加密算法 ...

  6. 密码学系列 - 国密算法

    国密即国家密码局认定的国产密码算法.主要有SM1,SM2,SM3,SM4,SM9.密钥长度和分组长度均为128位. 国密算法种类 SM1 为对称加密.其加密强度与AES相当.该算法不公开,调用该算法时 ...

  7. 国密算法介绍-SM3及摘要算法(签名算法)国际SHA-256

    一.引入 由于项目中需要用到hash算法,然而研究生以来都没有接触过真正有关密码算法的项目,今天先了解下国密算法和密码学中应用最广泛的三类算法: 1.对称算法(分组密码算法)代表分组密码算法(DES和 ...

  8. 国密算法SM1,SM2,SM3,SM4介绍

    国密即国家密码局认定的国产密码算法.主要有SM1,SM2,SM3,SM4.密钥长度和分组长度均为128位. SM1 为对称加密. 其加密强度与AES相当.该算法不公开,调用该算法时,需要通过加密芯片的 ...

  9. 国家密码算法SM4(国密算法)介绍

    国密是国家密码局认定的国产密码算法.而与之对应的,现在被广泛使用des.3des等算法是国外人发明,我们称为国际算法. 加密算法采用国家密码算法SM4,密钥长度为16字节,加密算法详见附录A. 主要有 ...

  10. 安全算法 - 国密算法

    国密即国家密码局认定的国产密码算法.主要有SM1,SM2,SM3,SM4,SM7, SM9. 国密算法分类 国家标准官方网站如下:http://openstd.samr.gov.cn/bzgk/gb/ ...

最新文章

  1. 基于Struts 2的自定义类型转换器
  2. 查看linux java home_查看Linux中自带的jdk,设置JAVA_HOME
  3. python类方法是什么_python类方法和普通方法区别是什么
  4. dmesg时间转换工具
  5. Flutter Stack 帧布局,层叠堆放
  6. 修改web.conf不重启服务的方法
  7. 视频教程-基于VUE和Hplus通用后台管理系统(前端篇)-Vue
  8. sublime 格式化Json
  9. 如何打开caj文件,以及caj文件如何转换为PDF格式
  10. STM32H750移植STemWin,驱动ST7789
  11. 大数据Flink面试考题___Flink高频考点,万字超全整理(建议)
  12. fiilt1左耳连不上_FIIL T1完美解决真无线耳机的痛点:更快更稳更自由
  13. ijkplayer设置rtmp秒开
  14. 行人检测/人体检测综述
  15. vue 实现无限轮播_vue图片无限轮播
  16. 移动端和前端开发的共性
  17. A股上市公司裁判文书数据
  18. java计算两个日期时间之间的间隔
  19. 程序员入门有年龄限制吗?
  20. 搭建LNMP,可以解析PHP文件

热门文章

  1. python评分卡3_woe与IV分箱实现
  2. Python使用wordcloud词云库——中文乱码
  3. java timezone_详解Java中的时区类TimeZone的用法
  4. 使用百度OCR做答题软件辅助
  5. 大数据早报:极课大数据获得1亿元融资 美科学家利用机器学习挖出人们背后的自杀行为(11.1)
  6. whitening(白化)
  7. 目前微型计算机的工作原理,微机基本工作原理
  8. c语言程序设计课设简单,北京工业大学C语言程序设计课设报告.docx
  9. 避坑11_VScode在vue文件内template无法使用tab补齐标签
  10. implement 和 extends 的区别