999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

GF(2m)域ECC 點乘算法優化設計*

2020-07-19 14:29:02劉金龍張玉婷
通信技術 2020年6期
關鍵詞:設計

劉金龍,張玉婷,王 堯

(海軍參謀部,北京 100841)

0 引言

無線傳感器網絡(Wireless Sensor Network,WSN)是由一種分布式、自組織的Ad hoc 網絡,但有別于傳統的Wireless Ad hoc 網絡。WSN 節點由能量有限、計算和存儲能力小、具有數據采集功能的傳感器節點組成。隨著傳感器節點資源的升級和某些傳感器網絡應用的高強度安全需求,非對稱加密算法已被廣泛研究[1]。橢圓曲線密碼算法(Elliptic Curves Cryptography,ECC)因為自身的安全強度高、密鑰長度短、存儲和帶寬要求低等優點[2],特別適用于WSN 等資源受限的領域。而在ECC 密碼體制中,橢圓曲線的點乘運算(Q=kP)是算法安全性的關鍵,占了整個運算的很大比例,決定了算法的執行效率[3]。因此,研究有限域內點乘運算的優化實現具有重要的意義。

考慮到硬件實現的特點,本文以二進制域的橢圓曲線密碼方案為研究重點,在權衡資源消耗與運算速度的基礎上,設計了串并混合的點乘運算整體結構,并實現底層有限域的模加、模乘、模平方和模逆運算的輕量化改進和電路結構設計,最后在FPGA 平臺上進行仿真驗證。結果表明,方案的點乘運算效率得到了明顯提升。

1 橢圓曲線密碼基礎

1.1 橢圓曲線的定義

定義在二進制域GF(2m)的橢圓曲線可表示如下:

其中a,b∈GF(2m),且b≠0,除了式(1)所確定的所有點(X,Y)外,還包括一個特殊的點即無窮遠點。在實際應用中,為避免一些復雜的運算,橢圓曲線上的點通常用其他坐標系表示[4]。在標準射影坐標下的點可表示為(X,Y,Z),Z=0 表示無窮遠點,Z≠0 時相互之間的轉化關系為x=X/Z、y=Y/Z。

1.2 橢圓曲線上點的運算

橢圓曲線上所有的點的集合外加上無窮遠點和橢圓曲線上的加法運算構成一個加法群[5]。在GF(2m)域內,令E為式(1)所表示的曲線,P=(x1,y1),Q=(x2,y2) ∈E,R=(x3,y3)=P+Q,則P、Q兩點相加的運算規則如下。

(1)當P≠Q時,點加運算:

(2)當P≠Q時,點加變為倍點運算:

1.3 橢圓曲線密碼體制的運算層次

點乘運算在橢圓曲線加密體制中的作用如圖1 所示。最上層為協議層,通過調用點乘運算實現ECC 加解密和數字簽名;之后為群運算層,通過調用點加和倍點運算實現點乘運算;最底層為域運算層,包括多種有限域模運算,是實現點加和倍點運算的基礎[6]。因此,實現橢圓曲線點乘運算的高效設計需要針對不同運算層次的特點進行針對的優化設計。

圖1 橢圓曲線加密體制的運算層次

2 有限域模運算優化設計

有限域內的模運算是點乘運算實現的基礎,是影響點乘運算效率的關鍵。下文分別對GF(2m)域上的模加運算、模平方運算、模乘運算和模逆運算進行優化設計。

2.1 模加運算設計

有限域GF(2m)域內的加法相對簡單,可以通過將表示模加元素的二進制序列進行逐位異或運算來完成。

它對應的硬件電路可用m個異或門實現,如圖2 所示。

圖2 模加單元電路結構

2.2 模乘運算設計

模乘運算是影響點乘實現效率的關鍵,包括多項式相乘和取模兩步,而多項式相乘部分的計算周期較長,分為并行和串行兩種類型。有限域GF(2m)并行結構乘法器的硬件復雜度為m2,它的面積和功耗隨m的增加而增加。在硬件實現時常用串行模乘算法,雖然該算法的計算周期較長,但是其實現面積和功耗最小[7],比較適合無線傳感器網絡這種資源受限的環境。本文采用一種優化的LSB 串行模乘算法,如下:

算法在每次循環中完成兩次異或和兩次移位操作,對于硬件實現來說很方便,而且不需要占用任何邏輯單元。通過對A的移位操作,通過A值是否為0 進行判斷,確定算法是否結束。當A的高位有多個0 時,算法的運算效率會顯著提高。另外,算法中的移位和判斷操作對算法的運算效率影響很小。

模乘單元的硬件電路結構如圖3 所示。

圖3 模乘單元電路結構

