0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

国密算法成员介绍

MCU开发加油站 来源:MCU开发加油站 作者:MCU开发加油站 2022-03-25 11:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着信息化技术的飞速发展,信息安全问题已经影响到日常生活甚至国家安全。摆脱对国外技术和产品的过度依赖,建设行业网络安全环境,增强行业信息系统的“安全可控”能力显得尤为必要和迫切,国家有关机构站在国家安全和长远战略的高度提出了推动国密算法应用实施、加强行业安全可控的要求。

极海APM32F407系列MCU,结合当前环境要求,设计出了支持国密算法(SM2,SM3,SM4)的IP, 符合国家密码管理局认定和公布的密码算法标准及其应用规范,并凭借显著的性能优势,已应用至新能源工业控制、医疗设备等众多领域。

国密算法成员介绍 ·

国密算法(国家商用密码算法),是国家密码管理局指定的自主可控的国产算法,包含SM1,SM2,SM3,SM4,SM7,SM9,ZUC(祖冲之算法)等。

SM1

分组加密算法(算法不公开),安全保密强度跟 AES 相当,仅以IP核的形式存在于芯片中,需要通过加密芯片的接口进行调用。

SM2

非对称加密算法(算法公开),基于椭圆曲线密码(ECC)的公钥密码算法标准,适用签名/验签,加解密,密钥交换,信息加密,登录认证等。可替代RSA/DH/ECDSA/ECDH等国际算法。

SM3

是一种密码杂凑算法,其算法公开。适用于数字签名和验证、消息认证码的生成与杂凑算法(算法公开),适用数字签名/验证、消息认证码的生成/验证,以及随机数摘要的生成,可满足电子认证服务系统等应用需求。可替代MD5/SHA-1/SHA-2等国际算法。验证以及随机数的生成,可以满足电子认证服务系统等应用需求。用于替代MD5/SHA-1/SHA-2等国际算法。

SM4

是一种分组加密算法,其算法公开。是我国自主设计的分组对称对称加密(算法公开),我国自主设计的分组对称密码算法,与AES算法具有相同的密钥长度、分组长度,即128bit,适用无线区域网标准。可替代DES/AES等国际算法。密码算法,与AES算法具有相同的密钥长度、分组长度,都是128bit。用于替代DES/AES等国际算法。

SM7

分组加密算法(算法不公开)。适用于非接IC卡应用包括身份识别类应用,票务类应用,支付与通卡类应用。

SM9

基于标识的非对称密码算法(算法公开)。加密强度等同于3072位密钥的RSA加密算法,适用与身份认证(云技术,电子邮件,智能终端,互联网等),可替代基于数字证书的PKI/CA体系。

ZUC

流加密算法,可适用于3GPP LTE通信中的加解密。

对称加密与非对称加密 ·

对称加密:指信息的发送方和接收方采用同一个密钥去进行数据的加密和解密。

40aa2b5c-98a7-11ec-952b-dac502259ad0.png40c1dd60-98a7-11ec-952b-dac502259ad0.png非对称加密:指需要两个不同的密钥(公开密钥public key、私有密钥private key)进行加解密,如果用公开密钥对数据进行加密,只有对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有对应的公开密钥才能解密。40e7ee42-98a7-11ec-952b-dac502259ad0.png41109234-98a7-11ec-952b-dac502259ad0.png

SM2/SM3/SM4 ·

物联网和信息安全领域,主要使用SM2,SM3,SM4对设备进行验证、签名、加密通信,从而实现完整数据的安全传输。极海APM32F407通过软硬结合的方式实现了上述三种国密算法。

SM2详解

基于《SM2椭圆曲线公钥密码算法》由软件设计实现。

功能特性

抗攻击性强、CPU占用少、内存占用少、网络消耗低、加密速度快。

SM2

RSA

算法结构

基本椭圆曲线(ECC)

基于特殊的可逆模幂运算

计算复杂度

完全指数级

亚指数级

公钥位数

256bit

2048bit

秘钥生成速度

较RSA算法快百倍以上

解密加密速度

较快

一般

