《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > GF(2m)域橢圓曲線點乘算法安全FPGA設計與實現
GF(2m)域橢圓曲線點乘算法安全FPGA設計與實現
來源:電子技術應用2010年第10期
雷咸超1,2,高獻偉1,李 飛2,張 剛2
1.北京電子科技學院 電子信息工程系,北京100070;2.成都信息工程學院,四川 成都610225
摘要: 點乘算法是橢圓曲線密碼體制中決定速度和硬件資源的關鍵部分。在深入分析混合結構乘法器并在FPGA上實現經典橢圓曲線點乘算法基礎上,設計與實現了一種基于NAF編碼混合結構乘法器思想的橢圓曲線點乘算法。對實現的點乘算法進行仿真測試和性能評估表明,新設計實現的基于混合結構乘法器的點乘算法在計算速度和資源使用上具有明顯優勢。
中圖分類號: TN47
文獻標識碼: A
文章編號: 0258-7998(2010)10-0047-04
FPGA design and implementation of secure elliptic curve point multiplication algorithm over GF(2m)
LEI Xian Chao1,2,GAO Xian Wei1,LI Fei2,ZHANG Gang2
1.Beijing Electronic Science and Technology Institute, Beijing 100070,China;2.Chengdu University of Information Technology,Chengdu 610225,China
Abstract: The point multiplication algorithm is a crucial segment of Elliptic Curve Cryptosystem(ECC) to determine its speed and hardware resources. We have designed and implemented a new point multiplication algorithm with NAF encoding method based on hybrid structure multipliers on the bas is of in-depth analysis of the hybrid structure multipliers and classic point multiplication algorithms implementation on FPGA. We make some concerned experimental simulations about the three algorithms. The simulation and synthesis results show that the new designed point multiplication algorithm has some obvious advantages in the computing speed and hardware resources.
Key words : finite field;FPGA;NAF;elliptic curve point multiplication;algorithm security

    橢圓曲線密碼體制(ECC)作為新一代公鑰技術的典型代表,提供了更好的算法實現性能、更高的安全性和更低的實現代價[1],同時能夠完成數據加密和數字簽名的功能。
    現場可編程邏輯門陣列(FPGA)是一種基于4輸入查找表(LUT)、通過可編程互聯連接的可配置邏輯塊(CLB)矩陣的可編程半導體器件。與為特殊設計而定制的專用集成電路(ASIC)相對,FPGA可以針對所需的應用或功能要求進行編程。其邏輯資源遠比一般處理器多,而且具有編程方便、集成度高、速度快的特點。目前以硬件描述語言(VHDL或Verilog HDL)所完成的電路設計,可以經過簡單的綜合與布局,快速下載至FPGA上進行測試,因而被稱作是現代IC設計驗證的主流技術。
    目前,ECC的實現方案主要有軟件和硬件兩種,其中硬件實現方案因具有運算速度快、帶寬要求低等優勢,被廣泛應用于硬件加密設備和無線網絡通信等領域。
    FPGA芯片在執行加密過程中,會有消耗能量的晶體管充放電過程。功耗分析時,依賴于硬件的各種加密操作與功耗具有相關性,其原理是通過監測硬件在加密過程中產生的功耗曲線,利用統計學和攻擊者的經驗對收集到的信息進行分析,從而獲得加密過程的相關數據[2]。
    本文采用NIST定義在有限域GF(2m)上的Koblitz曲線:y2+xy=x3+x2+1。建立在該曲線上的橢圓曲線點乘運算可以快速實現,因此特別適合構建高效的密碼系統。

    ECC的安全性主要依賴于橢圓曲線離散對數問題(ECDLP)的難解性。ECDLP的定義如下:若P是橢圓曲線E上的一點(稱為基點),P的階為素數n,k為一隨機選擇的正整數,已知Q=kP,無法求得或者很難求得k,把Q定義為公鑰,k為私鑰。
    在橢圓曲線上建立公鑰密碼系統的過程中,其核心計算是點乘運算,因此對橢圓曲線點乘算法進行深入研究很有必要。
    ECC的層次結構由自上而下可分解為加解密層、群運算層、域運算層,如圖1所示。各個運算模塊通過狀態機的合理控制,實現FPGA上橢圓曲線點乘算法。

    隨著計算資源的急劇膨脹,特別是邊信道攻擊等新型的密碼攻擊方式的出現[5],給ECC的安全性帶來一定的挑戰。針對ECC邊信道分析攻擊,采取的防御手段既有在算法實現方法上改進的軟件手段,也有通過增加噪聲干擾和采用數模混合電路產生真隨機數來擾亂掩碼和時鐘的硬件手段[6]。
