[發明專利]模約減方法、裝置、設備及計算機可讀存儲介質有效
| 申請號: | 201810026230.3 | 申請日: | 2018-01-11 |
| 公開(公告)號: | CN108243002B | 公開(公告)日: | 2021-03-16 |
| 發明(設計)人: | 胡湘宏;熊曉明;張盛仕;鄭欣 | 申請(專利權)人: | 廣東工業大學 |
| 主分類號: | H04L9/30 | 分類號: | H04L9/30 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 羅滿 |
| 地址: | 510006 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 模約減 方法 裝置 設備 計算機 可讀 存儲 介質 | ||
本發明公開了一種模約減方法、裝置、設備及計算機可讀存儲介質,本發明將第一操作數加0補足至512位并得到第二操作數,將第二操作數通過約減算法計算得到第一最終值,然后將第一最終值加0補足至288位并得到第三操作數,將第三操作數通過約減算法計算得到第二最終值,判斷第二最終值是否小于預設閾值,若是,則輸出第二最終值;若否,則將第二最終值減去預設閾值得到第三最終值并輸出第三最終值。本發明經過兩次約減算法后輸出的結果只需要減一次或者不用減去SM2加密算法中規定的可操作數值范圍的最大值,相比現有技術中需要減很多次該最大值,本發明大大減少了減去該最大值的次數,縮短了計算時間,提高了模約減的速度。
技術領域
本發明涉及加密算法技術領域,特別是涉及一種模約減方法。本發明還涉及一種模約減裝置、設備及計算機可讀存儲介質。
背景技術
SM2加密算法是由中國國家密碼管理局制定的商用密碼算法,SM2加密算法基于ECC(Elliptic Curve Cryptosystem,橢圓曲線密碼體制)算法改造而成,SM2加密算法的密鑰長度為256位。目前,我國正在商用密碼領域大力推廣應用SM2系列商用密碼算法。
SM2加密算法在實現上有許多需要考慮的因素,在SM2加密算法中,輸入數據的長度必須是256位,在兩個數據在進行點乘運算后可能會出現輸出結果的數據長度大于256位的問題,為了符合SM2加密算法的運算規則,因此需要對數據長度大于256位的數據進行模約減運算,模約減運算就是將需要模約減的第一操作數進行約減得到一個數據長度接近256位的第一操作數,然后再通過該第一操作數對SM2加密算法中規定的可操作數值范圍內的最大值(一個256位第一操作數)取模得到結果,即用這個數據長度接近256位的第一操作數不斷地減去這個最大值,直到結果小于該最大值。現有技術中模約減運算進行約減后的結果的數據長度與256位還有一定差距,因此在進行取模運算的時候需要減去最大值的次數會比較多,導致計算時間長,整個模約減運算的計算速度慢。
因此,如何提供一種速度快的模約減方法、裝置、設備及計算機可讀存儲介質是本領域技術人員需要解決的問題。
發明內容
本發明的目的是提供一種模約減方法,其能夠提高模約減的速度;本發明的另一目的是提供一種包括上述方法的模約減裝置、設備及計算機可讀存儲介質,其也能夠提高模約減的速度。
為解決上述技術問題,本發明提供了一種模約減方法,包括:
接收待進行模約減的第一操作數;
在所述第一操作數最高位前添加0直至所述第一操作數達到512位并得到第二操作數;
將所述第二操作數通過約減算法計算得到第一最終值;
在所述第一最終值最高位前添加0直至所述第一最終值達到288位并得到第三操作數;
將所述第三操作數通過所述約減算法計算得到第二最終值;
判斷所述第二最終值是否小于預設閾值,若是,則輸出所述第二最終值;若否,則將所述第二最終值減去所述預設閾值得到第三最終值并輸出所述第三最終值;
其中,所述預設閾值為SM2加密算法中規定的可操作數值范圍內的最大值。
優選地,所述將所述第二操作數通過約減算法計算得到第一最終值的過程具體包括:
將所述第二操作數按位拆分成16個32位的第四操作數;
將所述第四操作數與0組成14個256位的第五操作數;
將所述第五操作數通過加法運算以及減法運算得到所述第一最終值。
優選地,所述將所述第三操作數通過所述約減算法計算得到第二最終值的過程具體包括:
將所述第三操作數按位拆分成9個32位的第六操作數;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東工業大學,未經廣東工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810026230.3/2.html,轉載請聲明來源鉆瓜專利網。





