自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (4)
  • 收藏
  • 关注

原创 SIMON64/128算法Verilog流水线实现(附Python实现)

本文提出了一种基于SIMON64/128轻量级分组密码算法的四级流水线硬件实现方案。该设计采用Verilog语言开发,包含顶层控制、密钥扩展和轮函数计算三个核心模块。系统通过四级流水线架构,每级处理11轮加密操作,显著提升了吞吐量。密钥扩展模块在40个周期内生成44个轮密钥,轮函数模块采用组合逻辑实现11轮连续加密。仿真验证表明,该设计与官方测试向量完全一致,在保持密码强度的同时实现了高效硬件加密。文章还提供了Python实现代码作为参考,展示了该算法的软件实现方式。

2025-11-04 11:29:20 901

原创 RSA数字签名方案的C语言实现(带测试)

本文介绍了基于BearSSL轻量级加密库的RSA-PKCS#1数字签名实现方案。针对嵌入式设备资源受限的特点,选用BearSSL的i31位优化实现,通过31位整数运算单元在32位CPU上平衡性能与代码体积。工程采用模块化设计,仅集成必要的i31运算模块,实现完整的签名验签流程。测试采用固定哈希值,通过签名生成、验证及结果比对的三阶段闭环验证,确保算法正确性。该方案具有恒定时间防御、显式内存管理等安全特性,为物联网等嵌入式场景提供了兼具安全性和效率的轻量级密码学实践范例。

2025-07-05 21:56:42 1322

原创 RSA密钥生成与转换工具

摘要:这段Python代码演示了使用cryptography库生成RSA密钥对并转换参数格式的过程。代码包含两个主要函数:generate_rsa_params()生成包含标准参数和CRT优化参数的RSA密钥;convert_to_bearssl_format()将大整数参数转换为字节数组格式。最后输出十六进制格式的参数,适用于嵌入式系统集成。代码采用1024位密钥(实际建议2048位以上)和固定公钥指数65537,强调应使用成熟加密库而非自行实现算法。

2025-07-05 10:39:44 541

原创 SM4密码算法的C语言实现(带测试)

本文详细介绍了中国商用密码标准SM4的算法原理、C语言实现及验证过程。SM4作为我国自主设计的分组密码算法,通过32轮非线性迭代和精心设计的密钥扩展机制实现高安全性。文中提供的C语言实现采用模块化设计,包含基础运算组件、密钥扩展和加密核心函数,代码结构清晰且高效。测试结果表明该实现完全符合算法规范,能够正确完成加密功能。SM4算法及其实现不仅具有重要的理论价值,也在金融、政务等领域的实际应用中发挥着关键作用,是我国密码技术自主创新的重要成果。

2025-07-03 16:13:40 1650

原创 AES密码算法的C语言实现(带测试)

本文详细介绍了AES-128加密算法的原理与C语言实现。AES采用替换-置换网络结构,通过10轮包含字节替换、行移位、列混淆和轮密钥加的操作实现数据加密。文章展示了模块化的C语言实现,包括有限域运算、核心变换函数、密钥扩展和加密流程,并通过标准测试向量验证了代码的正确性。该实现兼顾了安全性、性能和可读性,为理解AES算法的工作机制和工程实现提供了实用参考。测试结果表明,实现的加密结果与预期值完全一致,验证了算法的正确性。

2025-07-03 15:14:10 1653

原创 2.11 装饰器:从概念到执行的全方位解析

Python装饰器是基于高阶函数和闭包的语法特性,用于在不修改原函数代码的情况下动态增强功能。其核心是通过接受函数作为参数的装饰器函数返回新的包装函数,在调用时插入额外逻辑(如计时、日志等)。@语法糖简化了装饰器的应用,本质仍转换为func=decorator(func)的显式调用。Python在编译阶段将装饰器转化为加载、调用和存储的字节码指令,并通过闭包机制保留原函数引用;执行阶段确保每次调用执行增强逻辑。

2025-06-26 15:54:41 1140

原创 2.10 Python继承的底层原理及MRO机制详解

