《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 一種GPON-AES的FPGA優化實現
一種GPON-AES的FPGA優化實現
中國信息產業網
摘要: 本文介紹了GPON中嵌入AES算法的過程以及AES加解密算法。對AES計數器模式在GPON中的FPGA實現給出了優化的解決方案,詳細介紹了一種輪間流水和輪內流水復用,控制簡單的AES的實現方法,并給出了關鍵時序圖和綜合結果。
Abstract:
Key words :

Abstract:This paper describes the procedure of AES encryption in GPON system and the detail method of AES encryption. We come up with a FPGA implementation of AES CTR mode in GPON system. Particularly introduce a more efficiency and more controllable AES implementation for high speed network. Finally provide key timing figure and synthesis results.

關鍵詞:Key Words

GPON Gigabit-capable Passive Optical Networks

AES Advanced Encryption Standard

OLT Optical Line Terminal

ONU Optical Network Unit

1. 概述

隨著骨干網的高速發展,接入網逐漸成為了信息高速公路的瓶頸。GPON是基于ITU-T G.984.x[1]標準的最新一代寬帶無源光網絡接入技術。它能提供前所未有的高比特速率(最高可達2.488Gbps)、更高的QOS、以原有數據格式傳送、具有極高的效率等優勢,越來越被業界認可,將成為FTTH的最主要的接入形式。

2. GPON-AES算法

GPON系統是一個點到多點的系統,對于系統中的上行數據,ONU到OLT為單播方式傳輸,具有良好的方向性,較難攻擊。下行數據為廣播式傳輸,用戶在物理上可以接收到OLT發給所有用戶的信息,所以惡意用戶可以根據接受到的信息,冒充其他ONU用戶,從而竊聽、盜取他人信息。在GPON啟動后,OLT和ONU應通過OMCI通道來協商加密算法。目前GPON僅規定支持AES[2]加密算法。

2.1 AES算法

AES算法是美國標準技術研究所(NIST)于2001年11月正式發布的,它是一種分組加密算法,處理的最小單元是一個分組,即把明文或密文分成固定長度的分組,進而進行加密或解密處理。GPON中使用的就是AES-128,分組大小為128比特,支持的密鑰長度也是128比特。

AES算法定義了加密過程和解密過程,對應的流程如圖1所示。加密過程和解密過程都是一個周期迭代的過程,對于AES-128迭代次數為10。由于采用了迭代過程,而且每次迭代所需要的密鑰也不同,AES算法定義了密鑰擴展過程。密鑰擴展過程也是一個迭代過程,通過10個周期產生10個不同的密鑰供加密和解密使用。

圖1 AES的加密框圖

由于介紹AES原理的文章很多,本文就不展開介紹AES的各個部分,并且重點介紹加密過程。

2.2 GPON中AES加密過程

GPON采用的是適合高速網絡的計數器模式,通過這種方式可以很容易的產生隨機密碼流,更加難以被破譯,本文將主要討論計數器工作模式下AES-128算法的實現。

圖2是計數器模式下的AES算法的實現步驟。其中 是密鑰, 是計數器值; 是加密前的明文; 是加密后的密文,它們都是128bit。值得注意的是,計數器模式下,進行AES加密的并不是明文,而是計數器的值,密文由計數器加密結果與明文相異或產生。

圖2計數器模式下的AES算法計算步驟

GPON中,加密計數器與整個GTC下行幀有關,而AES密碼分組僅與數據的有效載荷有關。這兩個序列的關系如圖3所示,其中H表示GEM幀頭,P表示GEM幀靜荷。當一個數據包在OLT段發送或被ONU接受,包頭的第一個字節位置將被記錄,該字節位置的加密計數器的值將作為此幀靜荷的密碼分組計數器的起始值。對于接下來的密碼分組,密碼分組計數器將逐一遞增。這種排列保證了OLT和ONU計數器值的一致性。

圖3加密計數器與加密塊的關系圖

3. GPON-AES的具體實現

