同时支持三种安全等级的AES硬件实现

AES-128的verilog实现_aes 128 verilog-CSDN博客,我之前写过AES-128,现在在他的基础上实现三种安全等级128,192,256的复用。并引入和外界进行交互的接口。,nice_inst对应我自己定义的指令。下面的RAM接口可以直接与内部RAM交互。

定义了7种功能,一个完整的测试例子如下,可以用我工程里面的vivado里面的testbench功能仿真得到下面的波形:

这段波形包含了:设置level,写256bits密钥到AES,密钥扩展,加载明文,加密,读密文;加载密文,解密,读明文。每个明文块128bits一组来处理。

我的vivado是2022.1,如果版本跟我一样可以直接打开对应vivado工程。

顶层文件为aes_top。testbench里面包含三个安全等级的测试。fips-197是官方文档。

我的BRAM里面64bits位宽,0-3地址放256bits密钥,4-33放最多15*128bits扩展密钥,34-35放128bits明文/密文,加密/解密完后密文/明文128bits覆盖到34-35的地址。每128bits一组加解密。

往BRAM里面写数据的流程图如上图所示,也放在other文件下面的.json文件,可以用vs code的ctrl k再ctrl+d打开。

所有的文件都在下面了,嘻嘻。

链接: https://pan.baidu.com/s/1QX3MWSwwWnrJcOQBZElMJA?pwd=5w6j 提取码: 5w6j 

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值