一文看懂码灵半导体CFW32C7UL系列产品应用(二):国密算法●上篇

本文主要是介绍一文看懂码灵半导体CFW32C7UL系列产品应用(二):国密算法●上篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎再次来到“码灵半导体CFW32C7UL系列产品应用介绍”连载专题。通过上期CFW32C7UL系列启动阶段的特点介绍,相信您对CFW327UL系列启动阶段 的“程序安全启动”特点还有印象。文中提到芯片启动时可支持对经AES或SM4加密过的程序的加载启动,所述的AES和SM4就是人们常说的加解密算法,其中SM4为我国自主设计的一种密码算法,通常也称为国密算法。本期专题聚焦于CFW32C7UL系列硬件所支持的国密算法。
一、国密算法及其重要性
在详细介绍CFW32C7UL系列的国密算法前,我们先普及下什么是密码、密码的作用以及国家对国密的重视。
这里我们所述的密码是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。随着社会信息化的高速发展,信息传输和信息存储对安全的要求变得愈来愈重要,而密码是解决信息安全方面是核心技术手段、是基础支撑保障,是解决网络与信息安全问题最有效、最可靠、最经济的手段。
密码主要有两个大功能:加密保护和安全认证。作为保障网络安全的核心技术,密码算法和密码产品的自主可控是确保我国信息安全的重中之重。但在当前,我国大多采用国外制定的加密算法,存在着大量的不可控因素,一旦被不法分子利用攻击,将产生不可估量的损失。因此密码产品自主可控及相关软硬件国产化的替代,是防止后门漏洞的最有效方法,是保障网络安全的终极举措。
在这里插入图片描述
从国家战略层面讲使用国产密码算法是符合国家信息安全全局战略的。因此在2019年10月26日第十三届全国人民代表大会常务委员会第十四次会议上,通过了《中华人民共和国密码法》,该法自2020年1月1日起施行。
在《密码法》中,将密码分为核心密码、普通密码和商用密码,其中核心密码、普通密码用于保护国家秘密信息(绝密级和机密级),商用密码用于保护不属于国家秘密的信息,如网络和信息安全等。在CFW32C7UL系列硬件集成的国密算法模块即为《密码法》中所提到的商用密码,有SM2,SM3,SM4(本系列芯片内同时集成了真随机数发生器TRNG、国际标准的标准 AES 算法、 AES-CM、AES-F8 算法和SHA签名模块)。
二、CFW32C7UL如何实现国密算法?
目前在嵌入式产品中如何实现国密算法呢?据有关资料统计,目前嵌入式产品在使用国密算法时,近三分之二采用的是外挂国密算法专用芯片来实现,这种实现方式在对嵌入式产品的成本、体积、功耗等方面来及诸多挑战,且数据在主控芯片与国密芯片的传输通道环节也有数据外泄的风险。而码灵半导体的CFW32C7UL系列产品采用了在内部集成国密算法模块的方法,解决了在使用国外MPU芯片因不支持国密算法而必须通过外加分立元器件来实现的问题,降低了使用国家密码算法的难度,利于推进国密算法在信息安全领域内的应用和实现嵌入式MPU的国产替代的进程。
在这里插入图片描述
三、CFW32C7UL集成的国密算法简述
下面就CFW32C7UL集成的SM2、SM3、SM4算法进行简单的介绍。
在这里插入图片描述
1、SM2公钥算法
公钥密码算法是现代密码学发展过程中的一个里程碑。这类密码算法需要两个密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法也称为非对称密码算法。
SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,用于实现数字签名密钥协商和数据加密等功能。SM2算法是基于ECC椭圆曲线算法,不同于国际标准,采取了更为安全的机制。在实际应用中,采用了一条256bit的椭圆曲线作为标准曲线。相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。在速度方面,256位SM2在验签速度上远远高于2048位的RSA。
2、SM3杂凑算法
SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。SM3算法的输出长度为256比特,SM3算法的安全性要高于MD5算法和SHA-1算法。
3、SM4分组算法
SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。SM4算法与AES算法具有相同的密钥长度分组长度128比特,在安全性上高于3DES算法。
通过以上简介,相信大家对CFW32C7UL系列内置SM2,SM3,SM4的国密标准算法有了初步了解,那么这些算法如何通过CFW32C7UL系列芯片来具体使用呢?让我们带着这些问题,在下期从技术的角度进行探寻!
今天的专题就到这儿,更多关于码灵半导体CFW32C7UL系列产品的介绍,我们下期见!
本期作者:刘悦臻、梁梦雷、陈绍景、谢耀华、谢剑杰

这篇关于一文看懂码灵半导体CFW32C7UL系列产品应用(二):国密算法●上篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/277500

相关文章

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

一文带你迅速搞懂路由器/交换机/光猫三者概念区别

《一文带你迅速搞懂路由器/交换机/光猫三者概念区别》讨论网络设备时,常提及路由器、交换机及光猫等词汇,日常生活、工作中,这些设备至关重要,居家上网、企业内部沟通乃至互联网冲浪皆无法脱离其影响力,本文将... 当谈论网络设备时,我们常常会听到路由器、交换机和光猫这几个名词。它们是构建现代网络基础设施的关键组成

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

Java Stream 的 Collectors.toMap高级应用与最佳实践

《JavaStream的Collectors.toMap高级应用与最佳实践》文章讲解JavaStreamAPI中Collectors.toMap的使用,涵盖基础语法、键冲突处理、自定义Map... 目录一、基础用法回顾二、处理键冲突三、自定义 Map 实现类型四、处理 null 值五、复杂值类型转换六、处理

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布