1.2 實現方案
    在FPGA上實現各種密碼算法的過程中,應考慮到FPGA的既定芯片資源限制以及如何在更少的資源量和更快的時序中找到平衡點這兩個因素。
    由于1個求解逆元的操作在計算時間上約和70個乘法器相近[7],因此在實施ECC的點乘算法時,應盡量減少使用求逆運算。
    在設計與實現橢圓曲線的點乘算法時,本文內容主要將作如下安排。首先,從算法級別對乘法器運算單元進行改進,以提高乘法器的速度。然后,對乘法器模塊由混合結構乘法器實現的點乘運算進行性能評估。最后,在經典橢圓曲線點乘算法的實現過程中,通過使用乘法器代替模平方運算的方法來增加計算的隱蔽性,算法內部實現邏輯的改善,達到提高算法安全性的目的。
2 乘法器模塊設計
    有限域上的乘法器是點加運算和點乘運算所要涉及的核心運算。實現多項式乘法器最基本方法是移位相加,而移位操作在FPGA中實現非常方便,不需要使用任何邏輯單元。研究表明,根據FPGA的特點而設計的乘法器具有明顯的速度優勢。
    本文使用的StratixⅡ系列器件是ALTERA公司基于1.2 V工藝的現場可編程門陣列。選用擁有高達72 768個ALUTs、903個IO資源的EP2S90F1508C3芯片作為乘法器實現方案的硬件基礎,如圖2。

    圖2中,A、B分別表示多項式乘法器的乘數與被乘數,F表示有限域GF(2m)的多項式基,CLK為主時鐘信號,reset為復位信號,start為使能信號,result和done分別表示乘法器的運算結果和運算結束標志。
    將混合結構乘法器[8]與目前點乘算法所使用的乘法器做包括資源占用和計算性能兩方面比較。乘法器1是使用文獻[8]中提到的乘法器實現的橢圓曲線點乘算法在EP2S90F1508C3芯片上的實現,乘法器2是目前點乘算法所使用的乘法器。
    通過使用Synplify Pro 9.6對2種乘法器進行綜合以及ModelSim-Altera的前仿真,文獻[8]使用23個時鐘數、算法2使用107個時鐘周期所得到的資源和計算性能評估結果如表1和表2所示。

    在200 MHz的時鐘頻率下,乘法器計算性能的評估結果如表2所示。
    混合結構乘法器的計算性能較目前使用的乘法器2的性能有顯著的提高。
    為驗證乘法器計算正確性,以163 bit的乘法器為例,其仿真結果如圖3所示。

    下面將在目標芯片上實現基于這兩種乘法器的點乘算法。
3 橢圓曲線點乘算法的FPGA實現
    計算有限域GF(2m)點乘kP的最直接方法是使用倍點和點加相結合的double-and-add方法。如果ki=0,則僅執行倍點計算;如果ki=1,則執行倍點計算和點加計算。Double-and-add算法需要(m-1)次倍點運算和m/2次點加運算[12],而使用非相鄰(NAF)編碼思想的二進制點乘算法可以將計算點加的平均次數減少至m/3[9]。
    基于上述兩種乘法器模塊,本文實現的是使用NAF編碼的163 bit二進制域上的橢圓曲線點乘算法。
3.1 基于NAF思想的橢圓曲線點乘
    使用NAF編碼思想計算橢圓曲線點乘是因為橢圓曲線上點的減法和點的加法一樣有效,NAF編碼可以在不使用橢圓曲線倍點計算的環境下實現點乘運算而僅使用點加和基本的域運算的狀態下來完成二進制域上的點乘操作。
    在計算NAF編碼的二進制點乘算法時,首先需要知道如何計算給定數的NAF值,然后使用該算法的思想完成橢圓曲線的點乘kP計算。其算法描述如下:
 

其中,m表示運算比特位數,f(z)是有限域GF(2m)的多項式基,n是基點G的階,x和y分別表示的是基點G的橫坐標和縱坐標。
    在使用工具Synplify Pro 9.6綜合后,混合結構乘法器的點乘運算和基于原有乘法器的點乘算法相比,在計算性能和資源占用等性能上的評估結果如表4所示。

    設計實現的基于混合結構乘法器的點乘算法(點乘算法1)在完成一次點乘運算的時間上較原有的點乘算法有所提高,且在資源占用上較原有算法有所減少,與同類型的點乘算法相比在計算性能上有明顯提高。
