關於在FPGA上實現AES演算法的筆記

來源:互聯網
上載者:User

針對 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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.