Python的继承机制通过MRO(方法解析顺序)和super()函数实现了灵活的多重继承功能。MRO采用C3线性化算法,根据类定义时基类的声明顺序确定方法查找路径,确保子类优先、声明顺序一致的原则。super()并非简单调用父类,而是沿MRO链动态查找下一实现,使得多重继承中的方法调用具有可预测性。

2025-06-26 10:48:07 735

原创 2.9 Python闭包机制深度解析:从编译到执行的完整生命周期

Python闭包是一种特殊函数结构,当内部函数引用外部变量时形成。编译器通过co_cellvars和co_freevars属性标记闭包变量,运行时Python使用cell对象存储变量,使其不受函数栈帧生命周期限制。闭包特性在函数式编程中尤为实用,如数据清洗管道模式,通过create_pipeline函数将处理步骤模块化,提升代码灵活性和扩展性。理解闭包机制有助于编写更优雅高效的Python代码,其实现原理展现了Python在变量作用域管理上的精巧设计。

2025-06-25 23:32:23 903

原创 SM4算法的Verilog流水线实现(带测试)

本文介绍了SM4分组密码算法的Verilog流水线实现方案。SM4作为中国国家标准密码算法,采用32轮非线性迭代结构,本设计通过全展开流水线技术实现高性能硬件加密。系统分为密钥扩展和加密处理两大模块,其中密钥扩展模块预先计算32轮子密钥,加密模块则通过32级流水线并行处理数据。Verilog代码采用层次化设计,包括顶层控制、密钥扩展、加密轮函数和S盒等子模块,通过状态信号协调流水线运作。实验验证表明,该设计功能正确,能高效处理加密任务,在标准测试向量下全部通过验证。

2025-06-24 22:38:06 1760 15

原创 AES算法的Verilog流水线实现(带测试)

本文提出了一种基于Verilog的AES-128加密算法流水线硬件实现方案。该设计采用11级流水线结构(初始轮加+9轮标准加密+最终轮),将128位密钥扩展和加密过程分解为独立处理阶段,实现每个时钟周期处理一个数据块的高吞吐量。核心模块包括密钥扩展、加密流水线(S盒替换、行移位、列混淆和轮密钥加)以及顶层控制。通过iverilog仿真验证了10组测试用例的正确性,综合结果显示该设计在FPGA平台上可实现高效加密。模块化流水线结构保证了高性能和可移植性,为高速数据加密提供了硬件解决方案。

2025-06-23 21:01:54 1555

原创 AES算法Verilog循环迭代实现的两种常见方式(带测试)

本文详细探讨了AES算法的两种Verilog硬件实现方案及其完整开发流程。先扩展密钥再加密的方案通过预计算轮密钥简化了加密过程的时序控制,适合资源充足的应用场景。边扩展边加密的方案采用动态密钥生成策略,节省了大量资源,更适合资源受限的硬件设计。两种方案均通过标准测试向量验证,功能正确性得到充分保证。

2025-06-23 17:25:49 1453 2

原创 2.8 Python类属性全面解析:从概念到PVM底层机制

本文系统解析了Python类属性机制,分为三大类:实例属性(存储在实例的__dict__中)、类属性(类共享)和描述符(数据/非数据描述符)。详细阐述了属性访问优先级规则,并通过示例展示了@property和数据描述符的运作原理。从PVM底层分析了LOAD_ATTR和STORE_ATTR字节码的执行逻辑,说明数据描述符如何拦截属性操作。文章强调理解这些机制对设计健壮类结构和实现高级特性(如动态属性、验证等)的重要性,为开发者构建灵活面向对象系统提供了理论基础。

2025-06-22 13:27:02 688

原创 2.7 Python方法调用机制解析:从描述符到字节码执行

Python描述符机制解析:通过实现__get__、__set__和__delete__方法,描述符控制类属性访问。实例方法自动绑定self,类方法绑定cls,静态方法不绑定。字节码层面,LOAD_METHOD和CALL_METHOD统一处理三种方法调用,体现动态绑定特性。描述符是@property等高级特性的基础,展现了Python“统一访问”的设计哲学。