安全性:ECC算法的单位安全强度远高于RSA算法,可用较少的计算能力提供比RSA算法更高的安全强度,而所需的密钥长度却远比RSA算法低。目前基于ECC的SM2 证书普遍采用256位密钥长度,加密强度等同于 3072 位 RSA证书,远高于业界普遍采用的2048位RSA证书。此外,为了提高安全强度必须不断增加密钥长度,ECC算法密钥长度增长速度较慢,而RSA算法密钥长度则需呈倍数增长。

对称秘钥长度(bit)

ECC秘钥长度(bit)

RSA秘钥长度(bit)

保密

年限

80

160

1024

2010

122

224

2048

2030

128

256

3072

2040

192

384

7680

2080

256

512

15360

2120

高效性:

在TLS握手过程中,更长的密钥意味着必须来回发送更多数据以验证连接,产生更大性能损耗和时间延迟。因此,ECC算法能够以较小的密钥和较少的数据传递建立HTTPS连接,确保相同安全强度的前提下提升连接速度。

函数描述

函数

描述

SM2_Cinfig

初始化ECC算法参数,执行其余函数前必须配置此函数。

SM2_Gen_KeyPair

生成一对密钥,公钥(32Bytes)和私钥(64Bytes)

SM2_Encryption

加密明文(1-2048 Bytes),生成密文,输出为:(04 || C1 || C2 || C3).

SM2_Decryption

解密密文(98-2145 Bytes),生成明文。

SM2_Preprocess

签名预处理,输入Message and ID,生成 e: pointer to the H256.

SM2_Signature

签名,输入e值,生成signature.R(32Bytes)signature.S(32Bytes)

SM2_Verify

验签,返回验签结果(SM2_VERIFY_SUCESS)

注:

1. 密文输出顺序为 C1,C2,C3(旧标准),C1,C3,C2(新标准GM/T 0009-2012)。

2. 04为压缩标识(1Byte),C1为公钥xy分量(64Bytes),C2为加密数据(与明文长度一致),C3为摘要值(32Bytes)。

性能描述

芯片型号:APM32F407IGT6

验证平台:Keil_V5.29

验证方法:循环执行1000次

驱动版本:APM32F4xx_SM_DriverV1.0

操作

明文长度(Byte)

时间(s)

平均时间(ms)

SM2_Gen_KeyPair

2048

3.89465367

3.89

SM2_Encryption

2048

0.21780688

0.21

SM2_Decryption

2048

22.01989933

22

SM2_Preprocess

2048

1.73319654

1.7

SM2_Signature

2048

4.10555868

4.1

SM2_Verify

2048

7.90497210

7.9

注:该性能数据由极海实验室获得。

SM3详解

基于GM/T0004-2012《SM3密码杂凑算法》由硬件设计实现。

功能特性

在商用密码体系中,SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其安全性及效率与 SHA-256 相当。

消息长度(bit)

块大小(bit)

RSA秘钥长度(bit)

摘要长度(bit)

SHA-1

<2^64

512

32

160

SHA-224

<2^64

512

32

224

SHA-256

<2^64

512

32

256

SM3

<2^64

512

32

256

SHA-384

<2^128

1024

64

384

SHA-512

<2^128

1024

64

512

SHA-512/224

<2^128

1024

64

224

SHA-512/256

<2^128

1024

64

256

函数描述

函数

描述

SM3_Config

初始化SM3参数,初始化模式(IVinit),存储模式(endian)

SM3_Update

更新SM3计算值(内部调用,仅SM2使用)

SM3_Final

计算最后信息块(内部调用,仅SM2使用)

SM3_Calc

输入:消息,输出:摘要值(32Bytes)

性能描述

芯片型号:APM32F407IGT6

验证平台:Keil_V5.29

验证方法:循环执行1000次

驱动版本:APM32F4xx_SM_DriverV1.0

操作

明文长度(Byte)

时间(s)

平均时间(ms)

SM3_Calc

512

0.36011912

0.36

SM3_Calc

1024

0.53363102

0.53

SM3_Calc

2048

0.88014293

0.88

SM3_Calc

4096

1.57265483

1.57

注:该性能数据由极海实验室获得。

SM4详解

基于GM/T0002-2012《SM4分组密码算法》由硬件设计实现。

功能特性

该算法的分组长度为128bits,密钥长度为128bits。与DES和AES算法类似,加密算法与密钥扩展算法都采用32轮非线性迭代结构。

