国密算法是什么机构制定的规范?

更新时间:2024-04-02 来源:网络 作者:网络

国密算法是中国国家密码管理局制定的标准,包括SM1、SM2、SM3、SM4等,广泛应用于电子政务、金融等领域,保障信息安全与自主可控能力。

什么国密算法?是什么机构制定的规范?

国密算法,即国家密码算法,是由中国国家密码管理局制定和公布的密码算法标准及其应用规范。

这些算法标准包括临时加密算法、非临时加密算法、杂凑算法等多种类型,目的在国家保障信息安全方面,减少对外部密码产品的依赖,并提升网络信息安全和自主可控能力。

国密算法不仅适用于中国国内的信息系统,还在国际上得到认可和应用。


国家密谋的发展背景

国密算法的推出背景是加强国家信息安全,减少对外部密码技术的依赖,尤其是在国际政治形势复杂多变的大环境下。

随着信息技术的发展和网络应用的普及,对信息安全的重要性程度极大增加,国家密码算法因此成为国家战略的重要组成部分。


国家密码算法的主要组成

密码分类二级密码分类国产商用密码国际商用密码
对称加密分组加密/块加密SM1/SCB2 SM4/SMS4 SM7DES IDEA AES RC5 RC6
对称加密序列加密/流加密ZUC(祖冲之算法) SSF46RC4
非对称/公钥加密大数分解RSA DSA ECDSA Rabin
非对称/公钥加密离散对数SM2 SM9DH DSA ECC ECDH
密码杂凑/散列SM3MD5 SHA-1 SHA-2

国家密码算法主要包括以下几种:

  • SM1:终极加密算法,128位密钥长度,备份加密。
  • SM2:非精确加密算法,基于椭圆曲线算法,256位密钥长度。
  • SM3:杂凑算法,用于数字签名和验证,消息认证码的生成与验证。
  • SM4:临时加密算法,用于替代 DES/AES 等国际算法。

国密算法的应用场景

国密算法被广泛评估中国的电子政务、电子商务、金融等多个领域,用于保护重要信息流转的数据安全。

例如,在金融领域,国密算法被用于SSL证书来交易双方的身份认证和数据传输保密性。

国家密码算法与国际标准的联系

国家密码算法中的一些算法如SM2、SM3、SM4已被纳入国际标准,这表明国家密码算法在国际上也得到了认可。


国密算法详解

SM1 算法详解

SM1是一种分组加密算法,加密算法中的分组加密算法,其分组长度、密钥长度均为128bit,算法安全保密强度与AES相当,但算法不公开,仅以IP加密的形式存在于芯片上中,需要通过加密芯片的接口进行调用。

SM2 算法详解

SM2是基于椭圆曲线密码的公钥密码算法标准,其密钥长度256bit,包含数字签名、密钥交换和公钥加密,用于替换RSA/DH/ECDSA/ECDH等国际算法。可以满足电子认证服务系统等应用需求,由国家密码管理局于2010年12月17号发布。

SM3 算法详解

SM3是一种密码杂凑算法,用于替代MD5/SHA-1/SHA-2等国际算法,适用于数字签名和验证、消息认证码的生成与验证以及随机数的生成,可以满足电子认证服务系统等应用需求,于2010年12月17日发布。

SM4算法详解

SM4是分组加密算法,与SM1类似,是我国自主设计的分组加密算法,用于替代DES/AES等国际算法。SM4算法与AES算法具有相同的分组长度、分组长度,均为128bit。 2012年3月21日发布,适用于密码应用中使用分组密码的需求。


国家密码算法的应用案例

国家密码算法在多个领域内发挥着重要作用,例如:

  • 在金融领域,国家加密算法被用于SSL证书来交易双方的身份认证和数据传输的保密性。
  • 在车联网领域,国密算法被用于车辆货车T-BOX存储和传输数据的加密。
  • 在数据存储领域,国密算法被用于保证数据的安全存储。

国家密码算法与国际密码算法的比较

