《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 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亚洲国产精品_日韩亚洲一区二区
久久精品亚洲热| 亚洲欧美国产另类| 亚洲午夜精品在线| 亚洲免费高清视频| 在线观看亚洲a| 狠狠网亚洲精品| 国产一级一区二区| 国产精品自拍网站| 国产免费观看久久| 国产精品系列在线播放| 国产精品福利久久久| 欧美日韩中文字幕在线| 欧美日本一道本在线视频| 欧美精品日日鲁夜夜添| 欧美人成在线视频| 欧美日韩成人激情| 欧美三级第一页| 欧美特黄一级| 国产精品福利av| 国产精品一区二区三区免费观看| 国产精品一级在线| 国产亚洲一二三区| 韩国一区二区三区在线观看 | 性做久久久久久久久| 香蕉精品999视频一区二区| 欧美一区二区三区免费视| 欧美在线三区| 亚洲激情国产| 99精品99久久久久久宅男| 亚洲少妇最新在线视频| 亚洲欧美成人| 欧美专区18| 免费不卡欧美自拍视频| 欧美片网站免费| 国产精品久久久久毛片软件| 国产精品一区二区欧美| 国内精品久久久久久久果冻传媒 | 亚洲欧美国产日韩中文字幕| 欧美一级片久久久久久久| 久久久久九九视频| 欧美va亚洲va国产综合| 欧美另类videos死尸| 国产精品久久久久77777| 国产欧美一区二区三区国产幕精品 | 国产欧美一区二区色老头| 国内精品国产成人| 亚洲区在线播放| 亚洲一区精品在线| 性感少妇一区| 亚洲精品国产精品国产自| 一区二区激情| 欧美在线日韩在线| 麻豆精品一区二区av白丝在线| 欧美精品久久久久久久| 国产精品久久久久9999| 黄色精品在线看| 99在线精品视频| 欧美在线免费观看视频| 亚洲美女精品成人在线视频| 亚洲欧美日韩天堂| 免费短视频成人日韩| 国产精品yjizz| 伊人精品视频| 亚洲一区二区在| 亚洲九九精品| 久久av在线| 欧美日韩成人网| 国产一区二区三区日韩欧美| 亚洲三级网站| 久久av资源网站| 亚洲视频精选在线| 另类春色校园亚洲| 国产精品麻豆欧美日韩ww| 在线精品视频一区二区三四| 亚洲无亚洲人成网站77777 | 国产伦精品一区二区| 亚洲日韩中文字幕在线播放| 亚洲欧美美女| 一本久久综合亚洲鲁鲁五月天| 久久成人一区| 欧美性大战xxxxx久久久| 亚洲丰满在线| 久久黄色影院| 性色av香蕉一区二区| 欧美日韩国产在线播放| 狠狠色狠色综合曰曰| 亚洲专区在线视频| 亚洲天堂视频在线观看| 免费亚洲一区二区| 国产午夜精品麻豆| 亚洲视频在线二区| 日韩亚洲在线| 欧美成人r级一区二区三区| 国产一二精品视频| 午夜精品久久久久久久久久久久 | 99re成人精品视频| 亚洲日本中文字幕| 久久在线免费视频| 国产日韩在线一区| 亚洲在线视频网站| 亚洲一区国产一区| 欧美日韩国产成人在线91| 欲色影视综合吧| 欧美主播一区二区三区美女 久久精品人 | 亚洲午夜精品久久| 亚洲性图久久| 欧美日韩在线大尺度| 亚洲九九精品| 9人人澡人人爽人人精品| 欧美成人免费网站| 一色屋精品视频在线观看网站| 欧美一区二区三区视频| 久久www成人_看片免费不卡| 国产精品视频免费一区| 一区二区高清在线观看| 亚洲少妇诱惑| 欧美日韩国产综合视频在线观看| 亚洲成人在线网| 亚洲国产裸拍裸体视频在线观看乱了 | 久久婷婷麻豆| 国语对白精品一区二区| 欧美一区二区视频在线观看2020| 欧美一区二区三区四区高清| 国产精品视频免费观看| 亚洲欧美日韩一区| 亚洲视频狠狠| 欧美视频在线一区| 亚洲视频在线观看| 性刺激综合网| 国产亚洲精品久久久久久| 亚洲欧美日韩中文视频| 久久精品国产久精国产爱| 国产一区二区成人久久免费影院| 欧美一区二区日韩一区二区| 久久国产精品久久w女人spa| 国产亚洲一区精品| 久久精品国产亚洲aⅴ| 裸体一区二区| 亚洲激情网站免费观看| 99视频一区二区三区| 欧美日一区二区三区在线观看国产免| 一本大道久久a久久综合婷婷 | 久久国产精品亚洲77777| 国产亚洲人成a一在线v站| 欧美一区二区三区四区在线| 久久久综合视频| 伊人色综合久久天天五月婷| 亚洲精品女av网站| 欧美午夜不卡在线观看免费 | 久久精品免费观看| 136国产福利精品导航网址| 日韩网站在线| 国产精品福利在线| 欧美亚洲三区| 米奇777超碰欧美日韩亚洲| 亚洲国产欧美另类丝袜| 亚洲视频第一页| 国产精品影片在线观看| 亚洲第一二三四五区| 欧美精品网站| 午夜精品久久久久久久99黑人| 久久综合给合| 夜夜嗨av一区二区三区四区| 欧美在线亚洲综合一区| 怡红院精品视频在线观看极品| 99精品免费| 国产日韩精品一区观看| 亚洲国内精品| 国产精品久久国产精品99gif | 亚洲欧美日韩精品久久| 好吊色欧美一区二区三区视频| 亚洲精品男同| 国产精品综合不卡av| 亚洲人精品午夜在线观看| 国产精品极品美女粉嫩高清在线| 性做久久久久久久久| 欧美精品一区二区三区在线看午夜 | 欧美黄色影院| 午夜一区不卡| 欧美日韩精品欧美日韩精品| 性欧美xxxx视频在线观看| 欧美激情网友自拍| 亚洲欧美日产图| 欧美激情一区在线| 午夜一区二区三区不卡视频| 欧美精品三级在线观看| 欧美一区二区视频网站| 欧美日韩综合在线| 亚洲国产日韩一级| 国产精自产拍久久久久久| 亚洲免费观看高清完整版在线观看| 国产欧美一区二区三区国产幕精品| 亚洲精品视频在线观看免费| 国产乱码精品一区二区三区不卡| 日韩一级片网址| 激情欧美日韩| 欧美亚洲日本国产| 99av国产精品欲麻豆| 免费欧美在线| 久久爱www久久做|