2025-06-21 23:35:34 672

原创 SM3算法C语言实现(无第三方库,带测试)

本次实现的SM3算法C语言版本完整呈现了该密码哈希算法的核心机制。实现过程严格遵循标准规范,通过模块化设计将算法分解为初始化、消息扩展、压缩函数等关键组件。代码采用高效的位运算和指针操作,正确处理了消息填充、分组处理等边界情况。两个标准测试用例的验证结果表明,该实现正确产生了符合预期的哈希值。整体实现既保证了算法准确性,又展现了良好的代码结构和可读性,为后续的性能优化和应用集成奠定了坚实基础。

2025-06-20 22:55:47 1201

原创 1.6 基于WSL2搭建最新版本的深度学习环境

本文介绍了在Windows系统上通过WSL搭建最新深度学习环境的方法。由于Windows原生环境仅支持CUDA 11.2,无法满足TensorFlow 2.19.0(需CUDA 12.5)和PyTorch 2.7.0(需CUDA 12.8)的要求,因此选择使用WSL安装Ubuntu 24.04 LTS。详细步骤包括:WSL安装与配置、NVIDIA驱动更新、CUDA 12.9和cuDNN安装、在conda环境中配置TensorFlow和PyTorch,以及如何在PyCharm中使用WSL环境。

2025-06-20 21:28:23 1732

原创 2.6 Python类的创建与实例化:从代码对象到PVM执行

本文深入剖析了Python类的生命周期,揭示其从定义到调用的完整过程。首先通过静态编译阶段将类定义转换为包含字节码的代码对象,为动态执行奠定基础。在运行时,通过__build_class__函数和元类机制动态构建类对象,包括命名空间初始化、方法解析顺序构建等核心环节。最后在实例化阶段,通过type.__call__协调内存分配和初始化,完成对象创建。整个过程体现了Python既保持动态语言灵活性,又通过预编译优化执行效率的设计哲学,展现了类与元类系统的精妙协作机制。

2025-06-19 21:31:27 889

原创 2.5 Python虚拟机与栈帧:深入理解代码对象的动态执行

本文详细解析了Python虚拟机(PVM)的工作流程,重点关注动态执行阶段的核心机制。PVM通过初始化阶段建立执行环境后,进入核心循环执行字节码指令,包括函数调用、命名空间管理和栈帧切换等关键过程。文章深入剖析了栈帧的结构与工作流程,展示了其作为执行引擎如何维护函数调用状态。通过实际案例演示了从模块级代码到函数调用的完整执行路径,包括字节码解析、操作数栈交互和返回值处理机制。最后,系统总结了PVM如何通过栈帧隔离、命名空间链和调用栈管理来实现Python代码的动态执行。

2025-06-19 17:57:29 737

原创 2.4 Python基础概念:通过一个文字冒险游戏学习编程

这个Python文字冒险游戏项目完整展示了一个小型游戏系统的开发过程。游戏采用状态驱动设计,通过status字典集中管理游戏数据,实现了地图加载、角色移动、道具交互等核心功能。项目涵盖了Python基础语法、文件操作、随机事件等关键技术,展示了良好的代码组织和模块化设计。其清晰的架构和丰富的交互机制不仅具有教学价值,更为后续功能扩展奠定了基础,是初学者学习游戏开发的优秀范例。

2025-06-17 21:05:39 1285

原创 2.3 Python的代码对象及其执行机制

Python代码对象是PVM执行的静态蓝图,包含字节码、常量等编译后的信息,但不保存运行时状态。模块、函数等结构会被编译为嵌套的代码对象,PVM执行时动态创建对应的运行时对象(如模块实例、函数调用),并通过命名空间管理变量映射。代码对象可缓存为.pyc文件,避免重复编译,提升执行效率。理解代码对象有助于掌握Python的底层执行机制。

2025-06-17 19:14:49 1076

原创 2.2 Python的核心设计哲学——“万物皆对象”

