搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
秋刀鱼在做梦
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
人工智能 | 自然语言处理 —— 自然语言处理的一般流程_通过分词、去除停用词、 词性标注等操作对数据集进行清洗
2
游戏分组(100用例)C卷 (Java&&Python&&C语言&&C++&&Node.js)_游戏分组 java
3
spring boot druid spring监控_spring-boot-maven-plugin not found
4
[2024年]-flink面试真题(四)_flink面试题2024
5
python-learning20--高阶教程--基础阶段--python字符串--拼接操作
6
阿里巴巴矢量图标库使用_在线链接服务仅供平台体验和调试使用
7
C#程序申请向管理员权限运行_unity使用代码申请windows管理员权限
8
Ros message_filters (消息滤波器)介绍与使用-待完善_message filters ros wiki
9
html5边界是什么意思,边界感是什么意思
10
Windows下安全权限设置详解_将程序权限设置为用户级别
当前位置:
article
> 正文
国密算法概述(SM1、SM2、SM3、SM4、SM7、SM9、ZUC )_sm2 sm3 sm4
作者:秋刀鱼在做梦 | 2024-07-11 11:00:52
赞
踩
sm2 sm3 sm4
一、概述
为了保障商用密码的安全性,
国家密码局
制定了一系列密码标准,包括:SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC) 等。
其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法。
SM2、SM9是非对称算法。
SM3是哈希算法。
其中SM1、SM7算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
二、详述
2.1、
SM1对称密码
SM1 算法是分组密码算法,分组长度为128位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与 AES 相当,算法不公开,仅以IP核的形式存在于芯片中。
采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。
2.2、SM2椭圆曲线公钥密码算法
SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。另外,SM2推荐了一条256位的曲线作为标准曲线。
SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部分,并在每个部分的附录详细说明了实现的相关细节及示例。
SM2算法主要考虑素域Fp和F2m上的椭圆曲线,分别介绍了这两类域的表示,运算,以及域上的椭圆曲线的点的表示,运算和多倍点计算算法。然后介绍了编程语言中的数据转换,包括整数和字节串,字节串和比特串,域元素和比特串,域元素和整数,点和字节串之间的数据转换规则。
详细说明了有限域上椭圆曲线的参数生成以及验证,椭圆曲线的参数包括有限域的选取,椭圆曲线方程参数,椭圆曲线群基点的选取等,并给出了选取的标准以便于验证。最后给椭圆曲线上密钥对的生成以及公钥的验证,用户的密钥对为(s,sP),其中s为用户的私钥,sP为用户的公钥,由于离散对数问题从sP难以得到s,并针对素域和二元扩域给出了密钥对生成细节和验证方式。总则中的知识也适用于SM9算法。
在总则的基础上给出了数字签名算法(包括数字签名生成算法和验证算法),密钥交换协议以及公钥加密算法(包括加密算法和解密算法),并在每个部分给出了算法描述,算法流程和相关示例。
数字签名算法,密钥交换协议以及公钥加密算法都使用了国家密管理局批准的SM3密码杂凑算法和随机数发生器。数字签名算法,密钥交换协议以及公钥加密算法根据总则来选取有限域和椭圆曲线,并生成密钥对。
SM2算法在很多方面都优于RSA算法(RSA发展得早应用普遍,SM2领先也很自然),与RSA安全性对比如下图。
2.3、SM3杂凑算法
SM3密码杂凑(哈希、散列)算法给出了杂凑函数算法的计算方法和计算步骤,并给出了运算示例。此算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。在SM2,SM9标准中使用。
此算法对输入长度小于2的64次方的比特消息,经过填充和迭代压缩,生成长度为256比特的杂凑值,其中使用了异或,模,模加,移位,与,或,非运算,由填充,迭代过程,消息扩展和压缩函数所构成。具体算法及运算示例见SM3标准。
2.4、SM4对称算法
此算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由S盒所给出。其中rki为轮密钥,合成置换T组成轮函数。轮密钥的产生与上图流程类似,由加密密钥作为输入生成,轮函数中的线性变换不同,还有些参数的区别。SM4算法的具体描述和示例见SM4标准。
2.5、SM7对称密码
SM7算法,是一种分组密码算法,分组长度为128比特,密钥长度为128比特。SM7适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)。
2.6、SM9标识密码算法
为了降低公开密钥系统中密钥和证书管理的复杂性,以色列科学家、RSA算法发明人之一Adi Shamir在1984年提出了标识密码(Identity-Based Cryptography)的理念。标识密码将用户的标识(如邮件地址、手机号码、QQ号码等)作为公钥,省略了交换数字证书和公钥过程,使得安全系统变得易于部署和管理,非常适合端对端离线安全通讯、云端数据加密、基于属性加密、基于策略加密的各种场合。2008年标识密码算法正式获得国家密码管理局颁发的商密算法型号:SM9(商密九号算法),为我国标识密码技术的应用奠定了坚实的基础。
SM9算法不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。这些安全应用可采用手机号码或邮件地址作为公钥,实现数据加密、身份认证、通话加密、通道加密等安全应用,并具有使用方便,易于部署的特点,从而开启了普及密码算法的大门。
2.7、ZUC祖冲之算法
祖冲之序列密码算法是中国自主研究的流密码算法,是运用于移动通信4G网络中的国际标准密码算法,该算法包括祖冲之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三个部分。目前已有对ZUC算法的优化实现,有专门针对128-EEA3和128-EIA3的硬件实现与优化
密码算法作为国家战略资源,比历史上任何时候都显得更为关键。在大数据和云计算的时代,关键信息往往通过数据挖掘技术在海量数据中获得,所以每一个人的信息保护都非常重要。
注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/809933
推荐阅读
article
Python
轻量级Web框架
Flask
(9)——
图书馆
项目_
python
web
图书馆
代码...
完成该项目的前提是对
Flask
模型有足够的认识。可以看出在
Flask
模型中,models中主要是进行建立表结构的操作(一...
赞
踩
article
Web服务器群集
----
Apache
配置
与应用(
访问
控制
;
日志
分割)_
配置
web
服务器对
日志
的
访问
...
文章目录前言一:
Apache
配置
详解1.1:
Apache
连接保持1.1.1:为什么要保持连接1.1.2:保持连接的方式1...
赞
踩
article
AI
在
电商
中
的
应用系列文章_
人工智能
在
电商
行业
的
研究
背景
...
作者:禅与计算机程序设计艺术随着互联网
的
发展和普及,越来越多
的
人把目光投向了电子商务这个新领域。许多企业都希望通过这个平...
赞
踩
article
禁用
Windows2008
IE
增强
的
安全
配置
_警告:
internet
explorer
增强
的
...
Windows Server操作系统,在浏览器打开一个新网站都需要
安全
验证,这是因为 Internet Explorer...
赞
踩
article
软测
-测开
面试
题集合(
一
、
软测
知识篇)
_
侧开
面试
...
内容包括:
软测
基础, 计网, 数据结构, 操作系统, Linux, MySql, Python, Selenium等相关...
赞
踩
article
突发!
Runway
的
Gen
-
3
向所有人开放,媲美
Sora
!_
runway
gen
3
开源...
下面这个就是网友用多个
Gen
-
3
生成的视频,制作的一个美食介绍视频。比较遗憾的是,这次
Gen
-
3
并没有像前两代和Luma...
赞
踩
article
一起来学
自然语言
处理----学习
分类
文本(
决策树
、
朴素
贝叶斯
)_
决策树
文本
分类
csdn
...
学习
分类
文本有监督
分类
评估
决策树
朴素
贝叶斯
分类
器最大熵
分类
器为语言模式建模 模式识别是
自然语言
处理的一个核心部分。以-...
赞
踩
article
hive
中
insert
出现
values
__
tmp
__
table
__x表_
hive
中
insert
in...
刚开始学习
hive
,在
hive
2.1.1中,(要么这是一个bug?要么,
hive
底层在实现用
insert
语法插入数据时先...
赞
踩
article
sm3
算法
基本原理...
sm3
算法
是一种消息摘要
算法
,与我们熟知的MD5SHA1SHA256
算法
一样,也可称为Hash
算法
。它的主要特征就是加密...
赞
踩
article
网络安全
知识
学习_结合
所学
和
网上
知识
,写出自己
所学
到
的
网络安全
知识
...
经常看
到
一些网友在论坛发帖问该如何学习
网络安全
技术,说
的
直接一点就是想学习黑客攻防技术,最近有网友加我qq又谈
到
这个问题...
赞
踩
article
flask
-
apscheduler
定时
任务
被执行两次...
要么就不用
flask
-
apscheduler
模块而改用其他没有与
flask
集成的模块,因为
flask
-apschedul...
赞
踩
article
计算机
考试
二级
搜
题
软件,
计算机
二级
搜
题
库-可以帮助
计算机
二级
备考
生进行
备考
的刷题软件......
计算机
二级
搜
题
库是一颗刷题软件,可以帮助
计算机
二级
备考
生进行
备考
。
计算机
二级
搜
题
库app中提供了丰富的
题库
,
备考
生可以通...
赞
踩
article
国密
算法
-
SM2
_国密
sm2
...
国密
算法
是国家密码局制定标准的一系列
算法
,包括SM1、
SM2
、SM3、SM4等。其中,SM1是采用硬件实现的,不予讨论;...
赞
踩
article
2022年
重氮化
工艺考题及在线
模拟考试
_不需要
危险
化学品
企业
进行专项
安全
验收评价...
53、【单选题】根据《中华人民共和国
安全
生产法》,因生产
安全
事故受到损害的从业人员,除依法享有工伤社会保险外,依照有关民...
赞
踩
article
2024SCD
中文
期刊目录
新增
、
剔除
_2024年
scd
期刊目录
...
2024SCD
中文
期刊目录
新增
、
剔除
_2024年
scd
期刊目录
2024年
scd
期刊目录
...
赞
踩
article
非
关系
型
数据库
(
NoSQL
)与
关系
型
数据库
(
RDBMS
)的比较_
非
关系
型
数据库
哪个稳定...
在
数据库
技术中,
关系
型
数据库
(
RDBMS
)长期占据主导地位,但随着大数据和云计算的兴起,
非
关系
型
数据库
(
NoSQL
)逐渐...
赞
踩
article
您是否可以强制
Visual
Studio
始终以
Windows
8中的
管理员
身份运行?_强制visua...
In
Windows
7, you could go into a programs compatibility set...
赞
踩
article
Python
简单
封装
logging
日志
类_
python
中
logging
集成
到
类...
Python
简单
封装
logging
日志
类;简化命令行回显
日志
和写入
日志
到
文件。_
python
中
logging
集成
到
类p...
赞
踩
article
前端
禁止
页面
被查看源码
、
被
下载
_
不想
让
浏览器
下载
前端
发布包...
前端
防止
页面
被查看源码
、
被
下载
1
、
需要引入jQuery文件可以
下载
文件后导入项目http://jquery.com/do...
赞
踩
article
大厂
Java
研发
岗位
要求
你清楚吗?_
jawa
是
研发
岗吗...
正值“金九银十”的招聘季,各行各业对程序员的需求都有了较大的涨幅,BAT也增加了不少的
岗位
需求,其中对
Java
研发
工程师...
赞
踩
相关标签
flask
python
前端
linux
centos
运维
Apache 日志分割访问控制
大数据
人工智能
语言模型
Java
Python
架构设计
windows
ie
internet
server
服务器
浏览器
压力测试
功能测试
AIGC
自然语言处理
hive
big data