国密算法介绍

news/2024/5/8 7:16:09/文章来源:https://blog.csdn.net/java_faep/article/details/132451757

一、简述

商用密码

        商用密码是中华人民共和国政府用于非国家机密信息保护所采用的一系列密码技术和密码产品的总称,其相关技术为国家秘密。商用密码的研发及使用由国家密码管理局统一管理。

国密算法

        国密算法是指中国自主设计和使用的密码算法标准,其目的是保障信息安全和国家利益。目前,国密算法包括以下几个主要的密码算法:

二、SM1 分组加密算法

        SM1 为分组加密算法,对称加密,分组长度和密钥长度都为 128 位,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。算法安全保密强度及相关软硬件实现性能与 AES 相当,该算法不公开,仅以 IP 核的形式存在于芯片中,调用该算法时,需要通过加密芯片的接口进行调用,采用该算法已经研制了系列芯片、智能 IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

三、SM2 椭圆曲线公钥加密算法

        SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。

        该算法是一种基于ECC算法的非对称密钥算法,其加密强度为256位,其安全性与目前使用的RSA1024相比具有明显的优势。

        

        SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。

        随着密码技术和计算机技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。

SM2算法和RSA算法比较

SM2性能更优更安全:密码复杂度高、处理速度快、机器性能消耗更小。

SM2

RSA

算法结构

基本椭圆曲线(ECC)

基于特殊的可逆模幂运算

计算复杂度

完全指数级

亚指数级

存储空间

192-256bit

2048-4096bit

秘钥生成速度

较RSA算法快百倍以上

解密加密速度

较快

一般

四、SM3 杂凑算法

        SM3是国家采用的一种密码散列函数标准,由国家密码管理局于2010年12月17日发布。相关标准为“GM/T 0004-2012 《SM3密码杂凑算法》”。

        该算法也叫密码杂凑算法,属于哈希(摘要)算法的一种,杂凑值为256位,和SM2算法一起被公布。功能与MD5,SHA-1相同。产生256位的编码。该算法为不可逆的算法。具体算法也是保密。

        在商用密码体系中,SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其算法公开。据国家密码管理局表示,其安全性及效率与SHA-256相当。

密码散列函数

        密码散列函数(英语:Cryptographic hash function),又译为密码散列函数加密散列函数,是散列函数的一种。它被认为是一种单向函数,也就是说极其难以由散列函数输出的结果,回推输入的数据是什么。这样的单向函数被称为“现代密码学的驮马”。这种散列函数的输入数据,通常被称为消息(message),而它的输出结果,经常被称为消息摘要(message digest)或摘要(digest)。

        在信息安全中,有许多重要的应用,都使用了密码散列函数来实现,例如数字签名,消息认证码。

特性

一个理想的密码散列函数应该有四个主要的特性:

  • 对于任何一个给定的消息,它都很容易就能运算出散列数值。

  • 难以由一个已知的散列数值,去推算出原始的消息。

  • 在不更动散列数值的前提下,修改消息内容是不可行的。

  • 对于两个不同的消息,它不能给与相同的散列数值。

五、SM4 分组加密算法

        SM4.0(原名SMS4.0)是国家采用的一种分组密码标准,由国家密码管理局于2012年3月21日发布。相关标准为“GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)”。

        该算法为对称加密算法,随WAPI标准一起被公布,其加密强度为128位。此算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

        在商用密码体系中,SM4主要用于数据加密,其算法公开,分组长度与密钥长度均为128bit,加密算法与密钥扩展算法都采用32轮非线性迭代结构,S盒为固定的8比特输入8比特输出。

        SM4.0中的指令长度被提升到大于64K(即64×1024)的水平,这是SM 3.0规格(渲染指令长度允许大于512)的128倍。

相关概念

        在密码学中,分组加密(英语:Block cipher),又称分块加密块密码,是一种对称密钥算法。它将明文分成多个等长的模块(block),使用确定的算法和对称密钥对每组分别加密解密。分组加密是极其重要的加密协议组成,其中典型的如DES和AES作为美国政府核定的标准加密算法,应用领域从电子邮件加密到银行交易转帐,非常广泛。       