本文阐述了Python"万物皆对象"的核心设计理念。首先通过代码示例对比了不可变对象(整数)和可变对象(列表)在赋值操作时的差异,解释变量引用对象而非包含对象本身的概念。其次介绍了面向对象编程中类和对象的关系,说明类作为蓝图、对象作为实例的创建过程。文章指出Python中所有数据类型包括数字、函数甚至类本身都是对象,具有统一类型系统、动态引用和自动垃圾回收等特点。最后强调理解这些底层机制对掌握Python编程的重要性。全文深入浅出地解析了Python的对象模型核心概念。

2025-06-16 00:39:58 919

原创 2.1 Python解释器工作原理

本文介绍了Python代码执行流程,重点解析了解释器工作原理。解释器分为前端(词法/语法分析器和编译器)和后端(Python虚拟机和标准库),前端将Python代码转换为字节码,后端执行这些字节码。这种设计提高了性能、灵活性和跨平台能力。文章通过find_max函数示例展示了如何分析代码的词法结构、语法树和生成字节码的过程,并提供了具体实验步骤(包括创建虚拟环境、编写分析脚本等),帮助读者直观理解Python代码从源码到执行的完整转换过程。

2025-06-15 11:49:15 587

原创 轻量级密码算法LED的C语言实现(无第三方库)

LED是一种轻量级分组密码算法,采用64位分组长度和64/128位密钥,专为资源受限硬件设计。其核心采用类似AES的轮函数结构,包含S盒替换、行移位和列混淆操作,但取消了密钥调度以简化实现。本文详细介绍了LED算法原理,并提供了完整的C语言实现代码,包括加密/解密流程和测试案例。

2025-06-13 23:28:46 864

原创 轻量级密码算法PRESENT的C语言实现(无第三方库)

摘要:PRESENT是一种专为资源受限设备设计的超轻量级分组密码算法,采用64位分组和80/128位密钥,具有1570个门电路的极小硬件实现。其SPN结构包含31轮加密,通过S盒替换和P盒置换确保安全性。本文提供了完整的PRESENT-80算法C语言实现,包括加密、解密、密钥扩展及标准化测试用例验证,展示了该算法在物联网安全中的高效应用价值。代码结构清晰,便于移植到嵌入式系统,为轻量级加密需求提供了可靠解决方案。

2025-06-13 23:01:44 1227

原创 轻量级密码算法Grain-128a的Python实现

Grain-128a是Grain密码家族的增强版本,由瑞典Lund大学团队于2011年设计。该算法采用128位LFSR和NFSR组合架构,通过非线性反馈函数增强安全性,并支持可选认证模式。Python实现展示了算法核心流程,包括初始化阶段、非线性反馈计算和密钥流生成。代码通过两个测试用例验证了功能正确性。Grain-128a以硬件友好著称,仅需约2769个等效门电路,适用于物联网等资源受限场景,同时兼顾加密和认证需求。实现代码完整呈现了算法逻辑,具有教学参考价值。

2025-06-13 20:41:30 1106

原创 轻量级密码算法CHAM的python实现

CHAM算法通过创新的ARX结构和无状态密钥扩展设计,在资源受限环境中实现了优异的性能表现。其硬件效率显著优于SIMON等同类算法,软件性能也可与SPECK媲美。精心设计的轮函数和充足的轮数为安全性提供了坚实保障,使其成为物联网安全应用的理想选择。Python实现验证了算法的可行性,展现了其简洁而高效的特点。

2025-06-13 20:10:51 1005

原创 SM3算法Python实现(无第三方库)

首先对SM3杂凑算法进行了介绍,之后用Python进行了实现,最后结合标准文档的测试用例进行正确性验证。结果表明,我们的代码能正确的执行。

2025-06-12 23:38:39 1441

原创 1.5 PyQt6图形用户界面

PyQt6作为Python连接Qt6的GUI框架,支持现代UI特性并提供性能优化。相比PyQt5,它简化了API并移除过时功能。环境搭建可通过conda创建虚拟环境并安装PyQt6和PyQt6-Tools扩展包。开发支持纯代码和QtDesigner两种方式,前者灵活后者高效。示例展示了100多行代码实现的粒子动画效果,包含动态粒子轨迹、渐变背景和鼠标交互,验证了PyQt6的图形处理能力。该框架适合开发需要现代视觉效果的高性能桌面应用。

