自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 一、python虚拟环境

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

2025-06-10 15:52:35 1099

原创 自动复制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

原创 SM4分组密码算法的verilog实现(附免费可用代码)

sm4算法的verilog实现

2022-06-06 20:41:03 6303 16

原创 SM3杂凑算法的verilog实现(附免费可用代码)

SM3杂凑算法的verilog语言硬件实现

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

原创 6轮DES差分攻击java实现(免费完整代码)

6轮DES差分攻击java实现

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

原创 三轮DES差分攻击(免费完整代码)

完整3轮des差分攻击java实现代码。

2021-11-21 12:15:04 3030 1

原创 gift密码算法的java实现(免费完整代码)

轻量级算法gift的java实现

2021-11-21 11:58:28 951 1

原创 AES算法的CBC模式加密(java实现,免费完整代码)

AES算法的CBC模式实现(java实现),有问题的请留言。

2021-11-21 11:50:36 2304 2

原创 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,一种专为资源受限设备设计的轻量级分组密码家族

内容概要:本文介绍了一种新型轻量级分组密码家族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关注的人

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