转自:https://blog.csdn.net/andylau00j/article/details/54427395

国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。

SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。

SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。

SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。

SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。

由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。

SM2,SM3,SM4的相关文档可以参考如下链接:

http://218.241.108.63/wiki/index.php/首页

SM2,SM3,SM4的C代码如下:

http://files.cnblogs.com/files/TaiYangXiManYouZhe/Sm2_sm3_sm4_c%E8%AF%AD%E8%A8%80%E5%AE%9E%E7%8E%B0.zip

补充:

当使用特定的芯片进行SM1或其他国密算法加密时,若用多个线程调用加密卡的API时,要考虑芯片对于多线程的支持情况。

国产密码算法(国密算法)是指国家密码局认定的国产商用密码算法,在金融领域目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。

SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。

SM3算法:SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。

SM4算法:SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。

转载于:https://www.cnblogs.com/coolYuan/p/8630280.html

sm1、sm2、sm3、sm4简单介绍相关推荐

  1. 国密SM1\ SM2\ SM3\ SM4\ SSF33算法和国际RSA算法的对应关系

    转载自https://blog.csdn.net/hcnetbee/article/details/53692579,部分内容和排版稍作修改. 国密算法由国家密码局发布,包含SM1\ SM2\ SM3 ...

  2. SM? SM1? SM2? SM3? SM4?

    最近看了一个项目的代码,用到了SM2,SM3,SM4,瞬间懵逼,一会用SM2,一会用SM3,一会又用SM4,SM??? 简单来说,SM2,SM3,SM4 是国家密码局认定的国产密码算法,当然除了这几个 ...

  3. 国密算法SM1/SM2/SM3/SM4

    原创不易,转载请注明出处. 国密算法由国家密码局发布,今天大概介绍4中国密算法,分别是SM1,SM2,SM3,SM4.他们之间异同通过下表展示. 算法名称 算法分类 算法是否公开 明文最大长度(bit ...

  4. 爬虫逆向基础,认识 SM1/SM2/SM3/SM4/SM7/SM9/ZUC 国密算法

    文章目录 [01x00] 简介 [02x00]算法概述 [03x00]算法详解 [03x01]SM1 分组加密算法 [03x02]SM2 椭圆曲线公钥加密算法 [03x03]SM3 杂凑算法 [03x ...

  5. 国密算法(SM1,SM2,SM3,SM4)和国际算法对应关系

    加密领域主要有国际算法和国密算法两种体系.国密算法是国家密码局认定的国产密码算法.国际算法是由美国安全局发布的算法.由于国密算法安全性高等一系列原因.国内的银行和支付机构都推荐使用国密算法. 国密与国 ...

  6. SM1 SM2 SM3 SM4加密算法

    2010 年开始,我国国家密码管理局就已经开始陆续发布了一系列国产加密算法,这其中就包括 SM1.SM2.SM3 .SM4.SM7.SM9.ZUC(祖冲之加密算法)等,SM 代表商密,即商业密码,是指 ...

  7. java sm_Java国密SM2/SM3/SM4及证书

    1. 使用BC库1.59版本已经可以支持国密算法SM2/SM3/SM4,某大神写的详细测试例子:https://github.com/ZZMarquis/gmhelper 2. 制作证书参考网上资料简 ...

  8. php gmssl,支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱GmSSL

    GmSSL概述 GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法.SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码 ...

  9. OpenSSL 1.1.1 新特性: 全面支持国密SM2/SM3/SM4加密算法

    OpenSSL项目最近6个月添加了许多新特性, 包括对中国SM2/SM3/SM4算法的支持: SM2椭圆曲线: https://github.com/openssl/openssl/pull/4793 ...

  10. 国密算法 SM2 SM3 SM4 及密钥生成

    国密算法 SM2 SM3 SM4 方式一:SM2密钥在线生成 SM2密钥在线生成工具 如果你没线下生成工具,可用下面2种线上生成方式之一: 1. sm2密钥在线生成(const.net.cn) 2.  ...

最新文章

  1. json转换模型利器--JSONExport
  2. 每天学一点flash(75) ToolTip 提示
  3. 爬取 wallhaven图片到本地壁纸库
  4. oracle shared_pool_size 0,Oracle 参数shared_pool_size
  5. windows10 1909 X64位 精简优化珍藏版
  6. 页式存储系统的逻辑地址是由页号和页内地址两部分组成的
  7. Context是什么
  8. android x86安装到硬盘不能启动,PC下安装androidx86一些问题的解决方法,gui start
  9. yolo 深度学习_YoLo v1-v3深度学习网络-结构简介
  10. spring 中使用tdd_通过JavaScript中基于属性的TDD的钻石方块
  11. Appium 真机测试
  12. DZY Loves Math 系列详细题解
  13. 触摸!天空龙 - 锻炼极速反应力
  14. muduo学习笔记:net部分之Http--HttpServer
  15. 【C语言】浮点型数据在内存中的存储方式
  16. vfio概述(vfio/iommu/device passthrough)
  17. 小傻蛋的妹妹跟随小甲鱼学习Python的第十八节018
  18. 涂鸦智能股权曝光:王学集持股19.9% 公司市值蒸发超百亿美元
  19. substance的使用示例(转)
  20. 開運算、閉運算(morphologyEx、MORPH_OPEN、MORPH_CLOSE)

热门文章

  1. Node-RED教程(十四):定制Node-REDUI
  2. 微信小程序开发【知识点大全】
  3. css3利用animation关键帧动画实现轮播图
  4. fastDFS+fastDFS-nginx-module安装部署在线预览
  5. Dubbo——远程(RPC)调用原理
  6. 模型7——多元线性回归分析
  7. 今天,Java27岁了!
  8. 生成型对抗性网络的基本定义和介绍:什么叫生成
  9. 腾讯企业邮箱怎么样?几大收费企业邮箱对比测评
  10. python 之 __slots__