- 博客(23)
- 资源 (4)
- 收藏
- 关注

原创 GF(2^m)上的SM2算法Python实现(无第三方库,包含数字签名、公钥加密和密钥交换,均有完整测试)
本文重点介绍了GF(2^m)上的SM2算法实现,包括有限域运算(多项式乘法、求逆等)和椭圆曲线点运算(仿射坐标与投影坐标下的点加、倍点及多倍点运算),并提供了Python代码实现。同时提供了SM2数字签名、公钥加密和密钥交换三种算法的python实现和测试程序,经过验证均通过了测试,我们为SM2的研究提供了实现基础。
2022-09-22 14:41:58
2682
2
原创 轻量级密码算法Grain-128a及其Python实现
Grain-128a是Grain密码家族的增强版本,由瑞典Lund大学团队于2011年设计。该算法采用128位LFSR和NFSR组合架构,通过非线性反馈函数增强安全性,并支持可选认证模式。Python实现展示了算法核心流程,包括初始化阶段、非线性反馈计算和密钥流生成。代码通过两个测试用例验证了功能正确性。Grain-128a以硬件友好著称,仅需约2769个等效门电路,适用于物联网等资源受限场景,同时兼顾加密和认证需求。实现代码完整呈现了算法逻辑,具有教学参考价值。
2025-06-13 20:41:30
524
原创 轻量级算法CHAM的python实现
CHAM算法通过创新的ARX结构和无状态密钥扩展设计,在资源受限环境中实现了优异的性能表现。其硬件效率显著优于SIMON等同类算法,软件性能也可与SPECK媲美。精心设计的轮函数和充足的轮数为安全性提供了坚实保障,使其成为物联网安全应用的理想选择。Python实现验证了算法的可行性,展现了其简洁而高效的特点。
2025-06-13 20:10:51
244
原创 SM3算法Python实现(无第三方库)
首先对SM3杂凑算法进行了介绍,之后用Python进行了实现,最后结合标准文档的测试用例进行正确性验证。结果表明,我们的代码能正确的执行。
2025-06-12 23:38:39
700
原创 五、PyQt6图形用户界面
PyQt6作为Python连接Qt6的GUI框架,支持现代UI特性并提供性能优化。相比PyQt5,它简化了API并移除过时功能。环境搭建可通过conda创建虚拟环境并安装PyQt6和PyQt6-Tools扩展包。开发支持纯代码和QtDesigner两种方式,前者灵活后者高效。示例展示了100多行代码实现的粒子动画效果,包含动态粒子轨迹、渐变背景和鼠标交互,验证了PyQt6的图形处理能力。该框架适合开发需要现代视觉效果的高性能桌面应用。
2025-06-12 17:46:35
664
原创 四、深度学习环境
本文介绍了深度学习开发环境的搭建方法。主要内容包括: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
758
原创 三、数值计算与可视化相关库
Python在数据科学领域的五大核心库包括:NumPy(高效多维数组计算)、Pandas(结构化数据处理)、SciPy(科学计算算法)、Matplotlib(基础可视化)和Seaborn(高级统计图表)。这些库支持向量化运算、数据清洗、数值建模和专业可视化。本文通过具体案例展示了:使用Pandas处理销售数据、用SciPy拟合传染病模型参数、以及Seaborn生成多维统计图表。这些工具的组合使Python成为数据分析和科学计算的强大平台,其简洁的API设计和高效性能显著提升了数据处理效率。
2025-06-11 15:29:28
800
1
原创 ChipWhisperer教程(三)
本文详细介绍了CW305 FPGA目标板的硬件架构与波形采集流程。CW305搭载Xilinx Artix-7 FPGA芯片,具有USB通信接口、外部PLL时钟和电源保护功能。文章重点解析了Verilog代码架构,包括USB接口通信、寄存器定义和AES加密实现三个核心模块。在采集环节,提供了基于Jupyter Notebook的完整采集脚本,涵盖硬件连接、参数设置、数据采集和存储(支持.npy和.trs格式)。通过底层寄存器操作示例,揭示了软硬件交互的关键机制,为扩展其他密码算法提供了参考框架。
2025-06-10 22:05:17
641
原创 ChipWhisperer教程(二)
本文详细介绍了CW308-STM32F目标板的波形采集方法,主要包括目标板介绍、代码编写和采集流程。STM32F303目标板采用ARMCortex-M4内核,具有高性能和低功耗特性。代码编写部分包括Makefile模板、通信协议接口文件(支持Simpleserialv1.1/v2.1)以及AES算法实现。采集代码使用JupyterNotebook控制捕获板,包含初始化、单次测试和批量采集(60000条曲线)的完整流程,并提供了将数据保存为.npy和.trs格式的方法。文中给出了所有关键代码模板和参数配
2025-06-10 21:55:18
1002
原创 ChipWhisperer教程(一)
ChipWhisperer是开源嵌入式安全分析工具链,用于研究侧信道攻击(功耗分析)和故障攻击(电压/时钟毛刺)。该系统包含硬件(捕获板+目标板)、固件、Python控制软件和Jupyter Notebook教程三部分。用户需编写目标板代码(C/Verilog)和采集脚本。支持Windows和Linux(Ubuntu)安装,提供pyenv/conda两种环境配置方案。项目包含详细的API文档和攻击案例教程,适用于嵌入式设备安全测试和密码分析研究。
2025-06-10 21:43:00
719
原创 二、集成开发环境(IDE)
本文介绍了两种常用的Python集成开发环境:PyCharm和Jupyter Notebook。PyCharm是JetBrains公司开发的专业Python IDE,适合项目开发和调试,支持虚拟环境配置、代码补全和调试等功能。Jupyter Notebook则更适合交互式开发和数据分析,支持分块执行代码和即时可视化。
2025-06-10 16:01:11
414
原创 自动复制vivado生成的.bit文件到指定路径
本文介绍了一个Vivado FPGA开发的TCL自动化脚本,用于将生成的比特流文件(.bit)自动复制到指定目录。脚本首先搜索默认输出路径中的比特文件,检查目标文件夹是否存在,若不存在则自动创建,最后完成文件复制。该方案解决了Vivado默认输出路径不便查找的问题,支持自定义存储路径,有效提升了FPGA开发效率,避免手动复制操作。用户可根据需求修改目标路径参数,实现比特流文件统一管理。
2023-06-30 12:11:12
1309
原创 Radix-4 模乘算法及Python实现
Radix-4模乘算法是优化大数模乘运算的高效方法,广泛应用于密码学领域。该算法通过4进制分解乘数,每次处理2个比特位而非传统1位,使运算次数减半。文章详细介绍了算法原理:初始化阶段预计算关键值,循环阶段分步更新结果。作者提供了Python实现代码并通过示例验证了算法正确性。相比传统方法,Radix-4算法显著提升效率,其规则计算模式还便于硬件加速实现,特别适合RSA、椭圆曲线等需要频繁大数运算的密码学应用。实验结果表明该算法能准确计算256位大数模乘。
2022-09-25 16:43:44
414
原创 Kogge-Stone 并行前缀加法器的设计与自动生成
Kogge-Stone加法器是一种高效的并行前缀加法器,采用树形结构计算进位信号,具有低延迟、低扇入扇出特点,但布线复杂度较高。文章详细介绍了64位Kogge-Stone加法器的Verilog实现,包括生成传播信号、6级并行前缀计算和输出逻辑。同时提出使用Python自动生成Verilog代码的方法,支持任意2的幂次位宽,可提高开发效率。该方法适用于FPGA和ASIC设计中的高性能算术运算,并可扩展至其他并行前缀结构。
2022-09-25 16:27:41
1217
原创 AES算法java完整实现(不调用自带的库,免费完整代码)
AES算法java完整实现,可以直接运行,注意改一下包名。有问题请留言,直接上代码:package AES;public class AES { private byte[] key=null; private char[] ikey=null; private byte[] plaintext=null; private byte[] ciphertext= null; private static char Rcon[] = {0x01, 0x02, 0x...
2021-11-21 11:32:31
1129
1
原创 DES算法java完整实现(不调用自带的库,免费完整代码)
DES具体算法过程自己去查吧,这里只上代码。直接将DES封装为一个类(定义在名为DES的包下面,实际运行时注意改成自己的包名)package DES;public class DES { private byte[] key=null; private byte[][] ikey=null; private byte[] plaintext=null; private byte[] ciphertext= null; private static byte[]...
2021-11-21 11:08:32
842
CHAM,一种专为资源受限设备设计的轻量级分组密码家族
2025-06-13
二元扩域sm2签名与验签算法python实现(已封装,可直接使用)
2022-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人