信息技術的不斷發展,對信息的安全提出了更高的要求.在應用公鑰密碼體制的時候,對密鑰長度要求越來越大,處理的速度要求越來越快.而基于橢圓曲線離散對數問題的橢圓曲線密碼體制,因其每比特最大的安全性,受到了越來越廣泛的注意.橢圓曲線密碼體制(ECC:Elliptic Curve Cryptosystem)的快速實現也成為一個關注的方面.該文按照確定有限域、選取曲線參數、劃分結構模塊、優化模塊算法、實現模塊設計,驗證模塊功能的順序進行書寫.為了硬件實現上的方便,設計選擇了含有Ⅱ型優化正規基的伽略域GF(2191),并在該域上構造了隨機的橢圓曲線.根據層次化、結構化的設計思路,將橢圓曲線上的標量乘法運算劃分成兩個運算層次:橢圓曲線上的運算和有限域上的運算.模塊劃分之后,利用自底向上的設計思路,主要針對有限域上的乘法運算進行了重要的改進,并對加法群中的標量乘運算的算法進行了分析、證明,以達到面積優化和快速執行的效果.具體設計中,采用硬件描述語言Verilog HDL,在Mentor Graphics公司出品的FPGA Advantage平臺上進行電路設計.完成了各個模塊的設計輸入和仿真.設計選用了Altera公司的APEX Ⅱ系列器件,利用第一方軟件Quartus Ⅱ 2.2進行綜合、布局、布線和時序仿真.文中給出了橢圓曲線上的點加、倍點和標量乘法模塊的具體設計結構框圖.并且根據橢圓曲線的標量乘特點,提出了合適的驗證方案.該設計完成了橢圓曲線上的標量乘法運算.設計主要針對資源受限的應用環境:改進了有限域上的乘法運算、使用了沒有預處理的標量乘算法.改進后的橢圓曲線標量乘法需要2,741,998個邏輯單元,在100MHz的時鐘約束下,運行一次標量乘法運算需要567.69us.該次設計的結果可以直接用來構造橢圓曲線上的簽名、驗證、密鑰交換等算法.
標簽:
FPGA
橢圓曲線
密碼體制
乘法運算
上傳時間:
2013-05-24
上傳用戶:zhuo0008