[發(fā)明專利]一種SM4加速方法和裝置有效
| 申請?zhí)枺?/td> | 201910196233.6 | 申請日: | 2019-03-15 |
| 公開(公告)號: | CN110034918B | 公開(公告)日: | 2023-10-20 |
| 發(fā)明(設(shè)計)人: | 高夫 | 申請(專利權(quán))人: | 深圳市紐創(chuàng)信安科技開發(fā)有限公司 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;H04L9/08 |
| 代理公司: | 深圳鼎合誠知識產(chǎn)權(quán)代理有限公司 44281 | 代理人: | 胡佳煒;彭愿潔 |
| 地址: | 518057 廣東省深圳市南山區(qū)粵海街道*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 sm4 加速 方法 裝置 | ||
本發(fā)明實施例涉及一種SM4加速方法與裝置。方法包括:在計算裝置原有內(nèi)部寄存器的基礎(chǔ)上,增設(shè)輔助寄存器,對加密密鑰進(jìn)行輪密鑰擴展計算以生成輪密鑰,以輪密鑰處理輸入的消息;輪密鑰擴展計算和以所述輪密鑰處理輸入的消息中的至少其中之一,通過擴展指令實現(xiàn);將所述計算產(chǎn)生的輪密鑰和處理結(jié)果存入預(yù)設(shè)寄存器。實施本發(fā)明實施例,通過軟硬結(jié)合的方式提升SM4運算的效率并兼顧成本,達(dá)到資源的更佳配置。
技術(shù)領(lǐng)域
本發(fā)明實施例涉及計算機技術(shù)領(lǐng)域,尤其涉及一種SM4加速方法和裝置。
背景技術(shù)
SM4是國家密碼管理局發(fā)布的一種分組密碼算法(GMT 0002-2012),該算法的分組長度和密鑰長度均為128比特。加密算法和密鑰擴展算法都采用32輪非線性迭代結(jié)構(gòu)。加密和解密的算法結(jié)構(gòu)相同,只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。對于某些計算裝置,如通用處理器,使用純軟件進(jìn)行SM4雜湊運算時,往往出現(xiàn)效率低下以及長時間占用該裝置的缺點,由此導(dǎo)致系統(tǒng)資源分配緊張和功耗的增加。而一些硬件解決方案,純硬件實現(xiàn)SM4雜湊運算,又過多的增加了硬件成本。如何提升SM4運算的效率并兼顧成本,達(dá)到資源的更佳配置,是本領(lǐng)域亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種SM4加速方法和裝置,可有效提升SM4運算的效率并兼顧成本,達(dá)到資源的更佳配置。
第一方面,本發(fā)明實施例提供一種SM4加速方法,應(yīng)用于設(shè)有內(nèi)部寄存器的計算裝置,方法包括:為所述裝置增加預(yù)設(shè)數(shù)量的輔助寄存器;對加密密鑰進(jìn)行輪密鑰擴展計算以生成輪密鑰;以所述輪密鑰處理輸入的消息;所述輪密鑰擴展計算和以所述輪密鑰處理輸入的消息中的至少其中之一,通過擴展指令實現(xiàn);將所述計算產(chǎn)生的輪密鑰和處理結(jié)果存入預(yù)設(shè)寄存器。
可選的,輸入的消息具體為消息明文或消息密文;所述以所述輪密鑰處理輸入的消息,具體為以所述輪密鑰加密消息明文的計算或以所述輪密鑰解密消息密文的計算。
可選的,擴展指令既調(diào)用所述內(nèi)部寄存器,也調(diào)用所述輔助寄存器。
可選的,擴展指令包括6個操作數(shù),其中2個操作數(shù)由所述裝置內(nèi)部寄存器賦值,其中4個操作數(shù)由所述輔助寄存器賦值。
可選的,所述裝置為32位寬的裝置。
另一方面,本發(fā)明實施例還提供一種SM4加速裝置,設(shè)有內(nèi)部寄存器,包括:預(yù)設(shè)數(shù)量的輔助寄存器;擴展指令計算單元,用于對加密密鑰進(jìn)行輪密鑰擴展計算以生成輪密鑰,以及,以所述輪密鑰處理輸入的消息;所述擴展指令計算單元,對所述輪密鑰擴展計算的執(zhí)行和以所述輪密鑰處理輸入的消息的執(zhí)行中的至少其中之一,通過擴展指令實現(xiàn);存儲單元,用于將所述計算產(chǎn)生的輪密鑰和處理結(jié)果存入預(yù)設(shè)寄存器。
可選的,輸入的消息具體為消息明文或消息密文;以所述輪密鑰處理輸入的消息,具體為以所述輪密鑰加密所述消息明文的計算或以所述輪密鑰解密所述消息密文的計算。
可選的,擴展指令既調(diào)用所述內(nèi)部寄存器,也調(diào)用所述輔助寄存器。
可選的,擴展指令包括6個操作數(shù),其中2個操作數(shù)由所述裝置內(nèi)部寄存器賦值,其中4個操作數(shù)由所述輔助寄存器賦值。
可選的,所述裝置為32位寬的裝置。
本發(fā)明實施例中,在計算裝置原有內(nèi)部寄存器的基礎(chǔ)上,增設(shè)輔助寄存器,對加密密鑰進(jìn)行輪密鑰擴展計算以生成輪密鑰,以輪密鑰處理輸入的消息;輪密鑰擴展計算和以所述輪密鑰處理輸入的消息中的至少其中之一,通過擴展指令實現(xiàn);將所述計算產(chǎn)生的輪密鑰和處理結(jié)果存入預(yù)設(shè)寄存器,實施本發(fā)明實施例。通過軟硬結(jié)合的方式提升SM4運算的效率并兼顧成本,達(dá)到資源的更佳配置。
附圖說明
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳市紐創(chuàng)信安科技開發(fā)有限公司,未經(jīng)深圳市紐創(chuàng)信安科技開發(fā)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910196233.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





