密码技术的安全可靠关系着我国网络安全,目前广泛应用的国际通用密码算法如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, 可以利用公钥进行客户端信息的加密,服务器端进行私钥解密。
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