当前位置: 首页 > news >正文

基于FPGA的AES加解密系统verilog实现,包含testbench和开发板硬件测试

1.课题概述

  基于FPGA的AES加解密系统verilog实现,包含testbench和开发板硬件测试。输入待加密数据,密钥,输出加密数据,然后通过解密模块输出解密后的原数据。

2.系统测试效果

仿真测试

1

硬件测试

2

3.核心程序与模型

`timescale 1ns / 1psmodule tops_hw(
input             i_clk,
input             i_rst,
output            led);reg[15:0]cnt;
always @(posedge i_clk or negedge i_rst)
beginif(~i_rst)begincnt<=16'd0;end elsebeginif(cnt==16'd60000)cnt<=16'd1;elsecnt<=cnt+16'd1;
    end
endreg       start;
reg[127:0]key;
reg[127:0]text_in; always @(posedge i_clk or negedge i_rst)
beginif(~i_rst)beginstart   <=1'd0;key     <=128'd0;text_in <=128'd0;end elsebeginif(cnt==16'd1 | cnt==16'd20001 | cnt==16'd40001)start   <=1'd1;elsestart   <=1'd0;if(cnt==16'd1)
         begintext_in <= 128'h0123_4567_89ab_cdef_0123_4567_89ab_cdef;key     <= 128'h0000_0000_0000_0000_1111_0000_0000_0000;
         endif(cnt==16'd20001)
         begintext_in <= 128'h0123_4567_0000_cdef_0123_4567_89ab_cdef;key     <= 128'h0000_0000_1111_0000_1111_0000_0000_0000;
         endif(cnt==16'd40001)
         begintext_in <= 128'h0123_4560_0000_c11f_0123_4567_89ab_cdef;key     <= 128'h0000_0000_1111_0000_1111_0000_0111_0000;
         endend
end
wire           done;
wire    [127:0]    text_out;
wire           done2;
wire    [127:0]    text_out2;
aes_tops aes_tops_jiam(.Clock       (i_clk),.Reset       (~i_rst),.loads       (start),.enc_dec     (1'b0),
                             .din         (text_in),.FEK         (key),.Ready       (),.dout        (),.Ready_Valid (done),.douts_Valid (text_out));aes_tops aes_tops_jiem(.Clock       (i_clk),.Reset       (~i_rst),.loads       (done),.enc_dec     (1'b1),
                             .din         (text_out),.FEK         (key),.Ready       (),.dout        (),.Ready_Valid (done2),.douts_Valid (text_out2));assign led= done2;ila_0 your_instance_name (.clk(i_clk), // input wire clk
    .probe0({start,text_in,key,done,text_out,done2,text_out2}) // input wire [519:0] probe0
);endmodule
00X6_002m

4.系统原理简介

AES是一种分组密码算法,它将明文数据分成固定大小的分组(通常为 128 位),并使用一个密钥对这些分组进行加密。AES支持的密钥长度有128位、192位和256位,不同的密钥长度对应不同的加密轮数,分别为10轮、12轮和14轮。
AES加密过程主要包括初始轮、多轮迭代和最终轮。每一轮迭代都包含四个基本操作:字节替换(SubBytes)、行移位(ShiftRows)、列混合(MixColumns)和轮密钥加(AddRoundKey)。

 

http://www.jsqmd.com/news/264671/

相关文章:

  • 阿里通义Z-Image-Turbo显存不足?显存优化部署教程一文详解
  • bge-large-zh-v1.5应用创新:智能合同审查系统开发
  • Qwen All-in-One国际化:多语言对话支持扩展方案
  • 效果惊艳!PETRV2-BEV模型3D检测案例展示
  • 从Demo到上线:CosyVoice-300M Lite生产环境迁移教程
  • Qwen3-VL-2B免配置部署:开箱即用视觉AI实战推荐
  • 小白友好!GLM-4.6V-Flash-WEB一键启动,网页API双模式实测
  • IQuest-Coder-V1 vs WizardCoder:竞技编程任务完成率对比
  • Qwen3-VL-2B技术深度:视觉推理增强原理
  • 9种常用排序算法总结
  • AI读脸术自动化部署:CI/CD流水线集成实战教程
  • TurboDiffusion安装报错?SageAttention依赖环境配置避坑指南
  • QR Code Master使用指南:生成与识别一站式解决方案
  • 异或门温度特性研究:环境对阈值电压的影响
  • 你的模型为何不推理?DeepSeek-R1-Distill-Qwen-1.5B强制换行技巧揭秘
  • Glyph视觉推理功能测评:长上下文建模新思路
  • Python3.8自动化测试:云端并行执行,效率提升5倍
  • FST ITN-ZH中文逆文本标准化WebUI二次开发实战
  • 如何验证微调成功?Qwen2.5-7B前后对比测试方法
  • 语音增强技术落地|结合FRCRN-16k镜像与ClearerVoice工具包
  • MinerU 2.5部署案例:企业年报PDF智能分析系统
  • Python不写类型注解?难怪你的代码总是报错且没人看懂!
  • 用Qwen3-1.7B做文本摘要,效果堪比商用模型
  • 新手必学:Open-AutoGLM五步快速上手法
  • Python 返回值注解全解析:从语法到实战,让代码更具可读性
  • BAAI/bge-m3快速验证:30分钟搭建RAG召回评估系统
  • 为什么SenseVoiceSmall部署总失败?GPU适配问题解决指南
  • SGLang推理延迟优化:批处理配置实战案例
  • Glyph+VLM=超强长文本理解能力
  • 工业机器人通信中断:USB转串口驱动排查指南