4 算法安全性
    基于Montgomery Ladder的橢圓曲線多倍點運算是不安全的[10]。為了增加算法的抗功耗分析能力,通常的做法是采用增加計算的隱蔽性等軟件手段或者引入噪聲干擾以及掩膜方式等硬件手段[6]。
    本文通過改進橢圓曲線點乘算法中的內部結構可以做到提高算法的抗功耗分析能力,其中使用乘法器替代模平方算法能有效防范邊信道攻擊[11]。本文以經典橢圓曲線點乘算法為例(算法1),從計算安全的角度考慮,使用乘法器替代模平方算法的方法和VHDL語言在 EP2S90F1508C3芯片中(算法2)實現。
    在使用綜合工具Synplify Pro 9.6對經典的點乘算法1和算法2進行綜合后,在50 MHz的時鐘頻率下,兩種點乘算法分別在9.6 ms和10.1 ms內完成一次點乘操作。可見,為了讓經典橢圓曲線點乘算法獲得更好的抗功耗能力,而使用乘法器替代模平方算法的改進措施對點乘算法的計算性能沒有明顯改變。
    通過對實現基于混合結構乘法器的點乘算法仿真驗證,結果表明,基于混合結構乘法器的點乘算法在運算速度上較改進前有一定的提高,和同類型的橢圓曲線點乘算法比較有顯著提高。與此同時,為提高算法的抗功耗分析能力,使用模乘運算取代模平方運算的改進措施,對點乘算法的執行時間影響較小。
