一種基于四操作數(shù)Montgomery模乘算法的模乘器電路結(jié)構(gòu)的制作方法
【專利摘要】本發(fā)明屬于高性能公鑰密碼學(xué)硬件設(shè)計(jì)【技術(shù)領(lǐng)域】,具體為一種基于四操作數(shù)Montgomery模乘算法的模乘器電路結(jié)構(gòu)。本發(fā)明對(duì)原始算法進(jìn)行改進(jìn),通過對(duì)其中部分的部分積的共享,實(shí)現(xiàn)了四操作數(shù)的Montgomery模乘算法,可以完成形如(A·B+C·D)modP的運(yùn)算。由于對(duì)部分的部分積進(jìn)行了共享,從而相對(duì)于傳統(tǒng)的雙操作數(shù)Montgomery模乘算法可以減少25%的部分積。與此同時(shí),基于該算法本發(fā)明還提出了一種基于布斯編碼的模乘器電路結(jié)構(gòu),實(shí)現(xiàn)了較小的壓縮樹開銷,并且可以完成較為復(fù)雜的運(yùn)算。從而提高了公鑰密碼學(xué)相關(guān)應(yīng)用的性能。
【專利說明】—種基于四操作數(shù)Montgomery模乘算法的模乘器電路結(jié)構(gòu)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于高性能公鑰密碼學(xué)硬件設(shè)計(jì)【技術(shù)領(lǐng)域】,具體涉及一種基于四操作數(shù)Montgomery模乘算法的模乘器電路結(jié)構(gòu)。
技術(shù)背景
[0002]公鑰密碼學(xué)在互聯(lián)網(wǎng)、用戶認(rèn)證、數(shù)據(jù)加解密等應(yīng)用場合都得到了廣泛的應(yīng)用。而支撐公鑰密碼學(xué)運(yùn)算的基礎(chǔ)就是形如J -AmodP的模乘操作。由于操作數(shù)的數(shù)據(jù)位寬較寬,常幾百或者上千比特。所以該操作實(shí)現(xiàn)起來具有一定的復(fù)雜性,并且不能被當(dāng)前的一些通用處理器高效的支持。如何用專用的硬件單元來實(shí)現(xiàn)高性能的模乘器是實(shí)現(xiàn)高性能公鑰密碼學(xué)的基礎(chǔ),這也是當(dāng)前所面臨的挑戰(zhàn)。
[0003]近年來,隨著一些新的加解密算法的提出,在支持靈活的加解密方案的同時(shí),也帶來了計(jì)算量的提高。如雙線性對(duì)加解密算法,該算法一般是在擴(kuò)域上進(jìn)行運(yùn)算。對(duì)于G2域的乘法運(yùn)算可以表示為
【權(quán)利要求】
1.一種基于四操作數(shù)的Montgomery模乘算法的模乘器電路結(jié)構(gòu),其特征在于:所述四操作數(shù)Montgomery模乘算法用于完成如*3+^ ^ZOmod Z7形式的運(yùn)算;該算法描述如下:
2.—種基于四操作數(shù)的Montgomery模乘算法的模乘器電路結(jié)構(gòu),其特征在于:模乘器電路結(jié)構(gòu)包括操作數(shù)寄存器、布斯編碼部分積產(chǎn)生器、壓縮樹1、流水線寄存器、壓縮樹2、臨時(shí)寄存器、S反饋模塊、結(jié)果寄存器、Q值產(chǎn)生模塊和時(shí)序控制器模塊; 模乘器開始信號(hào)輸入給時(shí)序控制器來啟動(dòng)模乘器的時(shí)序控制;其中時(shí)序控制器產(chǎn)生的控制信號(hào)輸出給整個(gè)模乘器的數(shù)據(jù)路徑;當(dāng)完成一個(gè)模乘運(yùn)算后,時(shí)序控制器輸出模乘結(jié)束信號(hào);操作數(shù)B、D分別輸入到具有高低部分交換功能的操作數(shù)寄存器;操作數(shù)/V、/7/經(jīng)過選擇器后輸入到具有高低部分交換功能的操作數(shù)寄存器;操作數(shù)A、C分別輸入到具有移位功能的操作數(shù)寄存器;操作數(shù)寄存器的輸出都輸入給布斯編碼部分積產(chǎn)生器;布斯編碼部分積產(chǎn)生器用于產(chǎn)生若干個(gè)部分積,并把該若干個(gè)部分積送給壓縮樹I進(jìn)行壓縮;壓縮樹I對(duì)布斯編碼部分積產(chǎn)生器產(chǎn)生的信號(hào)進(jìn)行第一步壓縮,并把壓縮后的部分積送給流水線寄存器進(jìn)行寄存;流水線寄存器的輸出送給壓縮樹2進(jìn)行第二步壓縮;壓縮樹2的結(jié)果輸出到臨時(shí)寄存器O和臨時(shí)寄存器I進(jìn)行寄存;所述S反饋模塊由SO反饋和SI反饋組成,所述S反饋模塊的輸入為壓縮樹的輸出和臨時(shí)寄存器的輸出;S反饋模塊產(chǎn)生的結(jié)果作為流水線寄存器的輸入;結(jié)果寄存器分為SOH寄存器、SOL寄存器、SlH寄存器和SlL寄存器;SOH寄存器和SOL寄存器的輸入為臨時(shí)寄存器O的輸出;S0H寄存器和SOL寄存器的輸出為模乘的運(yùn)算結(jié)果O ;S1H寄存器和SlL寄存器的輸入為臨時(shí)寄存器I的輸出;S1H寄存器和SlL寄存器的輸出為模乘的運(yùn)算結(jié)果I W值產(chǎn)生模塊的輸入為壓縮樹的輸出W值產(chǎn)生模塊的進(jìn)位輸出作為壓縮樹2的輸入,Qi值作為布斯編碼部分積產(chǎn)生器的輸入。
3.根據(jù)權(quán)利要求2所述的電路結(jié)構(gòu),其特征在于:所述布斯編碼部分積產(chǎn)生器,其主要由三個(gè)布斯控制器、三個(gè)布斯編碼器、部分積選擇陣列和寄存器構(gòu)成;其中操作數(shù)J移位寄存器的輸出為.信號(hào)輸入給布斯控制器I產(chǎn)生若干布斯選擇信號(hào)并送給寄存器進(jìn)行寄存;操作數(shù)C移位寄存器的輸出Ci信號(hào)輸入給布斯控制器2產(chǎn)生若干布斯選擇信號(hào)并送給寄存器進(jìn)行寄存'Q值產(chǎn)生模塊產(chǎn)生的Qi值輸入給布斯控制器3產(chǎn)生若干布斯選擇信號(hào)并送給寄存器進(jìn)行寄存;操作數(shù)A高低部分交換寄存器的輸出B*信號(hào)送給布斯編碼器I進(jìn)行操作數(shù)的布斯編碼;操作數(shù)^高低部分交換寄存器的輸出~信號(hào)送給布斯編碼器2進(jìn)行操作數(shù)的布斯編碼;操作數(shù)高低部分交換寄存器的輸出P,h/l信號(hào)送給布斯編碼器3進(jìn)行操作數(shù)的布斯編碼;部分積選擇陣列的輸入為經(jīng)過寄存器寄存的選擇信號(hào)和布斯編碼器產(chǎn)生的操作數(shù)的布斯編碼 ;部分積選擇陣列的輸出為經(jīng)過選擇信號(hào)選擇出的部分積輸出。
【文檔編號(hào)】G06F7/72GK104007953SQ201410236323
【公開日】2014年8月27日 申請日期:2014年5月30日 優(yōu)先權(quán)日:2014年5月30日
【發(fā)明者】韓軍, 竇仁峰, 曾凌云, 曾曉洋 申請人:復(fù)旦大學(xué)