您的位置:首页 > 其它

关于在FPGA上实现AES算法的笔记

2007-12-23 14:37 281 查看
针对 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。

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=510864
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: