为了保障商用密码安全,国家商用密码管理办公室制定了一系列密码标准,包括
SSF33、SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法等等。

1、SM1算法。该算法是由国家密码管理局编制的一种商用密码分组标准对称算法,分组长度和密钥长度均为128位,算法的安全保密强度及相关软硬件实现性能与AES算法相当,目前该算法尚未公开,仅以IP核的形式存在于芯片中。

2、SM2算法。该算法是一种基于ECC算法的非对称密钥算法,其加密强度为256位,其安全性与目前使用的RSA1024相比具有明显的优势。

3、SM3算法。该算法也叫密码杂凑算法,属于哈希(摘要)算法的一种,杂凑值为256位,和SM2算法一起被公布。功能与MD5,SHA-1相同。产生256位的编码。该算法位不可逆的算法。具体算法也是保密。

4、SM4算法。该算法为对称加密算法,随WAPI标准一起被公布,其加密强度为128位。此算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

5.SM7对称密码
SM7算法是一种分组密码算法,分组长度为128比特,密钥长度为128比特。SM7的算法文本目前没有公开发布。SM7适用于非接IC卡应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通、公交一卡通)。

6 SM9非对称算法
SM9是基于对的标识密码算法,与SM2类似,包含四个部分:总则,数字签名算法,密钥交换协议以及密钥封装机制和公钥加密算法。在这些算法中使用了椭圆曲线上的对这一个工具,不同于传统意义上的SM2算法,可以实现基于身份的密码体制,也就是公钥与用户的身份信息即标识相关,从而比传统意义上的公钥密码体制有许多优点,省去了证书管理等。
双线性对的双线性的性质是基于对的标识密码SM2中的总则部分同样适用于SM9,由于SM9总则中添加了适用于对的相关理论和实现基础。


一、对称加解密比对

分组密码算法——国际DES、国产SM4

  分组密码就是将明文数据按固定长度进行分组,然后在同一密钥控制下逐组进行加密,从而将各个明文分组变换成一个等长的密文分组的密码。其中二进制明文分组的长度称为该分组密码的分组规模。

分组密码的实现原则如下:
  (1)必须实现起来比较简单,知道密钥时加密和脱密都十分容易,适合硬件和(或)软件实现.

  (2)加脱密速度和所消耗的资源和成本较低,能满足具体应用范围的需要.

国际的DES算法和国产的SM4算法的目的都是为了加密保护静态储存和传输信道中的数据,主要特性如下:

从算法上看,国产SM4算法在计算过程中增加非线性变换,理论上能大大提高其算法的安全性,并且由专业机构进行了密码分析,民间也对21轮SM4进行了差分密码分析,结论均为安全性较高。


二、RSA、SM2算法主要特性对比:


三、摘要算法——国产SM3

  摘要函数在密码学中具有重要的地位,被广泛应用在数字签名,消息认证,数据完整性检测等领域。摘要函数通常被认为需要满足三个基本特性:碰撞稳固性,原根稳固性和第二原根稳固性。

  2005年,Wang等人给出了MD5算法和SHA-1算法的碰撞攻击方法,现今被广泛应用的MD5算法和SHA-1算法不再是安全的算法。

SM3密码摘要算法是中国国家密码管理局2010年公布的中国商用密码杂凑算法标准。SM3算法适用于商用密码应用中的数字签名和验证,是在SHA-256基础上改进实现的一种算法。SM3算法采用Merkle-Damgard结构,消息分组长度为512位,摘要值长度为256位。

  SM3算法的压缩函数与SHA-256的压缩函数具有相似的结构,但是SM3算法的设计更加复杂,比如压缩函数的每一轮都使用2个消息字。
  现今为止,SM3算法的安全性相对较高。

国产密码安全算法总结相关推荐

  1. 信息安全工程师笔记-国产密码算法(国密)概念

    国产密码算法 国产密码算法有SM1分组密码算法.SM2椭圆曲线公钥密码算法.SM3密码杂凑算法.SM4分组算法.SM9标识密码算法. 算法名称 算法特征描述 SM1 对称加密,分组长度和密钥长度都为1 ...

  2. ISO/IEC国际标准组织收入的国产密码算法汇总

    我国SM2和SM9数字签名算法正式成为ISO/IEC国际标准 发布日期:2017-11-17来源:国家密码管理局 11月3日,在第55次ISO/IEC联合技术委员会信息安全技术分委员会(SC27)德国 ...

  3. 国密(国产密码)SM2、SM3、SM4 C#实现

    参考:http://www.voidcn.com/article/p-zlnqwzbd-cm.html 这两天与联通对接流量卡实名相关接口.他们用到了国密SM3,一个比较冷门的加密(或者说是签名)方式 ...

  4. 国密算法(SM3)java语言的实现:利用bcprov和huttol库来实现SM3算法,国产哈希算法

    SM3简介: SM3是国产哈希算法 SM3采用的一种密码散列函数标准,由国家密码管理局于2010年12月17日发布.相关标准为"GM/T 0004-2012 <SM3密码杂凑算法> ...

  5. 国密改造——银行系统国产密码改造应用

    一.何为国密改造? 2012年,工信部和公安部通告了RSA1024算法被破解的风险,为保证金融行业各基础信息系统安全,中国人民银行要求各银行对网上银行等信息系统进行国产密码算法改造.2012年,中国人 ...

  6. 浅析国家商用密码标准算法

    浅析国家商用密码标准算法 中国商用密码概况 概况 国产商密算法是我国自主研发.具有自主知识产权的一系列密码算法,具有较高安全性,由国家密码局公开并大力推广.我国公开的国产商用密码算法包括SM1.SM2 ...

  7. 【IoT】加密与安全:动态密码 OTP 算法详解

    动态密码,亦称一次性密码(One Time Password, 简称 OTP),是一种高效简单又比较安全的密码生成算法,在我们的生活以及工作中随处可见. 1.动态密码背景介绍 动态密码是指随着某一事件 ...

  8. JavaScript:实现CaesarsCiphe凯撒密码r算法(附完整源码)

    JavaScript:实现CaesarsCiphe凯撒密码r算法 const caesarsCipher = (str, rotation) => {if (typeof str !== 'st ...

  9. 江南天安基于国产密码构建ChinaDRM证书分发云服务

    1 引言 近年来,随着4K视频业务的发展及国内版权保护意识的提高,版权方和运营商的版权保护需求日益增长.为满足版权保护生态构建的需求,广电总局科技司于2016年9月批示成立ChinaDRM LAB,专 ...

最新文章

  1. Mysql —— C语言链接mysql数据库,命令行形式(getopt()函数),用户、用户组增删改查(用户组表内有用户控制的策略字段)
  2. MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
  3. signed distance field 算法
  4. html php打开,html格式如何打开
  5. system health_Health Hack 2014:开源,开放数据和跨学科协作的力量
  6. socket服务端处理多个客户端的请求学习理解
  7. 满足客户的需求是要有前提的!
  8. 【ASP.NET 基础】ASP.NET 目录操作
  9. 抓包测试:车牌识别抓拍一体机数据平台读取不到的问题
  10. igs无法分配驱动器映射表_CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了...
  11. erroe C1083:无法打开包括文件(源文件)
  12. 高德地图定位获取当前地址城市街道等详细信息(全部代码)
  13. PHP处理CODE128C条形码数据为标准的打印机ESC指令
  14. c语言编程计算π的值
  15. 人人影视 for Mac(美剧电影必备神器)
  16. intra-mart知识
  17. 最近很火的华为太空人表盘源码
  18. 笨方法学python 习题27
  19. 三维电子沙盘 智慧警务 一标三实方案书
  20. 创业公司股权结构设计

热门文章

  1. 显卡满载测试软件,如何让主机跑满载测试?
  2. 第1期:大数据为什么会这么火
  3. 点亮LED灯--制作流水灯
  4. 读《经济大棋局,我们怎么办》有感
  5. 计算机论文分类号 tp,中图法分类号(计算机专业) TP
  6. 审核 -链接 - 发布证书
  7. RGB 时序详解 时钟篇(二)
  8. transformer(”变形金刚“)
  9. 【MAFNet】 A Multi-Attention Fusion Networkfor RGB-T Crowd Counting解读
  10. windows7下建行网银点支付后页面无法响应