利用国密算法的意义
随着金融安全上升到国家安全高度,近年来国家有关机关和监管机构站在国家安全和长远计策的高度提出了推动国密算法运用履行、加强行业安全可控的哀求。摆脱对国外技能和产品的过度依赖,培植行业网络安全环境,增强我国行业信息系统的“安全可控”能力显得尤为必要和急迫。密码算法是保障信息安全的核心技能,尤其是最关键的银行业核心领域长期以来都是沿用3DES、SHA-1、RSA等国际通用的密码算法体系及干系标准。2010年底,国家密码管理局公布了我国自主研制的“椭圆曲线公钥密码算法”(SM2算法)。为保障主要经济系统密码运用安全,国家密码管理局于2011年发布了《关于做好公钥密码算法升级事情的关照》,哀求“自2011年3月1日起,在建和拟建公钥密码根本举动步伐电子认证系统和密钥管理系统应利用国密算法。自2011年7月1日起,投入运行并利用公钥密码的信息系统,应利用SM2算法。”
国密即国家密码局认定的国产密码算法。紧张有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。

SM1
对称加密。其加密强度与AES相称。该算法不公开仅以 IP 核的形式存在于芯片中。
调用该算法时,须要通过加密芯片的接口进行调用。采取该算法已经研制了系列芯片、智能 IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛运用于电子政务、电子商务及国民经济的各个运用领域(包括国家政务通、警务通等主要领域)。
SM2
可以理解为国产RSA。非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其署名速率与秘钥天生速率都快于RSA。
SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字署名算法,SM2-2椭圆曲线密钥交流协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字署名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对付RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高,但运算速率快于RSA。
SM3
可以理解为国产MD5。择要。可以用MD5作为比拟理解。该算法已公开。校验结果为256位。
SM4
可以理解为国产AES。无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。
SM9
一种标识密码(IBE)算法,由国家密码管理局于2016年3月28日发布,干系标准为“GM/T 0044-2016 SM9标识密码算法”。紧张用于用户的身份认证。SM9的加密强度等同于3072位密钥的RSA加密算法。
一样平常数据发送端都是用SM4对数据内容加密,利用SM3对内容进行择要,再利用SM2对择要进行署名。
吸收端,先用SM2对择要进行验签,验签成功后就做到了防抵赖,对发送过来的内容进行SM3择要,看下天生的择要和验签后的摘假如否同等,用于防修改。
其余SM4在加密解密须要相同的密钥,这个我们可以通过编写密钥交流模块实现天生相同的密钥。用于SM4对称加密。
关于非对称还要把稳几点:
(1)公钥是通过私钥产生的;
(2)公钥加密,私钥解密是加密的过程
(3)私钥加密,公钥解密是署名的过程;
由于SM1、SM4加解密的分组大小为128bit,故对进行加解密时,若长度过长,须要进行分组,要长度不敷,则要进行添补。
国密算法的安全性
SM2算法:
SM3算法:SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码运用中的数字署名和验证认证码的天生与验证以及随机数的天生,可知足多种密码运用的安全需求。为了担保杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性。SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。
SM4算法:SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以担保数据和信息的机密性。要担保一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。