一文看懂码灵半导体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

相关文章

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Redis中Stream详解及应用小结

《Redis中Stream详解及应用小结》RedisStreams是Redis5.0引入的新功能,提供了一种类似于传统消息队列的机制,但具有更高的灵活性和可扩展性,本文给大家介绍Redis中Strea... 目录1. Redis Stream 概述2. Redis Stream 的基本操作2.1. XADD

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提