由圖3可知,由于GEM幀的分組的最后一塊的長度會在1字節-16字節之間。對于大多數情況的16字節分組塊,要求AES在16個字節的傳輸時間內給出加密結果,而最嚴重的情況是分組塊只有一個字節加上后面跟著的5字節GEM幀頭,要求AES在6個字節的傳輸時間內給出加密結果。簡言之,GPON-AES系統對AES的加密瞬時帶寬的要求不是固定的。

3.1. 整體優化思路

OLT的最大下行支持2.488G的數據帶寬,考慮到FPGA設計的安全性,我們將FPGA系統工作在155. 52MHz的時鐘上。這樣整個系統的處理數據位寬為16bit,每個時鐘發送2個字節的數據,16字節的分組用8個時鐘就可以發送完。對于GEM分組16字節長度凈荷的情況,其對AES的加密帶寬要求是2.488G。最嚴重的情況(最后一個分組的長度是1個字節,加上后面得5字節GEM幀頭),對AES的加密帶寬要求約是6.635G。如果將AES硬件模塊的處理帶寬設計大于6.635G,會滿足系統的各種情況,但整個電路資源消耗也會非常龐大。

我們實際應用中,GPON走的是以太網業務。以65字節的以太網幀幀長(以太網的最小幀長為64字節)為例進行分析,總共要進行4次16字節的分組和一次1字節的分組。這樣帶寬的需求為: 。而硬件設計AES的處理帶寬為W,需要滿足公式: ,即 ;因此在不影響電路的性能基礎上,考慮資源優先,我們將AES的處理帶寬設計為4G左右,通過在AES的前后加上緩存Ram來平滑瞬時帶寬的影響。

圖4 GPON-AES的硬件結構框圖

如圖4所示,AES的加密帶寬為4G,則在155.52MHz的時鐘上,每隔5個時鐘輸入一次AES加密。在GPON中,最短的密碼塊分組是1個字節,那么加上5字節的GEM幀頭,總共6個字節,下行3個時鐘就能傳送完,因此Cntfifo緩存加密塊的密鑰和計數器信息。AES會將加密結果128bit花5個時鐘寫入ShaperFifo中,而Datafifo的數據位寬是16bit,因此Shaperfifo設計為兩級fifo,其中前一級是32位寬,后一級的寫端口是8bit、16bit、32bit的可變位寬,讀端口是8bit、16bit可變位寬fifo。而Datafifo只是起到一個延時的作用。而Cntfifo和Shaperfifo互相作用,用來平滑瞬時帶寬。調整這三個fifo的深度,則會改變電路的平滑瞬時加密帶寬的能力。

3.2. AES優化實現

傳統實現方法包括基本迭代方法和流水線方法。基本迭代方法10輪函數共用同一塊電路,消耗的資源最小,但AES加密至少要耗時10個時鐘節拍,并且每次加密完成之前,下一組的明文無法進入加密電路。流水線方法又分為輪內流水和輪間流水,而輪內流水的增加雖然可以提高整個電路的工作頻率,也導致每輪計算對時鐘節拍的需求增加。因此,加密帶寬也并沒有大幅度提高。輪間流水級別的增加,會提高吞吐率,相應的會直接導致了電路資源的成倍增加。

根據GPON-AES的電路需求,我們使用了一個輪間、輪內流水復用的方法。這種方法結合了輪間流水和輪內流水兩種方法的優點,整個電路控制方便,電路的使用效率接近100%。首先一次AES加密,要經過10輪,每一輪的處理又包括查表和一大堆的組合邏輯,我們將每一輪進行輪內二級流水設計,并且每一輪都復用這個二級流水電路,這樣整個AES加密會消耗20個時鐘節拍,電路會安全的工作在155MHz的時鐘上。顯然這種方法達不到加密帶寬支持4G的設計目標。我們將10輪AES進行兩級輪間流水設計,前5輪共用一塊二級流水電路,后5輪共用另一塊二級流水電路。這樣AES加密每隔10個時鐘節拍,會輸出加密結果,可支持2G的處理帶寬,還是達不到系統的要求。考慮到每一輪使用兩個時鐘節拍,一個時鐘節拍分配給查找表,一個時鐘節拍分配給組合邏輯。查找電路和組合電路的利用率都是50%。因此每隔5個時鐘節拍,新的AES加密啟動進入電路,它們占用另外的時鐘進行查表和組合電路的執行。這樣AES經過兩次輪間流水和兩次輪內,整個系統工作在155MHz,每隔5個時鐘節拍就可以輸出結果,整個電路支持4G的處理帶寬。

