新四季網

國密sm4算法的可擴展高吞吐率的實現方法及裝置製造方法

2023-05-23 19:42:06

國密sm4算法的可擴展高吞吐率的實現方法及裝置製造方法
【專利摘要】本發明提供一種國密SM4算法的可擴展高吞吐率的實現方法及裝置,涉及信息安全技術和集成電路設計領域。該方法包含步驟:S1、處理器將待處理的命令信息、數據信息、密鑰信息按預定義的格式封裝成數據包;S2、處理器啟動DMA,SM4模塊自動解析所述數據包;S3、SM4控制單元從所述命令FIFO讀取命令信息,啟動密鑰擴展單元,依據輸入數據FIFO發送的密鑰信息進行密鑰擴展,SM4控制單元依據分組工作模式欄位信息啟動分組運算單元,對發送的數據信息進行加/解密運算;S4、將分組運算單元進行加/解密運算結果寫入輸出數據FIFO;DMA通過輸出接口從輸出數據FIFO讀取加/解密運算結果。本發明通過數據包、雙總線接口和並行處理技術,提高了國密SM4算法實現方法的吞吐率。
【專利說明】國密SM4算法的可擴展高吞吐率的實現方法及裝置
【技術領域】
[0001]本發明涉及信息安全技術和集成電路設計領域,具體涉及一種國密SM4算法的可擴展高吞吐率的實現方法及裝置。
【背景技術】
[0002]隨著信息技術的發展,政府、企業等對安全通訊以及存儲數據的安全要求越來越高。國密算法(如SM4等)正被廣泛地應用與經濟、軍事、行政等各部門,保護信息的安全性。SM4國密算法是我國公開發布的第一個商用密碼分組算法,是一種對稱的分組密碼體制,其密鑰長度和分組長度都固定為128位。
[0003]目前市場上針對安全移動存儲、安全通訊的加解密設備主要採用軟體實現。這些方法安全度低,容易被攻破,非常不適合金融、涉密機構等安全要求高的用戶使用。而採用硬體實現的設備,雖然安全度提高了,但是其速度一般比較低,遠遠不能滿足用戶的高速度要求。
[0004]現有國密SM4算法的實現,通常採用「串行「工作方式,CPU先把數據寫入SM4模塊,啟動SM4運算,CPU等待SM4運算完成中斷,CPU再把結果讀走;然後重複上述循環。也就是說,下一次SM4運算,必須等候上次完成。這樣,SM4模塊常常因為等候數據的輸入輸出而空閒,從而導致吞吐率非常低。並且,分組運算前都進行密鑰擴展(不管密鑰更新與否),這也降低了吞吐量。可見,為了滿足相關領域大批量高速實時加解密的市場要求,國密SM4算法的高速實現顯得十分重要。

【發明內容】