2025-06-12 17:46:35 1401

原创 1.4 深度学习环境

本文介绍了深度学习开发环境的搭建方法。主要内容包括:1)三大主流深度学习框架对比:TensorFlow适合工业部署,PyTorch研究友好,Keras简洁易学;2)GPU加速方案:需安装CUDAToolkit和cuDNN以发挥NVIDIA显卡性能;3)推荐使用Miniconda进行环境管理,解决了Python版本和依赖冲突问题;4)详细演示了TensorFlow-GPU环境的安装步骤,包括CUDA版本检查、conda环境配置和验证方法;5)最后介绍了如何在PyCharm中配置conda环境。

2025-06-12 11:43:31 1195

原创 1.3 数值计算与可视化相关库

Python在数据科学领域的五大核心库包括:NumPy(高效多维数组计算)、Pandas(结构化数据处理)、SciPy(科学计算算法)、Matplotlib(基础可视化)和Seaborn(高级统计图表)。这些库支持向量化运算、数据清洗、数值建模和专业可视化。本文通过具体案例展示了:使用Pandas处理销售数据、用SciPy拟合传染病模型参数、以及Seaborn生成多维统计图表。这些工具的组合使Python成为数据分析和科学计算的强大平台,其简洁的API设计和高效性能显著提升了数据处理效率。

2025-06-11 15:29:28 1123 1

原创 ChipWhisperer教程(三)

本文详细介绍了CW305 FPGA目标板的硬件架构与波形采集流程。CW305搭载Xilinx Artix-7 FPGA芯片,具有USB通信接口、外部PLL时钟和电源保护功能。文章重点解析了Verilog代码架构,包括USB接口通信、寄存器定义和AES加密实现三个核心模块。在采集环节,提供了基于Jupyter Notebook的完整采集脚本,涵盖硬件连接、参数设置、数据采集和存储(支持.npy和.trs格式)。通过底层寄存器操作示例,揭示了软硬件交互的关键机制,为扩展其他密码算法提供了参考框架。

2025-06-10 22:05:17 1091 1

原创 ChipWhisperer教程(二)

本文详细介绍了CW308-STM32F目标板的波形采集方法,主要包括目标板介绍、代码编写和采集流程。STM32F303目标板采用ARMCortex-M4内核,具有高性能和低功耗特性。代码编写部分包括Makefile模板、通信协议接口文件(支持Simpleserialv1.1/v2.1)以及AES算法实现。采集代码使用JupyterNotebook控制捕获板,包含初始化、单次测试和批量采集(60000条曲线)的完整流程,并提供了将数据保存为.npy和.trs格式的方法。文中给出了所有关键代码模板和参数配

2025-06-10 21:55:18 1401

原创 ChipWhisperer教程(一)

ChipWhisperer是开源嵌入式安全分析工具链,用于研究侧信道攻击(功耗分析)和故障攻击(电压/时钟毛刺)。该系统包含硬件(捕获板+目标板)、固件、Python控制软件和Jupyter Notebook教程三部分。用户需编写目标板代码(C/Verilog)和采集脚本。支持Windows和Linux(Ubuntu)安装,提供pyenv/conda两种环境配置方案。项目包含详细的API文档和攻击案例教程,适用于嵌入式设备安全测试和密码分析研究。

2025-06-10 21:43:00 1247

原创 1.2 集成开发环境(IDE)

本文介绍了两种常用的Python集成开发环境:PyCharm和Jupyter Notebook。PyCharm是JetBrains公司开发的专业Python IDE,适合项目开发和调试,支持虚拟环境配置、代码补全和调试等功能。Jupyter Notebook则更适合交互式开发和数据分析,支持分块执行代码和即时可视化。

2025-06-10 16:01:11 754

原创 1.1 python虚拟环境

本文由浅入深说明了Python虚拟环境的概念及使用方法,便于初学者理解。

