本申請公開了一種加解密速度控制方法、單元和安全芯片電路,該方法首先獲取預設的完成一次ghash函數的乘法運算所需的計算時鐘周期數N;再依據參與ghash函數的乘法運算的乘數X和被乘數Y的數據長度L及計算時鐘周期數N,獲取采用并行方式進行ghash函數乘法運算時所需的并行計算位數M,及對應并行計算位數M所需MUX的級數的數值P;最后設定級數的數值P的MUX完成乘數X和被乘數Y的ghash函數的乘法運算,以獲取積Z。由于是采用并行方式進行ghash函數乘法運算,使得ghash函數乘法運算的速度實現可控,進而實現了加解密速度的可控。進而實現了加解密速度的可控。進而實現了加解密速度的可控。
【技術實現步驟摘要】
一種加解密速度控制方法、單元和安全芯片電路
[0001]本專利技術涉及信息安全和集成電路
,具體涉及一種加解密速度控制方法、單元和安全芯片電路。
技術介紹
[0002]隨著安全芯片技術的快速發展,其應用領域也越來廣,漸漸融入到人們的日常生活中。如何為用戶提供具有差異的個性化需求服務成為安全芯片生產廠商的一個重要研究方向,例如,生產廠商需依據用戶等級分別設置不同的安全加解密處理速度,就像移動運營商要依據客戶的無線數據的使用量設定不同的數據傳輸速度一樣。
[0003]目前的數據加密技術根據加密密鑰類型可分私鑰加密(對稱加密)系統和公鑰加密(非對稱加密)系統。對稱加密算法是較傳統的加密體制,通信雙方在加/解密過程中使用他們共享的單一密鑰,鑒于其算法簡單和加密速度快的優點,目前仍然是主流的密碼體制之一。對稱加密中的分組密碼具有速度快、易于標準化和便于軟硬件實現等特點,通常是信息與網絡安全中實現數據加密、數字簽名、認證及密鑰管理的核心體制,它在計算機通信和信息系統安全領域有著最廣泛的應用。其中,GCM是一種任二元Galois域使用泛散列提供認證加密的分組加密算法,在GCM中包括兩個基本的操作就是認證加密和認證解密,這兩個操作構成了GCM全部的功能。GCM加密算法實現的關鍵在于AES算法的設計實現和GHASH函數的實現,因此GHASH函數是GCM加密算法最重要的一部分,如何通過對GHASH函數運算的硬件實現,來達到對數據加解密速度的控制是本申請的主要研究方向。
技術實現思路
[0004]本專利技術主要解決的技術問題是如何基于ghash函數運算的硬件實現對加解密速度進行控制。
[0005]根據第一方面,一種實施例中提供一種加解密速度控制方法,加解密方式基于ghash函數運算實現,所述加解密速度控制方法包括:獲取預設的完成一次ghash函數的乘法運算所需的計算時鐘周期數N;依據參與所述ghash函數的乘法運算的乘數X和被乘數Y的數據長度L及所述計算時鐘周期數N,獲取采用并行方式進行ghash函數乘法運算時所需的并行計算位數M;依據所述乘數X和被乘數Y的數據長度L及所述并行計算位數M,獲取完成所述ghash函數乘法運算的MUX的級數的數值P;設定用于所述ghash函數乘法運算的MUX的級數為數值P,并完成所述乘數X和被乘數Y的ghash函數的乘法運算,以獲取積Z。
[0006]根據第二方面,一種實施例中提供一種計算機可讀存儲介質,所述介質上存儲有程序,所述程序能夠被處理器執行以實現如第一方面所述的加解密速度控制方法。
[0007]根據第三方面,一種實施例中提供一種加解密速度控制單元,包括:速度設定模塊,用于依據預設的加解密速度設定完成一次ghash函數的乘法運算
所需的計算時鐘周期數N;位數獲取模塊,用于依據參與所述ghash函數的乘法運算的乘數X和被乘數Y的數據長度L及所述計算時鐘周期數N,獲取采用并行方式進行ghash函數乘法運算時所需的并行計算位數M;數值設定模塊,用于依據所述乘數X和被乘數Y的數據長度L及所述并行計算位數M,獲取完成所述ghash函數乘法運算的MUX的級數的數值P;加解密計算模塊,用于選取級數為數值P的MUX完成所述乘數X和被乘數Y的ghash函數的乘法運算,以獲取積Z。
[0008]根據第四方面,一種實施例中提供一種安全芯片電路,包括第三方面所述的加解密速度控制單元,所述加解密速度控制單元用于實現對所述安全芯片電路執行加解密計算的速度的控制。
[0009]依據上述實施例的安全芯片電路,由于通過對GHASH函數的乘法運算所需的計算時鐘周期的數量的控制,實現了對安全芯片電路加解密計算速度的控制,因此能夠實現依據不同的加解密等級信息對應不同的加解密速度,以達到依據用戶等級的不同實現安全芯片電路不同性能表現的目的,進而為用戶提供具有差異的個性化需求服務成為可能。
附圖說明
[0010]圖1為一種實施例中安全芯片電路的結構框圖;圖2為一種實施例中加解密速度控制方法的流程示意圖。
具體實施方式
[0011]下面通過具體實施方式結合附圖對本專利技術作進一步詳細說明。其中不同實施方式中類似元件采用了相關聯的類似的元件標號。在以下的實施方式中,很多細節描述是為了使得本申請能被更好的理解。然而,本領域技術人員可以毫不費力的認識到,其中部分特征在不同情況下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情況下,本申請相關的一些操作并沒有在說明書中顯示或者描述,這是為了避免本申請的核心部分被過多的描述所淹沒,而對于本領域技術人員而言,詳細描述這些相關操作并不是必要的,他們根據說明書中的描述以及本領域的一般技術知識即可完整了解相關操作。
[0012]另外,說明書中所描述的特點、操作或者特征可以以任意適當的方式結合形成各種實施方式。同時,方法描述中的各步驟或者動作也可以按照本領域技術人員所能顯而易見的方式進行順序調換或調整。因此,說明書和附圖中的各種順序只是為了清楚描述某一個實施例,并不意味著是必須的順序,除非另有說明其中某個順序是必須遵循的。
[0013]本文中為部件所編序號本身,例如“第一”、“第二”等,僅用于區分所描述的對象,不具有任何順序或技術含義。而本申請所說“連接”、“聯接”,如無特別說明,均包括直接和間接連接(聯接)。
[0014]GHASH函數的乘法運算并不是傳統意義上的乘法運算,只是將移位以及異或操作定義成了乘法。
[0015]定義GHASH函數的乘法運算為:Z=X*Y;
初始值:Z=0,V=X;;;其中LSB(Vi)表示Vi的最右端,R是常數,“>>”表示右移,i<128。
[0016]根據上述公式可知,若是單bit串行計算,則計算128bit的Ghash函數的乘法運算一次需要128個計算時鐘周期。
[0017]目前,還沒有對GHASH函數的乘法運算進行加速優化的方案。以AES
?
128為例,在現有技術中完成一次GHASH函數的乘法運算需要128個計算時鐘周期,可以理解為一種串行運算方式,即在GHASH函數乘法運算的硬件實現上需要128個計算時鐘周期才能完成一次GHASH函數的乘法運算,這樣大大限制了安全芯片的加解密速度,進而拉低其性能。
[0018]在本申請實施例中,將GHASH函數的乘法運算由串行運算方式實現設計成為可并行運算方式實現,即在少量的計算時鐘周期內通過并行方式同時計算多個位數的數據來完成一次GHASH函數的乘法運算。還以AES
?
128為例,設定在8個計算時鐘周期內并行計算16位數據完成一次Ghash函數的乘法運算。采用并行運算方式不但可以大大提高GHASH函數的乘法運算的速度,還能實現完成一次GHASH函數的乘法運算所需的計算時鐘周期的數量可調節。基于GHASH函數的乘法運算所需的計算時鐘周期的數量可調節的特性,本申請實施例中還公開一種加解密速度控制方法,通過設定完成一次GHASH函數本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種加解密速度控制方法,其特征在于,加解密方式基于ghash函數運算實現,所述加解密速度控制方法包括:獲取預設的完成一次ghash函數的乘法運算所需的計算時鐘周期數N;依據參與所述ghash函數的乘法運算的乘數X和被乘數Y的數據長度L及所述計算時鐘周期數N,獲取采用并行方式進行ghash函數乘法運算時所需的并行計算位數M;依據所述乘數X和被乘數Y的數據長度L及所述并行計算位數M,獲取完成所述ghash函數乘法運算的MUX的級數的數值P;設定用于所述ghash函數乘法運算的MUX的級數為數值P,并完成所述乘數X和被乘數Y的ghash函數的乘法運算,以獲取積Z。2.權利要求1所述的加解密速度控制方法,其特征在于,所述獲取預設的完成一次ghash函數的乘法運算所需的計算時鐘周期數N,包括:預設的完成一次ghash函數的乘法運算所需的計算時鐘周期數N與加解密速度負相關。3.權利要求1所述的加解密速度控制方法,其特征在于,所述依據參與所述ghash函數的乘法運算的乘數X和被乘數Y的數據長度L及所述計算時鐘周期數N,獲取采用并行方式進行ghash函數乘法運算時所需的并行計算位數M,包括:依據計算時鐘周期與并行需求位數對照表獲取所述并行計算位數M;其中,所述計算時鐘周期與并行需求位數對照表是依據在所述預設計算時鐘周期數N內采用并行方式完成一次所述ghash函數的乘法運算時,所述乘數X和所述被乘數Y的數據長度L與所述并行計算位數M的對應關系獲取。4.權利要求1所述的加解密速度控制方法,其特征在于,所述依據所述乘數X和被乘數Y的數據長度L及所述并行計算位數M,獲取完成所述ghash函數乘法運算的MUX的級數的數值P,包括:依據并行計算位數與級數對照表獲取完成所述ghash函數乘法運算的MUX的級數的數值P;其...
【專利技術屬性】
技術研發人員:張席旗,首南青,樊俊鋒,
申請(專利權)人:深圳市紐創信安科技開發有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。