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
    +关注

    关注

    146

    文章

    17002

    浏览量

    350332
  • 国密算法
    +关注

    关注

    0

    文章

    7

    浏览量

    8542

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

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

收藏 人收藏

    评论

    相关推荐

    ​ISP算法及架构分析介绍

    一、ISP算法及架构分析介绍 ISP即Image Signal Processor,是一种图像处理架构,不是我们用的下载器。 ISP其实算是图像处理的一个特例,一般应用于前端设备(相对于SENSOR
    的头像 发表于 11-26 10:05 70次阅读
    ​ISP<b class='flag-5'>算法</b>及架构分析<b class='flag-5'>介绍</b>

    【「从算法到电路—数字芯片算法的电路实现」阅读体验】+介绍基础硬件算法模块

    作为嵌入式开发者往往比较关注硬件和软件的协调。本书介绍了除法器,信号发生器,滤波器,分频器等基本算法的电路实现,虽然都是基础内容,但是也是最常用到的基本模块。 随着逆全球化趋势的出现,过去的研发
    发表于 11-21 17:05

    【「从算法到电路—数字芯片算法的电路实现」阅读体验】+一本介绍基础硬件算法模块实现的好书

    作为嵌入式开发者往往比较关注硬件和软件的协调。本书介绍了除法器,信号发生器,滤波器,分频器等基本算法的电路实现,虽然都是基础内容,但是也是最常用到的基本模块,本书的内容比较对本人胃口。 我们先来
    发表于 11-20 13:42

    上海芯获中化资本战略投资

    近日,国内集成电路全氟密封产品领域的佼佼者——上海芯科技有限公司(简称“上海芯”)成功获得战略投资。本次投资由中化资本创投旗下的中化泉州基金领投,为上海芯注入了新的资本活力。
    的头像 发表于 05-30 10:37 615次阅读

    协议网关与IPSec VPN技术:保障数据安全传输的新途径

    协议网关IPSecVPN隧道技术是一种结合了国家密码管理局(简称)的加密算法和IPSecVPN隧道技术的安全通信解决方案。IPSec
    的头像 发表于 05-28 14:24 1145次阅读
    <b class='flag-5'>国</b><b class='flag-5'>密</b>协议网关与IPSec VPN技术:保障数据安全传输的新途径

    MacPaw将在欧盟成员国推出第三方应用商店Setapp

    5月14日,MacPaw正式宣布将在今年5月14日在欧盟成员国面向苹果iPhone推出第三方应用商城Setapp。自今年2月起,MacPaw已着手筹备该平台。S
    的头像 发表于 05-14 10:14 343次阅读

    SMT贴片加工中的脚IC如何避免短路?

    SMT贴片加工短路不良现象多发于细间距IC的引脚之间,脚IC通常是指针脚相对比较密集的IC元器件,并且针脚之间的间距较小,脚IC想要焊接好是需要一些条件的。下面深圳佳金源锡膏厂家向大家简单介绍
    的头像 发表于 03-18 16:15 737次阅读
    SMT贴片加工中的<b class='flag-5'>密</b>脚IC如何避免短路?

    TC275HSM能支持SecOC中的密钥刷新机制吗?

    了PKCECC 256 HWAccelerator这里的ECC 256指的是国际标准椭圆曲线吗, 还是只要是256位椭圆曲线就行(算法SM3就是256位椭圆曲线)?
    发表于 02-21 06:07

    什么是算法?工业网关为什么要支持算法

    工业网关是应用于工业物联网关的常见通信交换传输设备,由于在使用过程中通常涉及工业敏感数据,因此也需要支持算法实现数据加密传输,保障工业物联网安全稳定。
    的头像 发表于 01-31 16:55 1105次阅读
    什么是<b class='flag-5'>国</b><b class='flag-5'>密</b><b class='flag-5'>算法</b>?工业网关为什么要支持<b class='flag-5'>国</b><b class='flag-5'>密</b><b class='flag-5'>算法</b>?

    天津芯荣获2023年度天津商协会优秀单位

    近日,天津市商用密码行业协会2023年会员大会成功举行。在此次大会上,天津芯科技有限公司(苏州芯科技股份有限公司的全资子公司)凭借在密码芯片领域的卓越表现和持续创新,被授予2023年度天津商协会优秀单位。
    的头像 发表于 01-24 17:36 780次阅读

    可用于六标准的加密芯片—LKT4305GM介绍

    2019年7月1日,国家第六阶段机动车污染物排放标准正式实施。“六标准”提出之后,主机厂需要改进燃料喷射方式,改进ECU电控单元,升级OBD系统,增加国算法的安全芯片,实现终端与实时监测平台之间的身份认证和数据安全。
    的头像 发表于 01-12 14:41 672次阅读

    紫光展锐5G芯片T820荣获二级安全认证

    近日,紫光展锐系统级安全的高性能 5G SoC T820荣获二级认证,这是T820获得金融科技产品认证证书后,再次荣获的行业权威认证,标志着T820在金融安全能力和应用水准位居行业前沿水平。
    的头像 发表于 01-09 16:32 612次阅读
    紫光展锐5G芯片T820荣获<b class='flag-5'>国</b><b class='flag-5'>密</b>二级安全认证

    FPGA图像处理-CLAHE算法介绍(一)

    介绍CLAHE算法之前必须要先提一下直方图均衡化,直方图均衡化算法是一种常见的图像增强算法,可以让像素的亮度分配的更加均匀从而获得一个比较好的观察效果。
    的头像 发表于 01-02 13:32 1685次阅读
    FPGA图像处理-CLAHE<b class='flag-5'>算法</b><b class='flag-5'>介绍</b>(一)

    应用芯片推荐

    LKT4305GM是以32位安全处理器为基础的具有高性能高安全性的算法加密产品。芯片满足商安全检测标准 GM/T 0008-2012《安全芯片密码检测标准》安全等级第二级。具有高
    的头像 发表于 12-08 16:28 843次阅读

    加密工业路由器 数据安全升级

    加密工业路由器,简称加密路由器,是指遵循“商用密码管理规范”中规定的国家商用密码算法,采用
    的头像 发表于 11-29 14:07 511次阅读
    <b class='flag-5'>国</b><b class='flag-5'>密</b>加密工业路由器 数据安全升级