[0005](一)解決的技術問題
[0006]針對現有技術的不足,本發明提供一種國密SM4算法的可擴展高吞吐率的實現方法及裝置,使得解決了國密SM4算法的吞吐率低的問題。
[0007](二)技術方案
[0008]為實現以上目的,本發明通過以下技術方案予以實現:
[0009]一種國密SM4算法的可擴展高吞吐率的實現方法,其特徵在於,包含以下步驟:
[0010]S1、處理器將待處理的命令信息、數據信息、密鑰信息按預定義的格式封裝成數據包;
[0011]S2、處理器啟動DMA,DMA將所述數據包通過輸入接口寫入SM4模塊,SM4模塊自動解析所述數據包,將所述數據包中的命令信息存入命令FIFO,將所述數據包中的數據信息、密鑰信息存入輸入數據FIFO ;
[0012]S3、SM4控制單元從所述命令FIFO讀取命令信息,根據所讀取的命令信息中的更新密鑰欄位key_updt信息,啟動密鑰擴展單元,所述密鑰擴展單元依據所述輸入數據FIFO所發送的密鑰信息進行密鑰擴展,密鑰擴展完成後,所述SM4控制單元依據所述分組工作模式欄位blockjnode信息啟動分組運算單元,所述分組運算單元對所述輸入數據FIFO發送的數據信息進行加/解密運算;
[0013]S4、將所述分組運算單元進行加/解密運算結果寫入輸出數據FIFO ;所述DMA通過輸出接口從所述輸出數據FIFO讀取加/解密運算結果。
[0014]優選的,所述數據包的命令信息進一步包括承前欄位is_cont信息,所述SM4控制單元依據該欄位信息,直接啟動分組運算單元,對所述輸入數據FIFO所傳輸的數據信息在前一次數據包處理的基礎上進行加/解密運算。
[0015]優選的,當所述分組工作模式欄位blockjnode信息為並行處理模式時,SM4控制單元自動分發相應分組到各分組運算單元,分組運算單元進行分組級別的並行運算;當所述分組工作模式欄位blockjnode信息為串行處理模式時,SM4控制單元自動分發不同的數據包到不同的分組運算單元,分組運算單元進行數據包級別的並行運算。
[0016]本發明還提供了一種國密SM4算法的可擴展高吞吐率的裝置,包括:輸入接口、命令FIFO、輸入數據FIFO、SM4控制單元、密鑰擴展單元、分組運算單元、輸出數據FIFO、輸出接口,
[0017]其中,
[0018]所述輸入接口,處理器啟動DMA後,DMA將數據包通過輸入接口寫入SM4模塊;
[0019]所述命令FIF0,接收SM4模塊自動解析出數據包中的命令信息;
[0020]所述輸入數據FIF0,接收SM4模塊自動解析出數據包中的數據信息和密鑰信息;
[0021]所述SM4控制單元,從所述命令FIFO讀取命令信息,根據所讀取的命令信息中的更新密鑰欄位key_updt信息,啟動密鑰擴展單元;
[0022]所述密鑰擴展單元,依據所述輸入數據FIFO所發送的密鑰信息進行密鑰擴展,密鑰擴展完成後,所述SM4控制單元依據所述分組工作模式欄位blockjnode信息啟動分組運算單元,所述分組運算單元對所述輸入數據FIFO發送的數據信息進行加/解密運算;
[0023]所述輸出數據FIF0,接收所述分組運算單元處理完成的數據,並通過輸出接口將運算結果發送給所述DMA。
[0024]優選的,所述數據包的命令信息進一步包括承前欄位is_cont信息,所述SM4控制單元依據該欄位信息,直接啟動分組運算單元,對所述輸入數據FIFO所傳輸的數據信息在前一次數據包處理的基礎上進行加/解密運算。
[0025]優選的,當所述分組工作模式欄位blockjnode信息為並行處理模式時,SM4控制單元自動分發相應分組到各分組運算單元,分組運算單元進行分組級別的並行運算;當所述分組工作模式欄位blockjnode信息為串行處理模式時,SM4控制單元自動分發不同的數據包到不同的分組運算單元,分組運算單元進行數據包級別的並行運算。
[0026](三)有益效果
[0027]本發明提供了一種國密SM4算法的可擴展高吞吐率的實現方法及裝置,通過採用雙總線接口技術,DMA通過輸入接口將數據包傳輸給SM4模塊,SM4模塊的將數據包分解為命令信息、數據信息和密鑰信息,SM4控制單元接收命令信息後,對密鑰擴展單元和運算控制單元進行相應的控制,運算控制單元運算結束通過輸出接口再行傳輸給DMA。本發明通過數據包和雙總線接口技術能夠讓SM4模塊類似於數據流形式地進行工作,數據輸入和輸出相互不影響,從而減少了分組處理時間,提高了吞吐率。
[0028]本發明通過定義了數據包的格式,在SM4模塊中進行相應的分割,方便了 DMA模塊的操作,並且只有在密鑰更新時,才進行密鑰擴展,進而減少了不需要的密鑰擴展,以此減少了總的處理時間,從而提高了吞吐率。
[0029]本發明為了支持大數據的加/解密運算(例如,>1GB數據),將數據拆分多次運算,通過在命令信息中增加承前欄位iS_cont信息,所述SM4控制單元依據該欄位信息,在該欄位為I時,繼續在前一次數據包處理的基礎上直接啟動分組運算單元對所述輸入數據FIFO所數傳的數據進行運算。
[0030]本發明通過選擇合適的分組運算單元數目,進行並行運算,使得本發明具有很有的靈活性和擴展性,能夠很好的ASIC/FPGA的面積開銷和時鐘頻率的關係。
【專利附圖】