2025-06-10 15:52:35 1317

原创 Radix-4 模乘算法及Python实现

Radix-4模乘算法是优化大数模乘运算的高效方法,广泛应用于密码学领域。该算法通过4进制分解乘数,每次处理2个比特位而非传统1位,使运算次数减半。文章详细介绍了算法原理:初始化阶段预计算关键值,循环阶段分步更新结果。作者提供了Python实现代码并通过示例验证了算法正确性。相比传统方法,Radix-4算法显著提升效率,其规则计算模式还便于硬件加速实现,特别适合RSA、椭圆曲线等需要频繁大数运算的密码学应用。实验结果表明该算法能准确计算256位大数模乘。

2022-09-25 16:43:44 485

原创 Kogge-Stone 并行前缀加法器的设计与自动生成

Kogge-Stone加法器是一种高效的并行前缀加法器,采用树形结构计算进位信号,具有低延迟、低扇入扇出特点,但布线复杂度较高。文章详细介绍了64位Kogge-Stone加法器的Verilog实现,包括生成传播信号、6级并行前缀计算和输出逻辑。同时提出使用Python自动生成Verilog代码的方法,支持任意2的幂次位宽,可提高开发效率。该方法适用于FPGA和ASIC设计中的高性能算术运算,并可扩展至其他并行前缀结构。

2022-09-25 16:27:41 1474

原创 GF(2^m)上的SM2算法Python实现(无第三方库,包含数字签名、公钥加密和密钥交换,均有完整测试)

本文重点介绍了GF(2^m)上的SM2算法实现,包括有限域运算(多项式乘法、求逆等)和椭圆曲线点运算(仿射坐标与投影坐标下的点加、倍点及多倍点运算),并提供了Python代码实现。同时提供了SM2数字签名、公钥加密和密钥交换三种算法的python实现和测试程序,经过验证均通过了测试,我们为SM2的研究提供了实现基础。

2022-09-22 14:41:58 3042 1

原创 SM4算法的Verilog循环迭代实现(带测试)

本文介绍了SM4分组密码算法的Verilog循环迭代实现,重点分析了边扩展边加密的设计方法。该实现通过并行执行密钥扩展和加密操作,在每轮时钟周期内动态生成并消耗轮密钥,避免了传统方案预计算所有轮密钥的存储开销,优化了硬件资源利用率。文章深入解析了各模块设计,包括顶层控制、密钥扩展、加密流程及非线性变换等关键单元,展示了状态机同步控制和组合逻辑优化的具体实现。测试验证采用标准向量,通过功能仿真和波形分析确认了设计的正确性,综合结果表明在主流FPGA上仅需约740个LUTs和269个FFs。

2022-06-06 20:41:03 7063 19

原创 SM3杂凑算法的verilog实现(带测试)

本文介绍了SM3哈希算法的Verilog硬件实现方案。SM3是中国自主设计的密码哈希算法,采用256位输出和Merkle-Damgård结构。实现方案包含三个核心模块:消息填充模块将输入处理为512位分组并添加填充位;消息扩展模块通过非线性变换生成132个扩展字;压缩函数模块完成64轮迭代计算。测试结果表明,该设计正确实现了标准测试向量的哈希计算,输出结果与预期值完全匹配。各模块通过状态机控制数据流,采用握手信号实现同步,优化了时序和硬件资源使用。

2022-06-06 19:40:52 4000 10

原创 6轮DES差分攻击Java实现(无第三方库,带测试)

本文提出了一种DES差分分析攻击的实现方法,通过构建S盒差分分布表进行密钥破解。该方法包含五个关键步骤:1) 建立8×64×16的S盒差分分布表;2) 计算第六轮加密的输入输出差分;3) 设置特征值和候选S盒;4) 通过过滤操作筛选有效明密对并统计密钥计数;5) 实验结果验证。测试表明,该方法能在100对明密对内识别5个候选S盒密钥,并在10000对明密对后使正确密钥计数显著高于错误值(2倍以上)。

2021-11-21 13:08:31 1008 1

基于BearSSL库简化后的RSA签名与验签C语言代码