SM4

DES

算法结构

基本轮函数加迭代,包含非线性变换。

使用标准的算术和逻辑运算,先代替后置换,不包含非线性变换。

计算轮数

32轮

16轮(TDES 16轮*3)

秘钥长度

128bit

64bit(TDES 128bit)

实现性能

软件和硬件实现都快

软件实现慢,硬件实现快。

安全性

较高

较低(TDES 较高)

加解密模式

功能

描述

ECB

电子密码本模式

每个明文块对应固定的密文块。

优点:并行运算,速度快,易标准化,适合短数据加密。

缺点:不能隐藏数据格式,抗攻击性弱(重放,替换,删除)

CBC

密码分组链接模式

每个明文快与前一个密文块异或后再进行加密。

优点:隐藏数据格式,抗攻击性强,适合报文完整性和用户身份认证。

缺点:不能并行加密,易出现错误传播。

ECB(Electronic Codebook)413e066a-98a7-11ec-952b-dac502259ad0.pngCBC(Cipher Block Chaining)41645586-98a7-11ec-952b-dac502259ad0.png

函数描述

函数

描述

SM4_ECB

ECB加解密模式,输入明文长度必须为128bits倍数,无IV参数。

SM4_CBC

CBC加解密模式,输入明文长度必须为128bits倍数,IV参数为16 Bytes。

注:

1. IV:初始化向量(Initialization Vector) 使用 CBC 模式时需输入该参数。

2. 由于加密第一个明文分组时,不存在前一个密文分组,所以要事先准备好一个分组长度的 IV 变量来替代前一个密文分组。

性能描述

芯片型号:APM32F407IGT6

验证平台:Keil_V5.29验证方法:循环执行1000次

驱动版本:APM32F4xx_SM_DriverV1.0

操作

明文长度(Byte)

时间(s)

平均时间(ms)

SM4_ECB_Encryption

256

0.05038697

0.05

SM4_ECB_Decryption

256

0.05357748

0.05

SM4_CBC_Encryption

256

0.05200602

0.05

SM4_CBC_Decryption

256

0.05523221

0.05

SM4_ECB_Encryption

1024

0.18686316

0.18

SM4_ECB_Decryption

1024

0.21655959

0.21

SM4_CBC_Encryption

1024

0.18520844

0.18

SM4_CBC_Decryption

1024

0.21491673

0.21

注:该性能数据由极海实验室获得。

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18635

    浏览量

    387623
  • 国密算法
    +关注

    关注

    0

    文章

    9

    浏览量

    8693

