异构计算芯片中数据加解密方案及验证策略
文章平均质量分 86
欢迎来到本专栏,这里专注于探讨异构计算芯片中的数据加解密方案及其验证策略。我们将深入研究包括国密算法SM4、SKE以及gmssl、OpenSSL等开源库的应用实践。无论是硬件实现还是软件模拟,从基础理论到实际案例,都将一一详述。本专栏适合信息安全领域的工程师、研究人员以及对数据保护有兴趣的开发者阅读
元直数字电路验证
天地本無心,生民自有命,往聖無絕學,萬世不太平。硅農,因bug而生,與bug為伴,以debug為生。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SKE 与 SM2、SM3、SM4 的关系 ,SPDM协议的详细解析
摘要:以下是关于 SKE 加解密引擎的工作原理、消息处理过程,以及 SKE 与 SM2、SM3、SM4 的关系和 SPDM协议的详细解析:SKE(Symmetric Key Encryption,对称密钥加密)是基于对称加密算法实现的加解密引擎,它的核心是使用同一个密钥(Key)来加密和解密数据。主要工作原理如下:SKE 的消息处理过程通常包括以下步骤:SPDM 是一种基于 DMTF(Distributed Management Task Force)标准的安全通信协议,主要用于增强设备间的身份验证和数据安原创 2025-06-12 22:53:35 · 824 阅读 · 0 评论
-
[SM4]UVM验证环境中集成Python脚本和OpenSSL SM4加密算法的完整示例
摘要:本文介绍了一个在UVM验证环境中集成Python脚本和OpenSSL SM4加密算法的完整方案。通过创建Python加密模块、DPIC接口和UVM验证组件,实现了对datapath加解密功能的验证。系统采用模块化设计,包含Python加密脚本(sm4_crypto.py)、DPIC封装层(dpi_wrapper.c)和UVM验证环境(sm4_pkg.sv等)。Python脚本基于OpenSSL实现SM4-CBC模式的加解密,通过DPIC接口与SystemVerilog交互,UVM验证环境则负责生成测试原创 2025-07-05 11:02:55 · 331 阅读 · 0 评论
-
[SM4]UVM环境中调用gmssl库验证数据通路加解密的实现方法
摘要:本文介绍在UVM验证环境中集成Python的gmssl库实现SM4加解密验证的方法。通过文件I/O交互,UVM生成128位明文和初始化向量(IV),调用Python脚本执行SM4加解密,并验证结果正确性。系统包含完整UVM环境架构(事务类、驱动、记分板等)和Python脚本实现,支持加密/解密双向验证流程。该方法采用文件传递数据,确保128位数据完整性,并在记分板中验证解密结果与原始明文的一致性。文中详细说明了数据交互过程、错误处理机制及验证注意事项,为芯片验证中密码算法功能验证提供了可行方案。原创 2025-07-05 10:54:22 · 1105 阅读 · 0 评论
-
Python gmssl.SM2签名与验证的SystemVerilog集成示例
本文提出了一种SM2数字签名与验证的SystemVerilog集成方案,采用UVM-DPI-Python三层架构实现完整的加密验证流程。该方案通过Python调用gmssl库生成SM2密钥对,对随机消息进行签名和验证,并处理复杂数据结构在语言间的转换。系统包含密钥生成、数据签名、签名验证三个核心功能模块,支持正反例测试验证。实验结果表明,该方案能正确完成SM2签名验证全流程,并有效检测错误数据。该实现为构建安全验证环境提供了可靠的技术基础,展示了异构系统集成处理非对称加密的可行性。原创 2025-07-06 10:09:39 · 672 阅读 · 0 评论
-
SM4对称加密算法的加密模式介绍
摘要:SM4(原名SMS4)是中国国家密码管理局于2012年发布的商用密码算法标准(GB/T 32907-2016),是一种对称分组密码算法,分组大小为128位,密钥长度为128位。它类似于国际标准AES(Advanced Encryption Standard),并被广泛用于中国本土的安全应用,如金融、政务和通信系统。SM4本身是分组密码的核心算法,但为了实际应用,需要结合不同的操作模式(Modes of Operation)来处理任意长度的数据、提供安全性增强(如机密性、完整性和认证)。原创 2025-08-12 22:04:37 · 496 阅读 · 0 评论 -
[SKE]Python gmssl库的C绑定
摘要:本文介绍了将gmssl库(支持国密算法SM4等)通过C语言绑定集成到UVM验证环境中的方法。通过实现C语言的DPI接口函数,替代原有的Python脚本方案,可直接在SystemVerilog中调用加密算法。文章详细说明了对称加密(AES/SM4/DES/3DES)和RSA算法的C语言实现方案,包括密钥生成、加解密等功能,并提供了完整的代码示例。该方法避免了Python解释器的依赖,提高了性能,简化了UVM验证环境的集成流程。同时给出了编译方法和UVM集成示例,以及可视化流程图说明整个调用流程。原创 2025-07-30 20:44:31 · 1987 阅读 · 0 评论 -
[SKE]使用gmssl库实现AES、SM4、DES、RSA、3DES_EDE和3DES_EEE算法的加密/解密参考模型
本文提出了一种基于Python的加密算法参考模型实现方案,支持AES、SM4、DES、RSA、3DES_EDE和3DES_EEE等多种算法。通过Python标准库cryptography实现核心加密功能,并设计C语言桥接层实现UVM(SystemVerilog)环境与Python脚本的交互。方案采用DPI-C技术调用C函数,C函数再通过Python C API执行Python脚本并返回结果。文章详细介绍了Python脚本实现、C桥接代码、SystemVerilog DPI接口声明以及UVM集成方法,提供了一原创 2025-07-30 20:39:16 · 2257 阅读 · 0 评论 -
[SKE]使用OpenSSL库实现AES、SM4、DES、RSA、3DES_EDE和3DES_EEE算法的加解密验证
本文介绍了使用OpenSSL库实现多种加密算法的验证方案。通过OpenSSL提供的API,实现了AES-128-CBC、SM4-CBC、DES-CBC、RSA-2048、3DES_EDE和3DES_EEE算法的加密/解密功能,并将这些函数封装为C++动态库供UVM验证环境调用。方案采用DPI接口将加密函数集成到UVM测试平台中,作为参考模型验证硬件加密引擎的正确性。文中详细说明了各算法的实现要点、参数要求、编译方法及UVM集成步骤,并提供了完整的C++实现代码,包括对称加密的通用处理函数和RSA的非对称加密原创 2025-07-30 16:59:48 · 330 阅读 · 0 评论 -
AES‐GCM 与 SM4‐GCM 的背景与专业名词
本文对比分析了AES-GCM与SM4-GCM两种加密认证模式。AES-GCM采用国际标准AES算法,支持128/192/256-bit密钥;SM4-GCM采用中国商用密码SM4算法,固定128-bit密钥。两者均采用CTR模式加密结合GHASH认证的架构,在GF(2^128)域进行多项式运算实现认证。主要区别在于:AES-GCM具有广泛硬件加速支持(如AES-NI),性能优势显著;SM4-GCM需专用指令支持,在国产CPU上表现更佳。文章还详细阐述了GCM模式的工作原理、安全注意事项及SKE(对称密钥引擎)原创 2025-06-10 07:16:50 · 1452 阅读 · 0 评论 -
对称密钥引擎 SKE 模块简介
SKE” 一般指(对称密钥引擎)或对称密码加解密:AES (ECB/CBC/CTR/GCM)、SM4、DES 等哈希/消息认证:SHA-2、GHASH、HMAC随机数/密钥派生:TRNG、KDF密钥存储:物理不可读的密钥槽(Root of Trust)SKE 在硬件层面提供加速和安全隔离,是 DMA、网络加速器、存储加密等场景下的核心加密单元。独立总线接口(AXI/AHB)支持多种加密模式(硬件 CTR/ECB/CBC/GCM 逻辑)DMA/Scatter-Gather 支持。原创 2025-06-10 07:20:16 · 1061 阅读 · 0 评论 -
对称加密 vs 非对称加密
对称加密使用同一把密钥进行加密和解密。通信双方(或系统组件)在加密前需要安全地共享这把“对称密钥”。DES/3DES:早期标准,分组 64 bit,密钥 56 bit(安全性不足)。3DES 三次迭代改进。AES:国际标准,分组 128 bit,密钥长度 128/192/256 bit,支持 AES-NI 硬件加速。SM4:中国国密标准,分组 128 bit,密钥 128 bit,国内 CPU/ASIC 常有指令级支持。原创 2025-06-10 07:26:49 · 1064 阅读 · 0 评论 -
混合加密中的密钥交换流程
混合加密结合非对称与对称加密优势,通过RSA或ECC安全交换临时对称密钥(如AES)实现高效数据加密。RSA-KEM采用公钥加密会话密钥,适合兼容性要求高的场景但密钥较长;ECC方案(ECIES/ECDH)利用椭圆曲线特性,密钥更短、计算更快,适合移动/高并发环境,但对参数管理要求更高。两种方式均需配合KDF派生密钥,RSA抗量子能力更弱,而ECC可作为过渡方案。实际选择需权衡安全强度、性能需求与系统兼容性。原创 2025-06-10 07:29:55 · 1125 阅读 · 0 评论 -
[SPDM]SPDM 证书链验证过程详解
摘要:SPDM协议中的证书链验证是确认设备身份合法性的关键环节。该过程包括设备发送包含根证书、中间证书和设备证书的完整证书链,客户端逐级验证证书签名和有效期,并通过挑战响应机制验证设备私钥的持有性。整个流程采用逐级签名验证、随机数挑战和可信根证书检查等机制,确保防篡改和防中间人攻击。在国密算法环境下,可结合SM2签名验证和SM3哈希算法实现安全验证。该验证机制有效保障了通信设备身份的真实性和数据传输的安全性。原创 2025-06-12 23:02:26 · 1500 阅读 · 0 评论 -
SM4 与 AES 在 GPU 上的性能比较
AES(Advanced Encryption Standard)是一种分组加密算法,支持 128 位分组长度和 128、192、256 位密钥长度(AES-128、AES-192、AES-256)。SM4 和 AES 是两种常见的对称分组加密算法。SM4 是中国国家密码管理局发布的国密标准对称加密算法,而 AES 是广泛应用于国际上的对称加密标准。SM4 是中国国家密码管理局发布的分组加密算法,支持 128 位分组长度和 128 位密钥长度。注:实际性能依赖于 GPU 硬件、CUDA 版本和优化程度。原创 2025-06-12 23:09:09 · 1076 阅读 · 0 评论 -
AES-GCM和SM4-GCM工作原理及数据加解密验证方案详解
本文详细介绍了AES-GCM和SM4-GCM加解密算法的工作原理及验证方案。主要内容包括:1) GCM模式架构解析,通过CTR模式实现流加密和GHASH进行认证;2) 基于OpenSSL的C语言参考模型实现,可编译为动态库供SystemVerilog调用;3) 完整的SV DPI调用示例,展示数据加解密流程验证方法;4) 提供AES-128-GCM和SM4-GCM的加解密接口函数,支持密钥、IV、AAD等参数配置。该方案可用于RTL验证环境中的功能比对和一致性检查,为密码模块开发提供完整参考实现。原创 2025-06-10 07:06:21 · 2215 阅读 · 0 评论 -
[SKE]CPU 与 GPU 之间数据加密传输的认证与异常处理
摘要:CPU与GPU间通过对称密钥加密引擎(SKE)进行安全数据传输,采用SM4/AES加密结合消息认证码(MAC)确保数据机密性与完整性。认证过程包括密钥协商(基于SM2/ECDH或硬件模块)、数据加密(GCM/CBC模式)、MAC验证及双向认证机制。异常处理涵盖认证失败重传、解密错误记录、密钥泄露更新及防重放攻击(序列号/时间戳)等措施。优化方案通过动态密钥轮换、双向身份认证和多层加密提升安全性,结合自动重传和会话恢复机制保障传输可靠性。该体系实现了高效加密传输与健壮的异常恢复能力。原创 2025-06-12 23:07:01 · 849 阅读 · 0 评论 -
在SoC数据加解密验证中使用 Python 的 gmssl 库
本文介绍了在SoC验证中使用Python的gmssl库实现SM4加解密的方法。通过模块化设计,将加解密功能封装为Python脚本(sm4_crypto.py),该脚本通过标准输入/输出以JSON格式与UVM环境交互。UVM侧通过DPI-C接口调用Python脚本,保持原有接口不变即可实现功能替换。示例包含完整的代码实现,包括gmssl的SM4加密/解密操作、CBC模式处理、PKCS#7填充等核心功能,并通过测试用例验证了加密-解密流程的正确性。这种方案展示了良好的可维护性,底层算法变更时无需修改上层验证环境原创 2025-07-05 11:24:05 · 506 阅读 · 0 评论 -
Python gmssl.SM4使用案例
摘要:本文介绍了在UVM验证环境中使用Python的gmssl库实现SM4加密验证方案的方法。gmssl是一个纯Python实现的国密算法库,支持SM2/SM3/SM4/ZUC等算法,具有易安装、可读性强、便于集成等特点。文章详细展示了SM4-CBC模式加解密的Python实现示例,并提供了完整的SystemVerilog集成方案,包括DPI-C接口设计、UVM参考模型实现和测试用例编写。通过三层架构(UVM<->C<->Python)实现了验证环境与Python脚本的高效交互,为国密算法IP验证提供了可靠原创 2025-07-05 11:30:58 · 770 阅读 · 0 评论 -
CRC 原理概述
CRC(循环冗余校验)是一种基于多项式除法的差错检测码,通过将数据视为二进制多项式并进行模2除法运算生成校验码。文章详细介绍了CRC-8的实现原理,包括生成多项式选择(如x⁸+x²+x+1)、移位寄存器的LFSR算法,以及32位数据的处理过程。提供了Verilog代码示例,包括组合逻辑并行计算和时序逻辑串行计算两种实现方式,并给出了参数化设计以支持不同协议需求。核心LFSR算法通过左移位和条件异或操作模拟多项式除法,最终生成校验码。该技术广泛应用于数据传输和存储的差错检测,具有高效可靠的特性。原创 2025-06-02 14:50:38 · 1099 阅读 · 0 评论
分享