【附圖說明】
[0031]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0032]圖1、為本發明實施例的一種提高國密SM4算法吞吐率的方法的流程示意圖;
[0033]圖2、為本發明實施例的一種提高國密SM4算法吞吐率的方法的流程原理圖;
[0034]圖3、為本發明實施例的運算控制單元並行運算的流程示意圖;
[0035]圖4、為本發明實施例的SM4系統示意圖。
【具體實施方式】
[0036]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0037]實施例1:
[0038]現行所採用的國密SM4算法,在處理大數據的時候,普遍存在吞吐率的瓶頸問題。
[0039]吞吐率通常是採用以下公式進行計算:
[0040]吞吐率TP=時鐘頻率f*分組運算單元數N*128/分組運算時間t ;
[0041]由上述公式可以看出,吞吐率TP的決定因素有時鐘頻率f、分組運算單元數N和分組運算時間t,通過對各要素的相應改變,就能夠提高吞吐率TP。
[0042]如表I所示為吞吐率TP的要素關係圖:
[0043]表I
[0044]
【權利要求】
1.一種國密SM4算法的可擴展高吞吐率的實現方法,其特徵在於,包含以下步驟: 51、處理器將待處理的命令信息、數據信息、密鑰信息按預定義的格式封裝成數據包; 52、處理器啟動DMA,DMA將所述數據包通過輸入接口寫入SM4模塊,SM4模塊自動解析所述數據包,將所述數據包中的命令信息存入命令FIFO,將所述數據包中的數據信息、密鑰信息存入輸入數據FIFO ; 53、SM4控制單元從所述命令FIFO讀取命令信息,根據所讀取的命令信息中的更新密鑰欄位key_updt信息,啟動密鑰擴展單元,所述密鑰擴展單元依據所述輸入數據FIFO所發送的密鑰信息進行密鑰擴展,密鑰擴展完成後,所述SM4控制單元依據所述分組工作模式欄位blockjnode信息啟動分組運算單元,所述分組運算單元對所述輸入數據FIFO發送的數據信息進行加/解密運算; 54、將所述分組運算單元進行加/解密運算結果寫入輸出數據FIFO;所述DMA通過輸出接口從所述輸出數據FIFO讀取加/解密運算結果。
2.如權利要求1所述的方法,其特徵在於,所述數據包的命令信息進一步包括承前欄位iS_cont信息,所述SM4控制單元依據該欄位信息,直接啟動分組運算單元,對所述輸入數據FIFO所傳輸的數據信息在前一次數據包處理的基礎上進行加/解密運算。
3.如權利要求1所述的方法,其特徵在於,當所述分組工作模式欄位blockjnode信息為並行處理模式時,SM4控制單元自動分發相應分組到各分組運算單元,分組運算單元進行分組級別的並行運算;當所述分組工作模式欄位blockjnode信息為串行處理模式時,SM4控制單元自動分發不同的數據包到不同的分組運算單元,分組運算單元進行數據包級別的並行運算。
4.一種國密SM4算法的可擴展高吞吐率的裝置,其特徵在於,包括:輸入接口、命令FIFO、輸入數據FIFO、SM4 控制單元、密鑰擴展單元、分組運算單元、輸出數據FIFO、輸出接n, 其中, 所述輸入接口,處理器啟動DMA後,DMA將數據包通過輸入接口寫入SM4模塊; 所述命令FIFO,接收SM4模塊自動解析出數據包中的命令信息; 所述輸入數據FIFO,接收SM4模塊自動解析出數據包中的數據信息和密鑰信息; 所述SM4控制單元,從所述命令FIFO讀取命令信息,根據所讀取的命令信息中的更新S鑰子段key_updt彳目息,啟動乾'鑰擴展單兀; 所述密鑰擴展單元,依據所述輸入數據FIFO所發送的密鑰信息進行密鑰擴展,密鑰擴展完成後,所述SM4控制單元依據所述分組工作模式欄位blockjnode信息啟動分組運算單元,所述分組運算單元對所述輸入數據FIFO發送的數據信息進行加/解密運算; 所述輸出數據FIFO,接收所述分組運算單元處理完成的數據,並通過輸出接口將運算結果發送給所述DMA。
5.如權利要求4所述的裝置,其特徵在於,所述數據包的命令信息進一步包括承前欄位iS_cont信息,所述SM4控制單元依據該欄位信息,直接啟動分組運算單元,對所述輸入數據FIFO所傳輸的數據信息在前一次數據包處理的基礎上進行加/解密運算。
6.如權利要求4所述的裝置,其特徵在於,當所述分組工作模式欄位blockjnode信息為並行處理模式時,SM4控制單元自動分發相應分組到各分組運算單元,分組運算單元進行分組級別的並行運算;當所述分組工作模式欄位blockjnode信息為串行處理模式時,SM4控制單元自動分發不同的數據包到不同的分組運算單元,分組運算單元進行數據包級別的並行 運算。
【文檔編號】G06F21/72GK103679061SQ201310598463
【公開日】2014年3月26日 申請日期:2013年11月22日 優先權日:2013年11月22日
【發明者】冷祥綸, 俞偉, 盧鼎, 何勇 申請人:北京民芯科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