原文标题:极海APM32F407系列MCU支持国密算法,助力国产安全可控

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SM4算法实现分享(一)算法原理

    对明文进行分组加密变换。SM4加密算法由32次迭代运算和一次反序变换R组成。 设输入明文为(X0,X 1,X 2,X 3),共128位,设文输出为(Y0,Y 1,Y 2,Y 3),轮密钥为rki
    发表于 10-30 08:10

    Camellia算法的实现(基于开源蜂鸟E203协处理器)

    硬件加速器的效果。 Camellia算法介绍 Camellia 算法由 NTT 公司和 Mitsubishi 电子公司与 2000 年联合开发,是一种Feistel 结构的分组密码(分组长度为
    发表于 10-30 07:04

    Camellia算法的实现二(基于开源蜂鸟E203协处理器)

    上一篇分享文档介绍了Camellia算法的基本原理,这一篇文档我们来介绍Camellia的具体实现方式。 如上图所示为Camellia加解密系统的结构,PC端上位机通过串口以
    发表于 10-30 06:35

    AES加解密算法逻辑实现及其在蜂鸟E203SoC上的应用介绍

    这次分享我们会简要介绍AES加解密算法的逻辑实现,以及如何将AES算法做成硬件协处理器集成在蜂鸟E203 SoC上。 AES算法介绍 AE
    发表于 10-29 07:29

    系列算法简介及SM4算法原理介绍

    保证,而国产密码算法实现了密码算法的自主可控,对于保障我国的国家安全具有重要意义。目前,我国大力推广算法的应用,并涌现出一系列国家商用密
    发表于 10-24 08:25

    中星微技术雨燕国视频安全解决方案介绍

    雨燕国视频安全解决方案是中星微技术基于自主研发的视频编解码芯片,深度融合国家商用密码算法打造的轻量化安全视频解决方案。
    的头像 发表于 09-09 16:53 1236次阅读
    中星微技术雨燕国<b class='flag-5'>密</b>视频安全解决方案<b class='flag-5'>介绍</b>

    芯科技与信大壹联合推出抗量子密码芯片

    近日,从芯科技再次传来喜讯,芯科技与郑州信大壹科技有限公司(以下简称“信大壹”) 合作研发的抗量子密码芯片AHC001新产品于近日在公司成功通过内部性能和功能测试,实现了公司信
    的头像 发表于 05-07 17:55 2316次阅读
    <b class='flag-5'>国</b>芯科技与信大壹<b class='flag-5'>密</b>联合推出抗量子密码芯片

    部署WoSign SSLRSA双证书,实现HTTPS加密

    我国网络安全法规体系不断完善,形成了以《网络安全法》为核心的立体化法律框架。阿里云数字证书管理服务提供国产品牌SSL证书,支持签发基于算法的SSL/TLS证书,助力金融、政务等行业满足
    的头像 发表于 03-26 10:58 701次阅读
    部署WoSign SSL<b class='flag-5'>国</b><b class='flag-5'>密</b>RSA双证书,实现<b class='flag-5'>国</b><b class='flag-5'>密</b>HTTPS加密

    云平台如何部署WoSign SSL“RSA双证书”

    阿里云WoSign品牌SSL证书是阿里云平台热销的国产品牌证书之一,支持签发密合规的SM2算法SSL证书以及全球信任的RSA算法SSL证书,能够满足平台用户不同的SSL证书应用需求,同时为用户提供
    的头像 发表于 03-18 17:03 678次阅读
    云平台如何部署WoSign SSL“<b class='flag-5'>国</b><b class='flag-5'>密</b>RSA双证书”

    电力通信物联网应用,网关守护电力数据安全

    电力网关是用于保护电力调度数据网路由器和电力系统的局域网之间通信安全的电力专用网关机,主要为上下级控制系统之间的广域网通信提供认证与加密服务,实现数据传输的机密性、完整性。电力
    的头像 发表于 02-21 16:59 2159次阅读
    电力通信物联网应用,<b class='flag-5'>国</b><b class='flag-5'>密</b>网关守护电力数据安全

    紫光展锐V8850芯片荣获一级安全认证

    近日,紫光展锐宣布其蜂窝物联网芯片V8850成功荣获一级安全认证。这一殊荣标志着紫光展锐V8850芯片在安全性能方面达到了行业领先水平,并获得了权威机构的认可。 紫光展锐一直以来都致力于物联网
    的头像 发表于 02-20 09:43 1135次阅读

    紫光展锐V8850荣获一级安全认证

    近日,紫光展锐蜂窝物联网芯片V8850荣获一级认证,标志着展锐V8850在安全能力方面获得权威认可,位居行业领先水平。这是紫光展锐继短距物联网芯片V5663在2020获得ARM PSA
    的头像 发表于 02-15 14:53 1418次阅读

    支持远程脱机密文下载加密芯片SMEC系列编程器开发板介绍

    、SM2、SM3和SM4等算法。 SMEC编程器支持编程器放在工厂,工厂人员从编程器获取安全码,开发者拿到该安全码后就可以生成对应该安全码有下载次数限制的文文件。该文文件只对产生对应安全码的SMEC
    发表于 02-14 16:19

    芯科技亮相2025天津豪高峰论坛

    近日,由芯科技(688262.SH)联合主办的天津豪高峰论坛在天津成功举办。此次论坛以“豪聚智 共赢未来”为主题,由天津市国家密码管理局指导,天津市商用密码行业协会、南开大学主办,
    的头像 发表于 01-16 11:16 1066次阅读

    支持远程脱机密文下载加密芯片SMEC编程器开发板介绍

    被监听,这些数据也无法下载到别的加密芯片。下面具体介绍文数据产生和下载流程:1、从需要下载文文件的SMEC编程器上获取安全码。2、开发者填入安全码,选择需要加密的目标下载Hex文件,并选定设定次数
    发表于 01-08 11:30