2.3 模平方運算設計

在有限域GF(2m)內,模平方運算可以用模乘來實現。但是,由上文可知,模乘運算的計算周期較長且硬件電路設計復雜。因此,本文利用有限域GF(2m)下模平方運算的特殊性,采用一種基于多項式平方的快速模約減算法,通過預計算的方式,犧牲算法的靈活性,達到提高計算的效率并減少資源消耗的目的。

對約減多項式f(x)進行取模時,根據xm=r(x)modf(x),將A2(x)中次數高于m-1 的多項式元素轉化為低于m位,再把結果在同一位的所有值進行異或。在固定的約減多項式下,通過預計算,模平方運算可在一次異或運算時間內完成,且所用的資源不超過m個異或門。

針對特定的m≤233 與f(x)=x233+x47+1,對應的組合邏輯電路設計如圖4 所示。

圖4 GF(2233)域下模平方單元結構

2.4 模逆運算設計

模逆運算是有限域運算中最復雜也是最耗時的。GF(2m)域上的求模逆算法有兩種——基于擴展Euclideam 算法和基于Fermat 小定理的算法[8]。前者通過判斷、移位和異或來實現模逆運算,實現比較簡單,但是需要增加單獨的模逆運算模塊,大大增加了整體面積;而基于Fermat 小定理的模逆算法是將有限域的逆運算轉換為模冪運算,可以通過調用模乘和模平方來實現,算法如下。

可以看出,一次模逆運算需要m-2 次模乘和m-1 次模平方。盡管這樣,一次模逆運算的計算效率還是較低。而由前文可知,模乘運算的計算復雜度比模平方復雜得多,本文采用Itoh-Tsujii 算法[9]改進運算,以減少模逆運算中的模乘運算次數。

所以,當a∈GF(2233)時,可以得到加法鏈U=(1,2,3,6,7,14,28,29,58,116,232)。可以看到,求一次模逆運算僅需要10 次模乘和232 次模平方運算,具體的計算過程如表1 所示。由計算過程可知,每一步都具有相關性,只能串行執行。

表1 Itoh-Tsujii 模逆計算過程

在ECC算法中,模逆與乘法運算是分步進行的,因此可以將乘法器集成在模逆運算單元中,加上一個模冪運算單元組成乘/逆運算單元。其中,模冪運算可以利用一個計數器和一個模平方單元實現。具體的硬件結構如圖5 所示。

圖5 GF(2233)域模乘/逆單元結構

3 點乘運算總體方案設計

3.1 點乘算法分析與設計

ECC 點乘算法包括模加、模平方、模乘和模逆運算,其中模逆運算的運算復雜度是其他運算的數十倍[10]。在仿射坐標下計算點乘需要多次模逆運算,而在投影坐標下只需要一次模逆運算。為避免進行多次模逆運算,本文采用投影坐標下的Montgomery點乘算法[11]。Montgomery 算法是現階段最安全高效的點乘算法,相較于其他算法不需要進行預處理,且在計算過程中只用到點的橫坐標,特別適合在硬件上實現。投影坐標下的Montgomery 算法包括初始化、主循環和坐標轉換3 部分。

初始化部分主要實現對循環部分的輸入數據初始化處理,輸入投影坐標下點P(x0,y0),輸出投影坐標下點P1、P2,可以用兩個模平方模塊在1 個時鐘周期內完成。P(x0,1)為點P 在射影坐標下的對應點,P2為P1的2 倍點,可以利用一個倍點運算在3 個時鐘周期內實現。點加和倍點數據流分析,如圖6所示。

主循環部分由m-1 次點加和倍點運算組成。由于兩者之間沒有數據依賴關系,可以同時計算。通過對循環部分的數據流進行分析,可以看出每次循環中共執行6 次模乘、5 次模平方及3 次模加運算。本文采用整體串行部分并行的結構,利用兩個乘法器,將第i次循環中的點加和倍點運算(Montgomery算法中的①②(③④)步)劃分為3 個階段串行完成,每個階段中的運算并行執行。

一次循環可以用2 個模乘模塊、2 個模加模塊和2 個模平方模塊在3 個時鐘周期內完成,因此整個主循環部分共需要3(m-1)個時鐘周期。

坐標轉換部分主要實現將投影坐標變換成仿射坐標,輸入投影坐標下點P1、P2,輸出仿射坐標下點Q(Qx,Qy)。主要計算過程為:

可見,它包括1 次模逆、10 次模乘、1 次模平方和7 次模加運算,可以用1 個乘法單元、1 個乘/逆單元、2 個加法單元和1 個平方單元在6+t個時鐘周期內實現,其中t為一次模逆運算的時間。