六、SM7 分组加密算法

        SM7算法,是一种分组密码算法,分组长度为128比特,密钥长度为128比特。SM7适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)。

产品特点

SM7国密算法的安全特性

1、真随机数发生器

2、采用SM7国密算法加密保护数据交互的安全

3、采用SM7国密算法三重相互安全认证机制

4、具有8个相互独立的128位密码,支持一卡一密和一卡多用

5、每张卡具有4字节的唯一序列号

应用

        SM7适用于非接IC卡应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通、公交一卡通)。

七、SM9 标识加密算法

        SM9是国家采用的一种标识密码标准,由国家密码管理局于2016年3月28日发布,相关标准为“GM/T 0044-2016 SM9标识密码算法”。

        SM9是基于对的标识密码算法,与SM2类似,包含四个部分:总则,数字签名算法,密钥交换协议以及密钥封装机制和公钥加密算法。在这些算法中使用了椭圆曲线上的对这一个工具,不同于传统意义上的SM2算法,可以实现基于身份的密码体制,也就是公钥与用户的身份信息即标识相关,从而比传统意义上的公钥密码体制有许多优点,省去了证书管理等。
        双线性对的双线性的性质是基于对的标识密码SM2中的总则部分同样适用于SM9,由于SM9总则中添加了适用于对的相关理论和实现基础。

        在商用密码体系中,SM9主要用于用户的身份认证。据新华网公开报道,SM9的加密强度等同于3072位密钥的RSA加密算法。

八、ZUC 祖冲之算法

        ZUC 为流密码算法,对称加密,该机密性算法可适用于 3GPP LTE 通信中的加密和解密,该算法包括祖冲之算法(ZUC)、机密性算法(128-EEA3)和完整性算法(128-EIA3)三个部分。已经被国际组织 3GPP 推荐为 4G 无线通信的第三套国际加密和完整性标准的候选算法。

        据了解,在日本福冈召开的第53次3GPP系统架构组会议上,我国祖冲之密码算法(ZUC)被批准成为新一代宽带无线移动通信系统(LTE)国际标准。祖冲之密码算法的名字源于我国古代数学家祖冲之,祖冲之算法集是由我国学者自主设计的加密和完整性算法,是一种流密码。它是两个新的LTE算法的核心,这两个LTE算法分别是加密算法128-EEA3和完整性算法128-EIA3。ZUC算法由3个基本部分组成,依次为:1、比特重组;2、非线性函数F;3、线性反馈移位寄存器(LFSR)。

        相关人士认为ZUC成为国际标准提高了我国在移动通信领域的地位和影响力,对我国移动通信产业和商用密码产业发展均具有重大而深远的意义。

        据悉,祖冲之密码算法是我国商用密码算法首次走出国门,参与国际标准竞争,扩大了祖冲之算法的公开评估范围。

九、几种算法对比

对称/可逆

算法名称是否可逆是否对称
SM2可逆非对称
SM2签名不可逆对称
SM3签名不可逆-
SM4可逆对称
SM9可逆对称
SM9签名不可逆-

秘钥长度

算法名称秘钥长度
SM2256位(64位16进制数)
SM2签名256位(64位16进制数)
SM3签名-
SM4128位(32位16进制数)
SM9不限制
SM9签名不限制

明/密文长度

算法名称算法模式是否补足(isPadding)长度关系
SM2可逆--M=(m-1)/3*8+202
SM2签名--M=140/142/144
SM3签名--M=64
SM4ECBm<10时,M=32;
m>=10时,M=[(m-10)/12+2]*32
SM4ECBM=[(m-1)/12+1]*32
SM4CBC-m<10时,M=32;
m>=10时,M=[(m-10)/12+2]*32

算法模式列:-表示不相关
是否补足列:-表示无此参数
长度关系列:M表示密文长度m表示明文长度

优势分析

国密算法作为推荐使用的加密算法,有它们自身与其他算法相较的优势:

SM2与RSA相比,SM2的密码强度更高,由于SM2算法是基于椭圆曲线上点群离散的对数难题,256位的SM2密码强度已经比2048位 RSA密码强度要高;

SM3与MD5和SHA-1相比,产生的杂凑值长度不同,SM3输出长度为256比特,MD5为128比特,SHA-1为160比特,作为杂凑算法,杂凑值越高,安全性越高,因此SM3算法的安全性要高于MD5算法和SHA-1算法;

SM4与3DES相比,SM4与AES具有相同的密钥长度(AES密钥长度为128位时)和分组长度,因此SM4安全性显著高于3DES。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_160580.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MYSQL 统计停车时长百分比

SELECTCOUNT(*) AS 数量,subquery.total_count AS 总数,COUNT(*) * 100 / subquery.total_count AS 百分比,CASEWHEN park_long < 900 THEN 15分钟以内WHEN park_long > 900 AND park_long < 3600 THEN 15-60分钟WHEN park_long > 3600 AND park_long < 10800 T…

C语言刷题(14)

第一题 第二题 第三题 第四题 第五题 第六题 第七题

【Java】树结构数据的搜索

这里写自定义目录标题 需要实现的效果前端需要的json格式&#xff1a;一定是一个完整的树结构错误错误的返回格式错误的返回格式实现的效果 正确正确的返回格式正确的展示画面 后端逻辑分析代码总览 数据库表结构 需要实现的效果 前端需要的json格式&#xff1a;一定是一个完整…

springboot之多数据源配置

文章目录 一、多数据源的典型使用场景1 业务复杂&#xff08;数据量大&#xff09;2 读写分离 二、如何实现多数据源通过AbstractRoutingDataSource动态指定数据源多数据源切换方式AOPMyBatis插件 三、spring集成多个Mybatis框架 实现多数据源控制四、多数据源事务控制1.只使用…

DNQ算法原理(Deep Q Network)

1.强化学习概念 学习系统没有像很多其它形式的机器学习方法一样被告知应该做出什么行为 必须在尝试了之后才能发现哪些行为会导致奖励的最大化 当前的行为可能不仅仅会影响即时奖励&#xff0c;还会影响下一步的奖励以及后续的所有奖励 每一个动作(action)都能影响代理将来的…

智能安全帽_防抖视频定位智能安全帽头盔

智能安全帽具备出色的性能、超低功耗、广范围覆盖和简单的外围电路等优势&#xff0c;同时还拥有丰富的外部接口。它支持移动/联通/电信的4G5G网络&#xff0c;涵盖了LTE-TDD频段(B34/B38/B39/B40/B41)、LTE-FDD频段(B1/B3/B5/B8)、WCDMA频段(B1/B5/B8)、TD-SCDMA频段(B34/B39)…

EureKa快速入门

EureKa快速入门 远程调用的问题 多个服务有多个端口&#xff0c;这样的话服务有多个&#xff0c;硬编码不太适合 eureKa的作用 将service的所有服务的端口全部记录下来 想要的话 直接从注册中心查询对于所有服务 每隔一段时间需要想eureKa发送请求 保证服务还存活 动手实践 …

git 统计(命令)