省略BearSSL库中的大量内容,只保留pkcs1的RSA签名方案,并编写了专门的测试代码。

2025-07-05

采集自AES算法无防护纯软件实现的功耗曲线

基于ChipWhisperer平台采集的功耗曲线,采集板为ChipWhisperer-Lite,采样率为105MS/s,目标板为CW305 STM32F,CW305 STM32F上集成了ARM Cortex-M4内核,最高主频可达 72 MHz,目标算法为AES的无防护无优化实现。

2025-06-18

CHAM,一种专为资源受限设备设计的轻量级分组密码家族

内容概要:本文介绍了一种新型轻量级分组密码家族CHAM,专为资源受限设备设计。CHAM由三种不同的分组密码组成,分别是CHAM-64/128、CHAM-128/128和CHAM-128/256,基于广义4分支Feistel结构和ARX(加法、旋转、异或)操作。CHAM采用无状态即时密钥调度机制,显著减少了硬件实现中的面积需求,同时在软件性能上也表现出色。通过与SIMON和SPECK等现有轻量级密码的比较,CHAM在硬件和软件平台上均显示出竞争力,特别是在资源受限环境中表现突出。此外,CHAM经过多种加密分析验证,具有良好的安全性。 适合人群:从事信息安全、密码学研究的专业人士,尤其是对轻量级加密算法感兴趣的研究人员和开发人员。 使用场景及目标:适用于物联网设备和其他资源受限环境中的数据加密需求。具体应用场景包括但不限于: ① 物联网设备中的数据传输加密; ② 嵌入式系统中的安全通信; ③ 对轻量级加密算法进行研究和评估。 其他说明:CHAM的设计重点在于提高效率和降低资源消耗,特别适合于低功耗、小存储空间的设备。文中详细介绍了CHAM的内部结构、密钥调度机制以及各种性能测试结果,并通过广泛的加密分析证明了其安全性。此外,CHAM还提供了具体的测试向量,便于开发者进行验证和实现。

2025-06-13

ChipWhisperer基础入门

ChipWhisperer快速入门,详细分析了AES算法32位处理器和FPGA的实现代码,以及对应的采集代码。

2024-11-23

二元扩域sm2签名与验签算法python实现(已封装,可直接使用)

python实现F2^m域sm2签名与验签算法,包含sm3杂凑算法,不调用其他库,完全自主实现,已通过测试,可直接使用,方便初学者对sm2算法进行学习研究。 完全按照国家密码局发布的《SM2椭圆曲线公钥密码算法》进行实现,其中分为三个部分,第一部分为sm3杂凑算法的实现,完全依照国家密码管理局发布的《SM3密码杂凑算法》进行实现,并通过测试。第二部分为F2^m域上的模运算的点运算实现,被封装为一个类,方便使用,并附带测试代码。第三部分为F2^m域上的签名与验签算法的实现,其中要用到素数域Fn上的模逆运算,已进行相关注释。 网上素数域的sm2算法已经比较多了,这里的F2^m域刚好补上了相关空缺,欢迎大家一起来学习交流~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2022-09-22

led密码算法verilog实现

led密码算法verilog实现

2022-09-27

present轻量级密码算法verilog实现

present轻量级密码算法verilog实现

2022-09-27

sm2数字签名算法python实现

sm2数字签名算法python实现

2022-09-27

二元扩域ECC点乘算法verilog实现

二元扩域ECC点乘算法的verilog实现,已验证通过,可直接使用。

2022-09-25

verilog实现uart串口接收和发送

使用DDR200T开发板的usb-uart接口,进行主机和DDR200T开发板的通信,附测试文件。

2022-06-07

sm4分组密码算法的verilog实现

使用verilog语言对sm4分组密码进行编写,带有仿真测试文件。

2022-06-06

sm3杂凑算法的verilog实现(免费资源)

sm3杂凑算法的verilog实现,带仿真文件,真实可用。

2022-06-06

EEPROM的添加与使用

基于DDR200T开发板,使用verilog编写EEPROM的IIC控制模块。

2022-06-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除