亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種改進的Montgomery階梯算法及其實現(xiàn)

        2013-03-11 10:50:14袁仕繼李博章孫慧慧張廣吉
        關鍵詞:乘法器混合器階梯

        袁仕繼,李博章,孫慧慧,張廣吉

        (中國人民解放軍63888部隊,河南 濟源454650)

        大數(shù)模冪運算在Diffie-Hellman和RSA系統(tǒng)中得到了廣泛應用[1]。所謂模冪運算,就是已知大數(shù)a、x、m,求解ax(mod m)。這里的a、x、m一般為幾百比特甚至上千比特的大整數(shù),m一般為素數(shù),因此在此過程中需要做大量的乘法運算和模運算(即除法運算)。在計算機運行處理過程中,乘法運算是很耗時的運算,而除法運算更是乘法的幾倍之多。因此,在計算ax(mod m)的過程中,如何減少乘法,尤其是模運算的次數(shù)便成為提高模冪運算速度的關鍵。參考文獻[2]對常用算法進行了分析和總結。

        經(jīng)典Montgomery[3]階梯算法是將模運算轉(zhuǎn)化為乘法運算和移位運算,從而避免計算模運算,在RSA[4]和ECC[5]中得到廣泛應用。在該算法中執(zhí)行運算的次數(shù)等于冪的二元進制長度,且平方運算是每步都要執(zhí)行,僅當冪為1時才執(zhí)行乘法運算[6]。這種在不同步中運算數(shù)量的差異導致系統(tǒng)易受邊道攻擊[7]。在Diffie-Hellman和RSA系統(tǒng)中的模冪運算中,冪為其密鑰。一個成功的SCA攻擊可以計算模冪運算的冪,從而導致整個系統(tǒng)密鑰的丟失。本文利用循環(huán)展開技術,將兩個循環(huán)同時進行并行處理,提高了運算速度和效率。同時,根據(jù)Montgomery階梯算法原理,設計了該算法的硬件實現(xiàn)。

        1 Montgomery階梯算法

        1.1 經(jīng)典Montgomery階梯算法

        算法1描述的過程即為經(jīng)典Montgomery階梯算法流程。

        由該算法可知,將一次平方運算認為是一次乘法運算,可以完成一次求冪運算,經(jīng)典MPL算法至少將運用2logk次乘法運算,而平方乘的平均運算量達到3/2logk。參考文獻[8]指出MPL算法支持并行運算,用一個雙核處理器,在同一時鐘內(nèi)將乘法運算和平方運算同時進行,運算速度將提高一倍?;谝陨峡紤],本文將設計實現(xiàn)一種經(jīng)典Montgomery階梯算法。

        1.2 MPL算法的快速實現(xiàn)

        算法1的快速實現(xiàn)如圖1所示,變量R0和R1分別初始化為1和M,分別存儲在存儲器R0和R1中。設R0和R1可存儲大數(shù)Mk。指數(shù)k存儲在二進制移位寄存器中,該寄存器每次循環(huán)左移一位。算法硬件實現(xiàn)還包括一個模乘法器、模平方單元、一個混合器和一個2×2正交變換器。

        圖1 MPL快速實現(xiàn)(算法1)

        假設模數(shù)M有m比特,存儲器R0和R1可存儲至少m比特。模乘法器和模平方單元輸入、輸出都為m比特。移位寄存器的輸出值ki決定混合器的輸出,輸出值為混合器輸入兩個m比特值中的一個。

        圖2是圖1中2×2正交變換器的實現(xiàn)示意圖。它利用兩個混合器實現(xiàn)如下變換:

        If E=0,then C=A,D=B

        If E=1,then D=A,C=B

        圖2 2×2正交變換器

        設計工作原理如下:首先,將R0和R1分別初始化為1和M。在第j(j=0,1,2,…,n-1)輪循環(huán),指數(shù)中比特kn-1-j是移位寄存器最左邊的比特,由它控制混合器運算和2×2正交變換。如果kn-1-j=0,則由R0輸出R0,并作乘法運算和平方運算,其中,平方運算生成R0;如果kn-1-j=1,則由R1輸出R1,并作乘法運算和平方運算,其中,平方運算生成R1。

        2×2正交變換器工作原理:在第j(j=0,1,2,…n-1)輪循環(huán),如果kn-1-j=0,即控制端輸入E=1,變換表現(xiàn)為交叉關系,這時乘法器和平方單元的輸出分別輸入R0和R1中;如果kn-1-j=1,即控制端的輸入為E=0,變換表現(xiàn)為平行關系,這時乘法器和平方單元的輸出分別為R0和R1中。

        在第j(j=0,1,2…,n-1)輪循環(huán)中,運行算法1中i=j的步驟。進行n輪循環(huán)后,存儲器R0中的值即為C=Mk。

        設計包含了一個模乘法運算,一個模平方運算,3個混合運算和2個存儲器過程。算法時間復雜度為:

        從圖2中可以看出,2×2正交變換等價于一個混合器。由于是對大數(shù)的運算,可以認為Tmultiplier>>Tsquarer,則一次循環(huán)耗時T=Tmultiplier+Tmux。整個模冪運算耗時nT=n(Tmultiplier+Tmux)。

        2 一種改進的MPL算法及實現(xiàn)

        2.1 一種改進的MPL算法

        經(jīng)典MPL算法是從k2的最高位循環(huán)到最低位,而且是單位循環(huán)。為了提高運算速度,需對經(jīng)典MPL算法進行改進。將循環(huán)展開技術應用于MPL算法,并將兩個循環(huán)合并,得到如下改進算法:

        以上算法與M-ary算法中為m=4的情況類似。

        2.2 改進MPL算法的實現(xiàn)

        實現(xiàn)算法2的設計如圖3所示。變量R0和R1分別初始化為1和M,存儲在存儲器R0和R1中。設R0和R1可存儲大數(shù)N-1(N為模數(shù))。

        如圖4所示,二進制指數(shù)k存儲在移位寄存器中。n為偶數(shù)時,寄存器K有n比特,k2m+1=kn-1,即m=n/2-1;n為 奇數(shù)時,寄存器K有n+1比特,k2m=kn-1,即m=(n-1)/2。寄存器K每循環(huán)一次,有兩個比特輸出。一個比特用來控制圖3上方的混合器和2×2的正交變換;另一個比特用來控制圖3下方的混合器和2×2正交變換。除寄存器外,改進MPL設計還包括兩個乘法器,兩個平方單元,兩個混合器和兩個2×2正交變換。

        這種設計可以分成上下兩部分。兩部分結構都與圖1結構類似。不同之處在于,上方部分2×2正交變換的輸出分別為下方部分乘法器和平方單元的輸入。

        分析該算法的實現(xiàn),算法時間復雜度為:

        T=max{2TMultiplier+2T2×2,Tmultiplier+Tsquarer+2T2×2+Tmux,2Tsquarer+2T2×2+2Tmux}

        完成模冪運算需要m+1=(n+1)/2個循環(huán),則整個運算耗時(M+1)T。

        圖3 改進MPL快速實現(xiàn)(算法2)

        圖4 移位寄存器

        大數(shù)模冪運算是公約密碼體質(zhì)研究的熱點內(nèi)容之一。本文結合經(jīng)典Montgomery階梯算法能并行處理的特點,首先設計實現(xiàn)出經(jīng)典Montgomery階梯算法;然后結合循環(huán)展開技術,提出了一種改進Montgomery階梯算法,設計并實現(xiàn)了該算法。分析表明,該方法能將經(jīng)典Montgomery階梯算法的循環(huán)次數(shù)降低一半,使得該算法能在ECC和其他領域得到廣泛應用。

        [1]DIFFIE W,HELLMAN M.New directions in cryptography[J].IEEE tans.Inform.Theory,1976(22):644-654.

        [2]朱兆國,任忠保,桂祚勤.大數(shù)模冪運算的快速算法[J].高性能計算技術,2006(2):45-48.

        [3]MONTGOMERY P L.Modular multiplication without trial division[J].Mathmatics of Computation,1985,44(170):519-521.

        [4]王平水.公鑰密碼體制及其安全性分析研究[D].合肥:合肥工業(yè)大學,2006.

        [5]左平,龐世春,華宏圖,等.安全的并行橢圓曲線Montgomery階梯算法[J].吉林大學學報(物理版),2011,49(4):690-692.

        [6]GORDON D M.A survey of fast exponentiation methods[J].Algorithms,1998,27(1):129-146.

        [7]MESSERGES T S,DABBISH E A,SLOAN R H.Power analysis attacks of modular exponentiation in Smartcards[C].CHES′99,1999:144-157.

        [8]WELSCHENBACH M.密碼編碼學-加密方法的C與C++實現(xiàn)[M].趙振江,等譯.北京:電子工業(yè)出版社,2003.

        猜你喜歡
        乘法器混合器階梯
        船用發(fā)動機SCR混合器優(yōu)化仿真分析
        基于FPGA的流水線單精度浮點數(shù)乘法器設計*
        爬階梯
        小學生導刊(2016年5期)2016-12-01 06:02:46
        時光階梯
        幸福(2016年9期)2016-12-01 03:08:50
        有趣的階梯
        旋轉(zhuǎn)盤式混合器混合過程數(shù)值模擬
        中國塑料(2016年7期)2016-04-16 05:25:54
        新型三次采油用靜態(tài)混合器組合的性能研究
        氣-氣快速噴射混合器的模擬研究
        文明的階梯
        世界科學(2014年2期)2014-02-28 14:58:06
        乘法器模塊在FPGA中的實現(xiàn)
        中文字幕久久精品一区二区| 久久丫精品国产亚洲av不卡| 国产肉丝袜在线观看| 亚洲国产A∨无码影院| 最新亚洲av日韩av二区一区| 日韩有码在线一区二区三区合集| 亚洲av无码专区国产不卡顿| 国产精品自在线拍国产| 亚洲无码精品免费片| 国产伦码精品一区二区| 美女视频在线观看一区二区三区| 美女露出自己的性感大胸一尤内衣| 九色综合九色综合色鬼| 亚洲欧洲无码一区二区三区| 欧洲日韩视频二区在线| 69精品人妻一区二区| 亚洲高清在线天堂精品| 亚洲欧美日韩在线不卡| 亚洲黄视频| 国产香蕉一区二区三区| 亚洲天堂av福利在线| 天天摸夜夜摸摸到高潮| 亚洲成色在线综合网站| 国产精品不卡无码AV在线播放| 综合成人亚洲网友偷自拍| 优优人体大尺大尺无毒不卡| 亚洲欧美激情在线一区| 国产AV无码一区精品天堂| 国产精品亚洲一区二区三区妖精| 亚洲乱码中文在线观看| 亚洲av无码精品色午夜| 亚洲熟女av中文字幕网站| 国产内射一级一片内射高清视频1| 中文字幕乱码高清完整版| 人人狠狠综合久久亚洲婷婷| 伊人影院在线观看不卡| 熟女中文字幕一区二区三区 | 精品国内在视频线2019| 亚洲美女影院| 中文字幕视频一区二区| 乱子轮熟睡1区|