參考文獻
[1] CHOI Y,KIM H W,KIM M S.Implementation of elliptic  curve cryptographic over GF(2163) for ECC protocols[S].2001.
[2] DANIEL M G.A survey of fast exponentiation methods[J]. 1998,27.
[3] IEEE P1363/D13.Standard specification for public-key cryptography[C].1999(12).
[4] 王建,蔣安平,盛世敏.橢圓曲線加密體制的雙有限域算法及其FPGA實現[J].北京大學學報,2008,44(6):871-875.
[5] AIGNER M,OSWALD E.Power analysis tutorial[C].Institute for Applied Information Processing and Communication University of Technology Graz,2000.
[6] 鄭新建,張翌維,沈緒榜.SPA和DPA攻擊與防御技術新進展[J].小型微型計算機系統,2009(4).
[7] 汪朝暉,陳建華.素域上橢圓曲線密碼的高效實現[J].武漢大學學報(理工版),2004,50(3).
[8] 高獻偉,靳濟方,方勇,等.GF(2m)域乘法器的快速設計及FPGA實現[J].計算機工程與應用,2004(25).
[9] JOY M,TYMEN C.Compact encoding of Non-adjacent  forms with applications to elliptic curve cryptography[J].  Public Key Cryptography,LNCS 1992,Springer,pp.353-364,2001.
[10] 趙彥光,白國強,陳弘毅.一種針對特征2域橢圓曲線密碼芯片的差分功耗分析[J].微電子學與計算機,2006,23(12).
[11] 余榮威,陳建華.抗側信道攻擊的橢圓曲線點乘算法設計[J].計算機工程與應用,2006.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
女生裸体视频一区二区三区| 狠狠爱www人成狠狠爱综合网| 久久国产精品网站| 在线视频精品一| 99av国产精品欲麻豆| 亚洲人成在线影院| 亚洲国产综合在线| 亚洲黄色毛片| 亚洲人成网在线播放| 亚洲日本黄色| 99ri日韩精品视频| 99天天综合性| 亚洲视频免费在线观看| 亚洲视频在线一区| 亚洲在线一区| 欧美一区二区三区男人的天堂 | 欧美日韩午夜视频在线观看| 欧美精品国产精品日韩精品| 欧美日韩国产一区二区三区| 欧美日韩伦理在线免费| 欧美三级欧美一级| 国产精品人成在线观看免费| 国产农村妇女精品一二区| 国产日韩精品一区二区三区| 国产在线精品二区| 亚洲第一精品久久忘忧草社区| 亚洲第一区色| 亚洲国产你懂的| 最新中文字幕亚洲| 亚洲色在线视频| 小黄鸭视频精品导航| 在线看片第一页欧美| 欧美日韩国产精品自在自线| 欧美激情亚洲激情| 欧美日韩情趣电影| 国产精品av一区二区| 国产精品一区二区三区久久| 国产一区二区三区网站| 一色屋精品视频免费看| 亚洲激情视频网站| 亚洲视频在线观看视频| 午夜亚洲福利| 亚洲国产经典视频| 亚洲手机在线| 午夜在线精品偷拍| 久久在线视频在线| 欧美日本二区| 亚洲经典自拍| 亚洲国产一区二区三区a毛片| 亚洲在线视频网站| 亚洲第一福利视频| 亚洲视频在线观看| 久久久人成影片一区二区三区观看| 美女日韩欧美| 欧美性色视频在线| 韩国三级电影久久久久久| 亚洲精品国久久99热| 亚洲男同1069视频| 亚洲欧洲一区二区三区在线观看| 在线综合+亚洲+欧美中文字幕| 篠田优中文在线播放第一区| 鲁大师影院一区二区三区| 欧美日韩一区二区三区视频| 国产欧美日韩视频| 亚洲精品一区二区三区99| 亚洲欧美日本在线| 亚洲精品日韩精品| 欧美亚洲尤物久久| 欧美日韩国产成人在线| 国产一区二区三区日韩欧美| 亚洲精品在线二区| 欧美一区二区福利在线| 99精品国产热久久91蜜凸| 久久九九久精品国产免费直播| 欧美日韩在线精品| 在线国产精品播放| 午夜亚洲视频| 亚洲一区二区三区精品动漫| 欧美99久久| 国产亚洲欧美激情| 亚洲深夜影院| 99在线视频精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品一区二区男女羞羞无遮挡| 91久久精品久久国产性色也91 | 日韩一级精品视频在线观看| 久久精品成人| 国产精品久久久久久av下载红粉| 亚洲福利在线视频| 久久成人免费视频| 性欧美超级视频| 欧美日韩一区二区免费视频| 亚洲国产欧美一区| 亚洲国产精品成人| 久久久国产一区二区| 国产精品视频内| 一本久久综合亚洲鲁鲁五月天| 日韩视频永久免费观看| 免费成人高清| 精品91在线| 欧美中文字幕在线观看| 欧美在线观看一二区| 国产精品久久久久久户外露出 | 亚洲午夜激情| 欧美精品久久久久久久免费观看| 在线观看成人小视频| 久久国产精彩视频| 久久国产一区| 国产欧美在线视频| 亚洲欧美日韩国产另类专区| 国产日韩在线一区| 一本色道久久99精品综合| 日韩小视频在线观看专区| 欧美va亚洲va香蕉在线| 国内一区二区在线视频观看| 午夜精品福利一区二区三区av| 亚洲免费伊人电影在线观看av| 欧美日韩午夜视频在线观看| 欧美精品日日鲁夜夜添| 国产精品成人观看视频免费| 一区二区日韩欧美| 亚洲一二三区精品| 欧美午夜宅男影院| 亚洲图片在线观看| 欧美一区二视频| 国产日韩精品在线播放| 欧美一区亚洲二区| 久久婷婷一区| 尤物网精品视频| 亚洲美女视频网| 欧美精品一区二区三区四区| 亚洲精品日韩在线| 亚洲视频香蕉人妖| 国产精品久久久久久亚洲调教| 亚洲午夜日本在线观看| 香蕉国产精品偷在线观看不卡| 国产精品永久入口久久久| 欧美一级视频精品观看| 久久久久一区二区| **性色生活片久久毛片| 99精品视频免费观看| 国产精品第一页第二页第三页| 亚洲欧美久久久| 久久亚洲欧美国产精品乐播| 亚洲缚视频在线观看| 夜夜嗨av色一区二区不卡| 欧美网站大全在线观看| 亚洲在线日韩| 老司机一区二区| 亚洲美女黄网| 欧美一级视频一区二区| 樱桃视频在线观看一区| av成人毛片| 国产伦精品一区二区三区高清| 欧美一区观看| 欧美国产欧美综合| 亚洲少妇最新在线视频| 久久久免费观看视频| 亚洲三级网站| 欧美一区二区| 亚洲国产精品尤物yw在线观看| 亚洲一区国产视频| 黄色精品一区| 一区二区三区高清在线| 国产日韩欧美在线看| 日韩视频在线观看免费| 国产精品久线观看视频| 亚洲激情欧美激情| 国产精品卡一卡二卡三| 亚洲激情午夜| 国产乱码精品| 日韩一区二区免费看| 国产日产亚洲精品系列| 亚洲精品女人| 国产偷国产偷亚洲高清97cao| 日韩亚洲国产欧美| 国产亚洲精品久久久| aaa亚洲精品一二三区| 国产中文一区二区三区| 亚洲特级片在线| 玉米视频成人免费看| 午夜电影亚洲| 亚洲日本理论电影| 久久视频这里只有精品| 亚洲无人区一区| 欧美大片在线观看一区二区| 亚洲男人影院| 欧美日韩精品免费观看视频| 久久动漫亚洲| 国产精品剧情在线亚洲| 亚洲美女性视频| 国产综合色精品一区二区三区| 亚洲在线视频网站| 亚洲日韩欧美一区二区在线| 久久精品成人一区二区三区| 一区二区三区精密机械公司| 欧美成人亚洲| 亚洲二区三区四区| 国产亚洲成精品久久| 亚洲欧美日韩国产综合精品二区|