[發明專利]用于SM2的快速安全硬件乘法器及其應用在審
| 申請號: | 202010945337.5 | 申請日: | 2020-09-10 |
| 公開(公告)號: | CN112099763A | 公開(公告)日: | 2020-12-18 |
| 發明(設計)人: | 谷大武;王騰飛;陸海寧;張海峰 | 申請(專利權)人: | 上海交通大學;北京智芯微電子科技有限公司 |
| 主分類號: | G06F7/72 | 分類號: | G06F7/72;G06F21/60 |
| 代理公司: | 上海交達專利事務所 31201 | 代理人: | 王毓理;王錫麟 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 sm2 快速 安全 硬件 乘法器 及其 應用 | ||
1.一種用于SM2的快速安全硬件乘法器,其特征在于,包括:乘加模塊、模乘控制器、用于存放計算中間結果的寄存器堆和減法器,其中:乘加模塊包含兩個獨立的乘加器,每個乘加器對64位操作數執行(c,z)=a+xy+b的運算,模乘控制器分別與乘加模塊和寄存器堆相連并按時鐘周期發送執行指令,乘加模塊輸出計算中間結果至寄存器堆,寄存器堆的輸出端分別與乘加模塊的輸入端以及減法器的輸入端相連以實現循環計算和結果輸出,減法器的輸出端與寄存器堆的輸出端與對外接口相連以輸出最終結果。
2.根據權利要求1所述的快速安全硬件乘法器,其特征是,所述的乘加模塊包括兩個并行執行(c,z)=a+xy+b的乘加器,不同狀態根據Montgomery模乘算法選擇對應的數據輸入至乘加器的輸入端口a,x,y,b。
3.根據權利要求2所述的快速安全硬件乘法器,其特征是,進一步包括若干選擇器,其中:模乘控制器和第一選擇器均與乘加模塊相連并分別輸入狀態信息state和算法輸入數據P,乘加模塊根據輸入數據A、B、P和狀態信息state進行(c,z)=a+xy+b的運算并輸出結果至寄存器堆,寄存器堆輸出數據Z的中間結果至第四選擇器,輸出中間數據ti,ca,cb,v,Z至乘加模塊,減法器根據寄存器堆輸出數據Z以及算法輸入數據P分別輸出計算結果Z-P和借位標志s至第四選擇器,第四選擇器根據借位標志s判斷輸出模乘運算結果。
4.根據權利要求1或2所述的快速安全硬件乘法器,其特征是,所述的模乘控制器,通過狀態轉換的方式控制算法的執行順序,在收到start信號之后,其狀態由空閑轉為開始運行,之后每個時鐘周期狀態轉換一次,同時向乘加模塊和寄存器堆發送當前狀態下的執行命令。
5.根據權利要求3所述的快速安全硬件乘法器,其特征是,所述的乘加模塊具體包括:兩個并行執行(c,z)=a+xy+b的乘加器及其對應的選擇器,其中:第二選擇器的輸出端與第一乘加器的輸入端口a,x,y,b相連,第三選擇器的輸出端與第二乘加器的輸入端口a,x,y,b相連,兩個乘加器分別輸出兩組128位中間結果的高64位數據c和低64位數據z至寄存器堆的中間數據ti,ca,cb,v,Z,不同狀態下兩個乘加器輸出數據的排列組合包括:{(Z0,Ai,B0,0),(0,0,0,0)},{(0,Z0,w,0),(0,0,0,0)},{(Z0,ti,P0,0),(Z1,Ai,B1,ca)},{(Zj,ti,Pj,cb),(Zj+1,Ai,Bj+1,ca)},{(Zm-1,ti,Pm-1,cb),(0,0,0,0)},{(ca,cb,1,v),(0,0,0,0)},其中:Ai是將算法輸入數據A按比特位劃分成m段后的第i段的值,B0,B1,Bj+1分別是將算法輸入數據B按比特位劃分成m段后的第0,1,j+1段的值,P0,Pj,Pm-1分別是將算法輸入數據P按比特位劃分成m段后的第0,j,m-1段的值,w是算法輸入數據中的預計算值,ti,ca,cb,v是算法執行過程中的中間結果,Z0,Zj,Zj+1,Zm-1分別是將算法每輪循環的輸出數據Z按比特位劃分成m段后的第0,j,j+1,m-1段的值,i,j分別為算法當前的外層和內層循環次數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學;北京智芯微電子科技有限公司,未經上海交通大學;北京智芯微電子科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010945337.5/1.html,轉載請聲明來源鉆瓜專利網。