查询某人某个时刻提交了多少代码 added 添加代码 removed 删除代码 total 总代码 git log --author刘俊秦 --since2023-08-01 00:00:00 --until2023-08-23 23:00:00 --prettytformat: --numstat | awk { add $1; subs $2; loc $1 - $2 } END { printf "added lines: %s…

【vue+uniapp】切换本页面(点击导航按钮)就刷新接口

查阅资料&#xff1a;uni-app官网 点击导航中图标&#xff0c;就执行的方法&#xff08;和methods同级&#xff09;&#xff1a; onTabItemTap(e) {this.getTaskTotal(); },

亚马逊运营卖家注意了!亚马逊Review政策大变动

Review对于电商卖家们而言都是十分重要的&#xff0c;这是客户是否选择下单的必要核心因素。几乎所有卖家对于Review政策的变动都会十分敏感。一旦亚马逊对Review有所行动&#xff0c;卖家们内心都会有所震动。这不是昨天一大早起来&#xff0c;大家就发现前台搜索页面显示Revi…

Java版B/S架构 智慧工地源码,PC、移动、数据可视化智慧大屏端源码

智慧工地是什么&#xff1f;智慧工地主要围绕绿色施工、安全管控、劳务管理、智能管理、集成总控等方面&#xff0c;帮助工地解决运营、管理方面各个难点痛点。在互联网的加持下促进项目现场管理的创新与发展&#xff0c;实现工程管理人员与工程施工现场的整合&#xff0c;构建…

Qt+C++动力监控动画仿真SCADA上位机

程序示例精选 QtC动力监控动画仿真SCADA上位机 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<QtC动力监控动画仿真SCADA上位机>>编写代码&#xff0c;代码整洁&#xff0c;规则…

文件夹的批量下载

1.业务背景 公司想实现文件系统下载&#xff0c;上次图简单就草率的写了文件下载&#xff0c;这不趁着同事请假赶集吧这坑给填上。 2.遇到问题 刚准备开始写&#xff0c;就头疼&#xff0c;文件只要获得数据输出流就行&#xff0c;但是这文件夹需要维护层级关系。 前端…

(2023)Linux安装pytorch并使用pycharm远程编译运行

&#xff08;2023&#xff09;Linux安装pytorch并使用pycharm远程编译运行 安装miniconda 这部分参考我这篇博客的前半部分Linux服务器上通过miniconda安装R&#xff08;2022&#xff09;_miniconda 安装r_Dream of Grass的博客-CSDN博客 创建环境 创建一个叫pytorch的环境…

带你走进 字节跳动 消息队列

区别于#创作活动那一篇文章&#xff0c;这篇文章有我自己的重点内容颜色标记等注释&#xff0c;有注释的参加不了那个活动&#xff0c;所以发了两篇&#xff0c;不久之后那篇文章将会删除 消息队列前世今生 1.1 案例一&#xff1a; 系统崩溃 首先大家跟着我想象一下下面的这个的…

【解决问题】Transaction was marked for rollback only; cannot commit

问题现象&#xff1a; 导入文件的时候直接报错&#xff1a; Transaction was marked for rollback only; cannot commit; nested exception is org.hibernate.TransactionException: Transaction was marked for rollback only; cannot commit 中文意思大概是&#xff1a;事…

Cyanine5-alkyne在无机纳米领域的应用-星戈瑞

​欢迎来到星戈瑞荧光stargraydye&#xff01;小编带您盘点&#xff1a; Cyanine5-alkyne在无机纳米领域也有着诸多的应用&#xff0c;主要体现在以下几个方面&#xff1a; **1. 纳米颗粒表面功能化&#xff1a;**Cyanine5-alkyne作为反应性的炔基官能团&#xff0c;可以与含有…

uniapp 回退到指定页面 保存页面状态

uniapp 历史页面回退到指定页面。 getCurrentPages() 内容如下 let delta getCurrentPages().reverse().findIndex(item > item.route "pages/popularScience/daodi") if(delta-1){uni.navigateTo({url: /pages/popularScience/daodi,success: res > {},fa…

Linux后门大全-xinetd后门(二)

环境 靶机&#xff1a;centos7.6 攻击机&#xff1a;Linux 使用docker搭建靶机环境&#xff0c;当然也可以不使用docker&#xff0c;直接跳过创建容器的步骤即可 创建容器 #创建名为backdoorT4的特权容器&#xff0c;并使用/usr/sbin/init&#xff0c;因为容器默认不开启sy…

java电子病历源码 电子病历编辑器源码 病历在线制作、管理和使用

电子病历在线制作、管理和使用的一体化电子病历解决方案&#xff0c;通过一体化的设计&#xff0c;提供对住院病人的电子病历书写、保存、修改、打印等功能。电子病历系统将临床医护需要的诊疗资料以符合临床思维的方法展示。建立以病人为中心&#xff0c;以临床诊疗信息为主线…