[發明專利]基于SIMD的SM2加密及解密快速實現方法在審
| 申請號: | 202210846869.2 | 申請日: | 2022-07-19 |
| 公開(公告)號: | CN115174038A | 公開(公告)日: | 2022-10-11 |
| 發明(設計)人: | 付勇;陳學雷;王美琴;朱亮;陳麗娟 | 申請(專利權)人: | 山東省計算中心(國家超級計算濟南中心);齊魯工業大學 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;H04L9/22;H04L9/30 |
| 代理公司: | 濟南圣達知識產權代理有限公司 37221 | 代理人: | 祖之強 |
| 地址: | 250014 山*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 simd sm2 加密 解密 快速 實現 方法 | ||
本發明提供了一種基于SIMD的SM2加密及解密快速實現方法,將添加CT值后的多條數據,每條取出預設比特整合為一條并放入message數組中存儲,使用預計算好的索引值以及VPGATHERDD指令來實現消息擴展的第一步,并對擴展后的數據使用PSHUFB指令對數據進行重排,代替了指針實現字節逆序功能,提高了算法整體的運算效率;在完成第一步消息擴展時,數據已通過VPGATHERDD指令裝載入寄存器中,省略了后續單獨裝載的過程;消息擴展的第二步與第三步則使用自動化的循環指令實現,減少了代碼量。
技術領域
本發明涉及數據加密處理技術領域,特別涉及一種基于SIMD的SM2加密及解密快速實現方法。
背景技術
本部分的陳述僅僅是提供了與本發明相關的背景技術,并不必然構成現有技術。
SM2算法是一種用于數據加密的公鑰密碼算法,SM2算法中的KDF部分采用SM3算法進行哈希運算,KDF的執行效率是影響SM2加解密速度的關鍵。
發明人發現,現有的SM2公鑰加密算法的KDF部分,在處理較長數據時,耗時較長,加密效率較低,極大的影響了SM2公鑰密碼算法的加密速率。
發明內容
為了解決現有技術的不足,本發明提供了一種基于SIMD的SM2加密及解密快速實現方法,使用SIMD并行化處理后,通過提高局部的運算效率,提升了SM2算法整體的運算效率,進而提高了數據加密效率。
為了實現上述目的,本發明采用如下技術方案:
本發明第一方面提供了一種基于SIMD的SM2數據加密速度提升方法。
一種基于SIMD的SM2數據加密速度提升方法,包括以下過程:
使用隨機數發生器產生隨機數k,使用k計算出橢圓曲線點C1(x1,y1),并將C1的數據類型轉換為比特串,根據隨機數k計算橢圓曲線點(x2、y2);
并將橢圓曲線點(x2、y2)的數據類型轉換為比特串并合并為一條數據并復制為相同的多條數據,并在每條數據的末尾按次序添加對應的32比特計數器CT值;
定義無符號整型數組index32并將其裝載入寄存器index中,將添加CT值后的多條數據,每條取出預設比特整合為一條并放入message數組中存儲;
使用VPGATHERDD指令及index索引對message中的數據放入16個__m256i類型變量中,使用PSHUFB指令,對16個__m256i類型變量中的數據進行字節逆序操作;
將字節逆序操作處理完畢的16個__m256i類型變量放入__m256i數組類型的group中;對group中的16個數據進行第一步消息擴展,最終擴展為68個;對group中的68個數據進行第二步消息擴展,最終擴展為64個,并放入__m256i類型的group2數組中;
定義8個無符號整型數組,每個數組中存儲8條16進制的SM3哈希函數初始值且8個數組的內容一致;定義8個__m256i類型字寄存器,并將8個無符號整型數組中相同的數據放入同一個寄存器中;
定義臨時數據SS1、SS2、TT2,皆為__m256i類型;定義布爾函數FF1、FF2、GG1與GG2;根據group、group2、SS1、SS2、TT2、FF1、FF2、GG1與GG2,執行16輪的輪函數RoundFunction1和48輪的輪函數RoundFunction2;
在進行完64輪輪函數運算后,將8個__m256i類型字寄存器重新裝載回數組,并與8個無符號整型數組進行異或,得到本輪運算的密文;
將每條數據取出預設比特后的剩余部分的末尾添加代表數據長度的比特串,并按次序整合成一條數據后放入message數組中,執行使用VPGATHERDD指令之后的步驟,得到最終密文;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東省計算中心(國家超級計算濟南中心);齊魯工業大學,未經山東省計算中心(國家超級計算濟南中心);齊魯工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210846869.2/2.html,轉載請聲明來源鉆瓜專利網。





