关于SM2、SM3、SM4、SM9这四种国密算法

简介: 本文介绍了四种国密算法——SM2、SM3、SM4和SM9。SM2是一种基于椭圆曲线的非对称加密算法,用于数据加密和数字签名;SM3是哈希算法,用于数字签名和消息完整性验证;SM4是对称加密算法,用于数据加密和解密;SM9是基于标识的非对称密码算法,适用于物联网环境中的数据安全和隐私保护。

以下是一个关于SM2、SM3、SM4、SM9这四种国密算法的表格:

算法名称

类型

描述

发布时间

应用场景

SM2

非对称加密算法

基于椭圆曲线密码算法,包含加解密算法、数字签名算法,安全强度高于RSA 2048位,运算速度快

2010年12月17日

数字签名和验证、消息认证码的生成与验证以及随机数的生成,适用于电子认证服务系统等

SM3

密码杂凑算法

结构上与SHA-256类似,但设计上有特定改进以增强安全性,生成256位的哈希值

-

主要用于数字签名和消息完整性验证

SM4

分组加密算法

与AES算法具有相同的密钥长度、分组长度(128bit),算法未公开

2012年3月21日

适用于密码应用中使用分组密码的需求

SM9

基于标识的非对称密码算法

使用椭圆曲线实现基于标识的数字签名算法、密钥交换协议等,加密强度等同于3072位密钥的RSA加密算法

2016年3月28日

主要用于用户的身份认证,可替代基于数字证书的PKI/CA体系

SM2  

类型:非对称加密算法,基于椭圆曲线密码学(ECC)。

用途:主要用于数据加密、解密、数字签名和身份认证等操作。它适用于国家关键信息系统的信息安全保障。

特点

  • 安全性高:基于椭圆曲线离散对数难题,能够有效防止黑客攻击。
  • 效率高:运算效率较高,能满足大量数据加密、解密和数字签名的需求。
  • 灵活性好:支持多种密钥长度,可根据实际需求灵活选择。
  • 自主创新:具有我国自主知识产权,能保障国家信息安全。

SM3

类型:哈希算法。

用途:主要用于数字签名和消息完整性验证。它是中国国家密码算法标准之一。

特点

  • 生成256位的哈希值。
  • 使用32轮的迭代运算,依赖于消息扩展、压缩函数、消息混淆等步骤。
  • 安全性较高,有特定的改进以增强安全性。

SM4

类型:分组密码算法,对称加密算法。

用途:可用于替代DES/AES等国际密码算法,实现数据加密和解密。

特点

  • 明文、密文以及密钥长度均为128位。
  • 采用32轮非线性迭代,涉及异或、合成置换、S盒变换等操作。
  • 解密过程仅需将加密密钥反序使用,算法结构简洁且高效。

SM9

类型:基于标识的非对称密码算法。

用途:在物联网(IoT)环境中实现数据安全和隐私保护,支持数字签名、身份验证和密钥交换等操作。

特点

  • 允许设备和实体使用其身份信息生成密钥对,简化了身份管理和密钥交换过程。
  • 支持群签名,群成员可以使用群签名密钥对进行签名操作,验证方可以验证签名的有效性,但无法确定签名的确切来源。
  • 在资源受限的物联网设备上运行时非常高效,适用于移动设备和嵌入式系统。
  • 提供了较强的隐私保护功能,允许用户在不泄露其真实身份的情况下进行身份验证和签名操作。
目录
相关文章
|
8月前
|
存储 算法 安全
.NET 平台 SM2 国密算法 License 证书生成深度解析
授权证书文件的后缀通常取决于其编码格式和具体用途。本文档通过一个示例程序展示了如何在 .NET 平台上使用国密 SM2 算法生成和验证许可证(License)文件。该示例不仅详细演示了 SM2 国密算法的实际应用场景,还提供了关于如何高效处理大规模许可证文件生成任务的技术参考。通过对不同并发策略的性能测试,开发者可以更好地理解如何优化许可证生成流程,以满足高并发和大数据量的需求。 希望这段描述更清晰地传达了程序的功能和技术亮点。
903 14
.NET 平台 SM2 国密算法 License 证书生成深度解析
|
8月前
|
弹性计算 算法 Linux
使用SM4算法加密LUKS格式磁盘
本文介绍了在Anolis 8操作系统使用cryptsetup对磁盘进行分区、加密和挂载的过程。采用SM4加密算法。具体步骤包括:初始化加密卷、解锁加密分区、格式化并挂载设备。最后,展示了如何取消挂载并关闭加密卷以确保数据安全。整个过程确保了磁盘数据的安全性和隐私保护。
477 2
使用SM4算法加密LUKS格式磁盘
|
算法 安全 Java
性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
【4月更文挑战第28天】性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
819 1
性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
|
算法 安全 物联网
如何应用SM2算法进行身份认证
【10月更文挑战第5天】如何应用SM2算法进行身份认证
691 1
|
存储 算法 安全
SM2算法的应用场景有哪些?
【10月更文挑战第5天】SM2算法的应用场景有哪些?
1009 1
|
算法 数据库 数据安全/隐私保护
铜锁探密,SM3杂凑算法加强至pro版
铜锁探密,SM3杂凑算法加强至pro版
387 0
|
存储 算法 安全
超级好用的C++实用库之国密sm4算法
超级好用的C++实用库之国密sm4算法
516 0
|
算法 安全 Serverless
超级好用的C++实用库之国密sm3算法
超级好用的C++实用库之国密sm3算法
568 0
|
算法 JavaScript 前端开发
JavaScript学习 -- SM4算法应用实例
JavaScript学习 -- SM4算法应用实例
679 0
|
Java BI C#
技术笔记:SM4加密算法实现Java和C#相互加密解密
技术笔记:SM4加密算法实现Java和C#相互加密解密
380 0

热门文章

最新文章

下一篇
oss教程