圖5兩級流水的輪操作電路結構

圖6 AES的五輪操作關鍵時序圖

圖5是一塊兩級輪內流水的電路結構,對應的時序圖為圖6。具體實現時,我們使用兩塊這樣的電路,前一塊電路的結果直接輸出給后一塊電路的輸入端。這種方法充分利用流水和復用,時序緊湊,控制簡單,電路得到百分之百的利用。

4. 綜合結果比較

我們使用優化方案對AES加密電路進行綜合,AES中的S-box查找表使用LUT搭建。使用Xillinx公司的Virtex5的器件,時鐘可以跑到為161MHz,綜合結果如下:

表1與參考文獻的綜合結果進行比較

如表1,綜合結果與參考文獻結果進行了比較。由于Xilinx器件的更新,其Slices的單元大小也發生了變化。我們這里統一Slices的大小為包含兩個LUT和兩個DF。可以看出與傳統方法相比,本文使用的輪內流水輪間流水復用的方法具有很高的“加密帶寬資源比”。經仿真驗證,此種方案完全能夠達到GPON實際系統的要求。

參考書目:

[1] TIU-T Standard G.984.3[S], 2008-03

[2] FIPS Publication 197, Advanced Encryption Standard (AES) [S]

[3] K. Gaj and P. Chodowiec, “Comparison of the Hardware Performance of the AES Candidates using Reconfigurable Hardware,” The Third Advanced Encryption Standard (AES3) Candidate Conference, New York, USA, April 13-14, 2000.

[4] Shuenn-Shyang Wang, Wan-Sheng Ni. An Efficient FPGA Implementation of Advanced Encryption Standard Algorithm. Circuits and Systems, 2004. ISCAS’04. Proceedings of the 2004 International Symposium on Volume 2, 23-26 May 2004 Page(s):II-597-600 Vol.2

[5] Kimmo U. Järvinen, Matti Tommiska, Jorma Skyttä (bib), “A fully pipelined memoryless 17.8 Gbps AES-128 encryptor”, FPGA 2003, Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays, February 23-25, 2003, Monterey, CA, USA. ACM, 2003.

[6] Muhammad H.Rais and Syed M. Qasim. A Novel FPGA Implementation of AES-128 using Reduced Residue of Prime Numbers based S-Box. IJCSNS International Journal of Computer Science and Network Security, VOL.9 No.9, September 2009
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 精品国产三级 | 亚洲在线天堂 | 欧美日韩在线视频观看 | 荡公乱妇蒂芙尼中文字幕 | 日韩毛片久久91 | 国产精品国产高清国产专区 | 国产成人一区免费观看 | 久久99热只有视精品6国产 | 毛片在线视频观看 | 欧美性xxxx极品高清 | 国产精品国产精品国产三级普 | 免费人成在线观看视频不卡 | 中国一级做a爱片免费 | 精品国产杨幂在线观看福利 | 亚洲图片国产日韩欧美 | 成年黄色网址 | 成人看的一级毛片 | 香港三级日本三级人妇三级四 | 91香蕉网 | 久草久草视频 | 久久久午夜精品理论片 | 一级片免费观看 | 中文三级视频 | 久久久久亚洲香蕉网 | 亚洲精彩视频在线观看 | 成人免费看片 | 国产男女在线观看 | 日本成人不卡视频 | 亚洲素人在线 | 亚洲综合色dddd26 | 欧美成人短视频 | 99er精品 | 亚洲一区免费看 | 久久美女精品国产精品亚洲 | 日韩一区二区三区不卡视频 | 亚州一级毛片 | 国产精品资源手机在线播放 | 国产欧美日韩视频在线观看一区二区 | 毛片免费在线视频 | 免费毛片儿 | 国产无限制自拍 |