算法类型算法名称分组长度密钥长度核心技术特点 / 安全性对比
对称加密国密 SM4128位128位安全强度与AES-128相当,采用非线性迭代分组结构。
对称加密国际 AES128位128/192/256位国际通用标准,利用置换组合架构,加解密速度极快。
非对称加密国密 SM2结构不分块256位基于椭圆曲线密码原理,256位安全强度超过2048位RSA。
非对称加密国际 RSA2048/4096位2048/4096位基于大整数因子分解困难原理,密钥较长,运算开销相对较大。
非对称加密国际 ECC结构不分块256/384位国际主流椭圆曲线算法,相同密钥长度下安全强度与SM2相近。
杂凑算法国密 SM3512位分块256位输出输出长度与SHA-256相同,增加了非线性函数,抗碰撞能力强。
杂凑算法国际 SHA-256512位分块256位输出国际通用摘要算法,属于SHA-2系列,广泛应用于证书签名。

国密算法与国际算法在技术上基于相似原理,但参数与细节存在差异。国密算法在分组长度、密钥长度、安全性、爆炸速度等方面都与国际同类算法相似的对比。


国家密码算法在未来会有哪些新的发展趋势

发展方向核心趋势
自主可控满足国产化战略,加速替代国外通用算法。
技术创新开展抗量子密码研究,攻克潜在算力威胁。
国际认可推进国际标准制定,扩大海外落地范围。
行业落地深入物联网与数字经济,加速密评合规进程。
性能提升优化硬件适配与算法结构,提高处理速度。
长期防御动态升级现有机制,应对密码学新挑战。

了解国密算法

基于Go语言的国密算法:

同济研究院国密算法

SM2: 国密椭圆曲线算法库

  • 支持加密和不加密的pem文件格式(加密方法参见RFC5958, 具体实现参加代码)
  • 支持证书的生成,证书的读写(接口兼容rsa和ecdsa的证书)
  • 支持证书链的操作(接口兼容rsa和ecdsa)
  • 支持crypto.Signer接口

SM3: 国密Hash算法库(摘要算法)

  • 支持基础的sm3Sum操作
  • 支持hash.Hash接口

SM4: 国密分组密码算法库

  • 支持Generate Key, Encrypt, Decrypt基础操作
  • 提供Cipher.Block接口
  • 支持加密和不加密的pem文件格式(加密方法为pem block加密, 具体函数为x509.EncryptPEMBlock)

Fabric的国密扩展方法

一种是基于Fabric本身扩展国密包。这种改法不用对Golang标准库做任何地改动,所有的修改都在Fabric项目源码上进行;

其一,把国密的库进行移植,封装gm-crypto;

其二,扩展Fabric现有的bccsp模块;

其三,修改x509证书相关的地方。

Fabric-CA主要是为了实现对加入联盟链的成员的身份控制以及数据生成保管。Fabric-CA中,Lib,主要是接口的实现,主要在解析申请证书请求以及签发证书流程要替换为国密算法;Util,该包数据工具类,主要在证书的编解码等操作中扩展国密算法;Vendor中,替换对Fabric的包的引用,提供对国密算法的支持

在Fabric中扩展国密算法,大概有以下几个方面:

  • 第一,Fabric框架扩展支持国密算法;
  • 第二,Fabric-CA扩展支持国密算法;
  • 第三,Fabric-SDK扩展支持国密算法;
  • 第四,fabric-baseimage、fabric-baseos镜像扩展支持国密算法;
  • 第五,Fabirc框架扩展支持加载.so库。”

另一种方法是基于Golang标准库扩展国密。这种方案是直接扩充Golang标准库,改法更为清晰。

有用
分享
无用
反馈
返回顶部
0 个回答
2262 次浏览
立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 - SSL证书申请与HTTPS加密平台 | TopSSL
提供免费与付费SSL证书申请
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

2004-2026 © 北京传诚信  版权所有 | TopSSL 提供免费SSL证书申请、HTTPS加密部署及企业级SSL证书服务,支持网站安全连接、数字证书安装与浏览器信任验证。  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn