博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于在FPGA上实现AES算法的笔记
阅读量:4120 次
发布时间:2019-05-25

本文共 526 字,大约阅读时间需要 1 分钟。

针对 key 长度为 128 bits 的AES算法。

1. AES算法要做10轮运算,最基本的实现实现用11cycles。

2. 每轮加密要用到16个Sbox,每个Sbox要占用1个2048 bit 的ROM。key expansion要用4个Sbox。如果on-the-fly 地进行,那么一共要20个Sbox;如果提前做好key expansion,那么需要16个Sbox外加1408bits RAM来存放Subkey。

3. 在Altera FPGA上每个Sbox要占用一个ESB或EAB,在Xilinx FPGA上,每两个Sbox占用一个Block RAM(因为每个Block RAM都是dual-port的)。那么理论上,AES encryption 可以用一片Spartan-II XC2S100(10 Block RAMs)或者一片FLEX EPF10K200S (24 EABs)实现。

4.为了能在ACEX 1K30这种便宜的芯片(6 EABs)上实现,要把一轮分解为4步来做,这样只用4个Sbox,连同存放Subkey,一共用5 EABs。当然,完成一个128-bit block加密就需要41 cycles,吞吐量也降为1/4。

转载地址:http://bhvpi.baihongyu.com/

你可能感兴趣的文章
使用TcpClient可避免HttpWebRequest的常见错误
查看>>
EntityFramework 学习之一 —— 模型概述与环境搭建 .
查看>>
C# 发HTTP请求
查看>>
启动 LocalDB 和连接到 LocalDB
查看>>
Palindrome Number --回文整数
查看>>
Reverse Integer--反转整数
查看>>
Container With Most Water --装最多水的容器(重)
查看>>
Longest Common Prefix -最长公共前缀
查看>>
Letter Combinations of a Phone Number
查看>>
Single Number II --出现一次的数(重)
查看>>
Valid Parentheses --括号匹配
查看>>
Remove Element--原地移除重复元素
查看>>
Remove Duplicates from Sorted Array--从有序数组中移除重复元素
查看>>
Count and Say
查看>>
Gas Station
查看>>
Palindrome Partitioning --回文切割 深搜(重重)
查看>>
Valid Palindrome 简单的回文判断
查看>>
Pascal's Triangle -- 生成杨辉三角
查看>>
Pascal's Triangle II 生成杨辉三角中的某行
查看>>
Minimum Depth of Binary Tree -- 二叉树的最小深度 DFS 加剪枝
查看>>