3.2 總體電路結構設計

點乘運算3 個部分的結構可以共用,整體的硬件電路實現如圖7 所示,共需要1 個模乘單元、1個模乘/逆單元、2 個模加單元和2 個模平方單元,共使用7 個寄存器X1、Z1、X2、Z2、T1、T2、R。其中,用來存儲曲線的參數值x0、y0、b,寄存器X1、Z1、X2、Z2用來存儲點乘算法中的坐標值,T1和T2寄存計算過程的中間值。

圖7 點乘總體電路結構

4 實驗結果分析

本文選用GF(2233)域上的Koblitz 曲線,y2+xy=x3+x2+1,對本文的點乘運算方案進行驗證。以Artix7 器件中的XC7A100T 為硬件平臺,利用Verilog 語言在FPGA 平臺上進行結果仿真驗證,并選用Modelsim 軟件進行波形分析。圖8 是本方案執行一次點乘運算的仿真結果。

圖8 仿真波形

根據本文設計的方案,在GF(2233)域內完成一次點乘運算共需要3+233×3+6+t個時鐘周期,其中t為一次逆運算的時間。在FPGA 上的仿真結果及與其他方案的對比如表2 所示,算法執行過程中占用10 682 個Slices 資源,共用時1.644 4 ms。

表2 測試結果及對比

通過與其他相關文獻的對比可以看出,本文設計的點乘計算方案在占用面積和計算時間上都有所提升。

5 結語

本文通過對ECC 密碼算法進行研究,針對不同運算層次的特點作了針對的優化改進,設計并實現了輕量化ECC 點乘計算方案。首,先通過對有限域的模運算單元進行研究,重點對模乘和模逆計算單元進行了改進;其次,根據Montgomery 點乘算法設計整體的計算流程,并以此為基礎實現了有限域運算單元和整體點乘方案的電路結構設計。本文方案采用整體串行部分并行,經過在FPGA 平臺上測試并與其他方案進行對比,達到了計算速度與占用面積的優化平衡,可以很好地適應于無線傳感器網絡等資源受限的場合。

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 天天摸天天操免费播放小视频| 18禁高潮出水呻吟娇喘蜜芽| 人人澡人人爽欧美一区| 国产在线一区二区视频| 色成人亚洲| 四虎永久免费在线| 午夜毛片免费观看视频 | 五月天在线网站| 日韩精品一区二区三区大桥未久| 最新精品久久精品| 亚洲欧美激情小说另类| 18黑白丝水手服自慰喷水网站| 就去色综合| 久久久久久午夜精品| 色婷婷综合激情视频免费看| 亚洲欧美精品在线| 国产电话自拍伊人| 欧美久久网| 亚洲伊人天堂| 亚洲成人在线免费| 久久永久精品免费视频| 91成人在线观看| 2024av在线无码中文最新| 1024国产在线| 高h视频在线| 欧美色伊人| 日本在线欧美在线| 麻豆国产精品视频| 久热中文字幕在线| 天堂网亚洲系列亚洲系列| 亚洲成a∧人片在线观看无码| 欧美第二区| 日韩成人午夜| 九色最新网址| 在线精品亚洲一区二区古装| 四虎永久在线| 国产欧美视频在线观看| 8090成人午夜精品| 日本a∨在线观看| 无码aaa视频| 丝袜久久剧情精品国产| 首页亚洲国产丝袜长腿综合| 69国产精品视频免费| 国产尹人香蕉综合在线电影| 午夜无码一区二区三区| 69免费在线视频| 色噜噜久久| 欧美中文字幕第一页线路一| 欧美黄网站免费观看| 中文天堂在线视频| 午夜视频www| 中文字幕啪啪| 婷婷六月天激情| 国产美女视频黄a视频全免费网站| 波多野结衣视频一区二区| 国产综合网站| 91精品国产情侣高潮露脸| 国产免费精彩视频| 国产精品成人一区二区不卡| 波多野结衣一区二区三区四区| 国产女人在线视频| 亚洲精品在线影院| 国产久草视频| 亚洲精品天堂在线观看| 无码中文字幕乱码免费2| 97人人做人人爽香蕉精品| 国产sm重味一区二区三区| 国产午夜福利在线小视频| 色综合热无码热国产| 国内精品久久人妻无码大片高| 永久免费精品视频| 欧美成人综合视频| 热久久这里是精品6免费观看| 精品欧美一区二区三区久久久| 日本午夜三级| 婷婷亚洲天堂| 久久精品丝袜| 国产女人喷水视频| 色视频国产| 国产h视频免费观看| 国产精品99久久久久久董美香| 美女被操黄色视频网站|