密码技术的安全可靠关系着我国网络安全,目前广泛应用的国际通用密码算法如RSA、SHA-1、MD5、DES、3DES、AES以及以这些算法为基础实现的数字签名/验签、数据加密/解密、密钥协商、身份识别等功能多为外国厂商,存在着安全隐患 。而我国具有自主知识产权和高安全强度的SM系列算法的推广和应用必将极大提高我国信息安全整体水平 。
我们公司使用的是自己写的算法实现,应该就是椭圆曲线,目前开源也是有多种实现方式,例如下面Gitee上面比较多的版本:
https://gitee.com/xshuai/algorithmNation
国密算法介绍
国密算法是我国自主研发创新的一套数据加密处理系列算法 。分别实现了对称加解密、非对称签名验签、摘要等算法功能 。
SM1、SM7算法:我国自主设计的分组对称密码算法,其加密强度与AES相当 。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用 。
SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能 。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高 。--- 目前主要用于替换RSA,可以利用公钥进行客户端信息的加密,服务器端进行私钥解密 。
【SM1~SM7 国密加密算法介绍】SM3算法:SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求 。为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性 。SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法 。
SM4算法:SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性 。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特 。
祖冲之序列密码算法:中国自主研究的流密码算法,是运用于移动通信网络中的国际标准密码算法,该算法包括祖冲之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三个部分 。
SM9算法:SM9标识密码算法不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保障 。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等 。
国密算法推广的必要性和意义
密码是保障网络与信息安全的核心技术和基础支撑,是解决网络与信息安全问题最有效、最可靠、最经济的手段 。特别是商用密码,广泛应用于国民经济发展和社会生产生活方方面面,涵盖金融和通信、公安、税务、社保、交通、卫生健康、能源、电子政务等重要领域,在维护国家安全、促进经济社会发展、保护公民、法人和社会组织合法权益方面发挥着重要作用 。
- 发展趋势、自主可控
- 安全性、行业趋势
- 政策要求、符合国情
国家密码管理局相关信息:
http://www.oscca.gov.cn/sca/xwdt/2012-11/22/content_1002397.shtml
CSDN介绍SM2加解密过程:
https://blog.csdn.net/weixin_45859485/article/details/113249352
头条相关介绍:
https://www.toutiao.com/article/7031490818066104871/?channel=&source=search_tab
推荐阅读
- SSL 通信双方如何判断对方采用了国密?
- 暗藏在QQ邮箱、百度网盘的国密算法到底是如何实现的?
- 国密算法在数据存储中的安全应用
- 支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱GmSSL
- 国密董酒品牌历史介绍
- C# 实现SM2国密加密帮助类
- 一图读懂《中华人民共和国密码法》|普法| 中华人民共和国
- 盗墓贼|中国密葬的几座古墓,不仅盗墓贼找不到,就连子孙都搞不清楚
- Shure发布取代SM7b的MV7混合USB/XLR动圈式麦克风
- 核电站|又要干什么?中国南海架起20口“大铁锅”,引各国密切关注