xiaoyuzhou1228

浅谈国密算法

0
阅读(236) 评论(22)

国密算法是我国自主研发创新的一套数据加密处理系列算法。从SM1-SM4分别实现了对称、非对称、摘要等算法功能。特别适合应用于嵌入式物联网等相关领域,完成身份认证和数据加解密等功能。当然,默认的前提条件是算法密钥必须保证安全性,因此要将国密算法嵌入到硬件加密芯片中结合使用。

1.使用国密算法的意义

随着金融安全上升到国家安全高度,近年来国家有关机关和监管机构站在国家安全和长远战略的高度提出了推动国密算法应用实施、加强行业安全可控的要求。摆脱对国外技术和产品的过度依赖,建设行业网络安全环境,增强我国行业信息系统的“安全可控”能力显得尤为必要和迫切。

密码算法是保障信息安全的核心技术,尤其是最关键的银行业核心领域长期以来都是沿用3DES、SHA-1、RSA等国际通用的密码算法体系及相关标准。2010年底,国家密码管理局公布了我国自主研制的“椭圆曲线公钥密码算法”(SM2算法)。为保障重要经济系统密码应用安全,国家密码管理局于2011年发布了《关于做好公钥密码算法升级工作的通知》,要求“自2011年3月1日起,在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用国密算法。自2011年7月1日起,投入运行并使用公钥密码的信息系统,应使用SM2算法。”

2.国密算法介绍

国密即国家密码局认定的国产密码算法。主要有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,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。

3.国密算法的安全性

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算法。


  1. 我也听说过这款型号,有朋友用过,听说效果还不错,口碑也很好


  2. @miniminimini   

    有什么芯片支持国密算法?

    我知道凌科芯安的LKT4201N就支持的

  3. 有什么芯片支持国密算法?

  4. 庞大的话 还是别用非对称算法了吧,占用时间太长,当然也要看实际时间要求

  5. 加密的数据量比较庞大该用哪个加密算法比较合适呢?

  6. 个人觉得还是国密算法更可靠,据说国家对国密算法的加密芯片监管很严的


  7. @pennysam   

    国密算法和RSA算法哪个更安全


    相对于RSA算法,国密SM2算法在安全性、性能上都具有优势,如256位的SM2密码强度已经比2048位的RSA密码强度要高


  8. 国密算法和RSA算法哪个更安全

  9. 这个具体的还是在网上查询吧,一般是按照密钥的长度来算的。

  10. SM2密钥加密数据,对明文数据长度有什么要求?最大可以加密多少字节明文数据?

  11. 一般都是在硬件内部完成的,要有协处理器要求,据说支付宝刷公家卡就是用的国密算法。

  12. 国密算法对硬件有什么硬性的要求吗??

  13. 说的很对,就是需要整体设计好了,才完美。其实算法本身是安全的,但是具体应用也要合理化,这样才能将安全性发挥到极致


  14. 国密算法不管是从本身安全和国家监管上算是目前安全性很高的算法了。但还是要求硬件具有不可破解的安全性才完美。

  15. 看了此文章,相信内置了国密算法的产品一定是具有十分安全保障的,支持国产的