国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種實現(xiàn)智能卡sm4密碼算法的協(xié)處理器的制造方法

      文檔序號:7795672閱讀:294來源:國知局
      一種實現(xiàn)智能卡sm4密碼算法的協(xié)處理器的制造方法
      【專利摘要】本發(fā)明公開了一種實現(xiàn)智能卡SM4密碼算法的協(xié)處理器,該協(xié)處理器包括:接口模塊、有限狀態(tài)機模塊、寄存器文件模塊和邏輯功能模塊,其中,接口模塊用于實現(xiàn)與外部的控制模塊進行數(shù)據(jù)交互;有限狀態(tài)機模塊用于對寄存器文件模塊和邏輯功能模塊進行控制,并向接口模塊返回運行狀態(tài)信號;寄存器文件模塊用于對相應寄存器進行讀/寫操作,及將數(shù)據(jù)送到邏輯功能模塊進行處理并取回相應的結(jié)果;邏輯功能模塊用于對寄存器文件模塊發(fā)送來的數(shù)據(jù)輪流進行密鑰擴展的輪運算和加/解密的輪運算,直至32輪結(jié)束,并向寄存器文件模塊返回每次運算的結(jié)果。實施本發(fā)明的技術方案,使協(xié)處理器面積小且應用靈活性高。
      【專利說明】—種實現(xiàn)智能卡SM4密碼算法的協(xié)處理器
      【技術領域】
      [0001]本發(fā)明涉及通訊領域,尤其涉及一種實現(xiàn)智能卡SM4密碼算法的協(xié)處理器。
      【背景技術】
      [0002]隨著科技的進步和人們對信息安全要求的不斷提高,智能卡已經(jīng)在日常成活中得到廣泛應用。在交通、金融、教育等領域均可以看到智能卡的身影。
      [0003]SM4算法是由國家商用密碼管理局在2006年I月公布的一種分組密碼算法,主要用于無線局域網(wǎng)的通訊,是第一個官方公布的商用密碼算法。國家商用密碼管理局批準其為商用密碼行業(yè)標準,命名為SM4算法。SM4算法采用非平衡的Feistel結(jié)構(gòu),具有較強的抵抗差分攻擊的能力,安全強度達到國際分組密碼算法標準。
      [0004]SM4算法的明文和密鑰長度均為128比特,加密輪數(shù)為32。在第一輪操作是直接對輸入的數(shù)據(jù)進行輪運算。在后面的輪運算中,SM4算法對上一輪函數(shù)的輸出數(shù)據(jù)進行輪運算。在進行完32輪運算后,把數(shù)據(jù)進行順序倒置后輸出。其中每輪用到的輪密鑰由密鑰擴展算法對輸入的密鑰擴展得到,擴展算法和加密算法類似,每經(jīng)過一次輪運算就輸出一個輪密鑰,總共需要生成32個輪密鑰,依次用在不同的加密輪運算中。SM4算法的解密變換與加密變換結(jié)構(gòu)相同,不同的僅是輪密鑰的使用順序。
      [0005]然而,目前,通常分別針對擴展算法和加密算法設置兩套運算模塊,因此,使得協(xié)處理器芯片的面積較大,應用的靈活性較低。

      【發(fā)明內(nèi)容】

      [0006]本發(fā)明要解決的技術問題在于,針對現(xiàn)有技術的上述協(xié)處理器芯片面積大、應用的靈活性低的缺陷,提供一種實現(xiàn)智能卡SM4密碼算法的協(xié)處理器,面積小且應用靈活性聞。
      [0007]本發(fā)明解決其技術問題所采用的技術方案是:構(gòu)造一種實現(xiàn)智能卡SM4密碼算法的協(xié)處理器,包括:接口模塊、有限狀態(tài)機模塊、寄存器文件模塊和邏輯功能模塊,其中,
      [0008]所述接口模塊用于實現(xiàn)與外部的控制模塊進行數(shù)據(jù)交互;
      [0009]所述有限狀態(tài)機模塊用于根據(jù)所述接口模塊的加/解密命令對所述寄存器文件模塊和所述邏輯功能模塊進行控制,并向所述接口模塊返回運行狀態(tài)信號;
      [0010]所述寄存器文件模塊用于根據(jù)所述接口模塊的讀/寫命令對相應寄存器進行讀/寫操作,及在所述有限狀態(tài)機模塊的控制下,將數(shù)據(jù)送到所述邏輯功能模塊進行處理并取回相應的結(jié)果;
      [0011]所述邏輯功能模塊用于在所述有限狀態(tài)機模塊的控制下,對所述寄存器文件模塊發(fā)送來的數(shù)據(jù)輪流進行密鑰擴展的輪運算和加/解密的輪運算,直至32輪結(jié)束,并向所述寄存器文件模塊返回每次運算的結(jié)果。
      [0012]在本發(fā)明所述的實現(xiàn)智能卡SM4密碼算法的協(xié)處理器中,所述邏輯功能模塊包括:[0013]常數(shù)生成模塊,用于根據(jù)所述有限狀態(tài)機模塊所輸出的輪數(shù),生成用于密鑰擴展的常數(shù);
      [0014]第一選擇器,用于根據(jù)所述有限狀態(tài)機模塊所輸出的密鑰擴展輪運算控制信號或加/解密輪運算控制信號,選擇輸出來自所述常數(shù)生成模塊的常數(shù)或來自所述寄存器文件模塊的輪密鑰;
      [0015]第一異或運算模塊,用于對所述第一選擇器所輸出的數(shù)據(jù)與所述寄存器文件模塊所輸出的第一組明/密文數(shù)據(jù)、第二組明/密文數(shù)據(jù)、第三組明/密文數(shù)據(jù)進行異或運算;
      [0016]S盒運算模塊,用于對所述第一異或運算模塊所輸出的數(shù)據(jù)進行非線性運算;
      [0017]第一線性運算模塊,用于對所述S盒運算模塊所輸出的數(shù)據(jù)進行用于加/解密的第一線性運算;
      [0018]第二線性運算模塊,用于對所述S盒運算模塊所輸出的數(shù)據(jù)進行用于密鑰擴展的第二線性運算;
      [0019]第二異或運算模塊,用于對所述第一線性運算模塊所輸出的數(shù)據(jù)與所述寄存器文件模塊所輸出的第四組明/密文數(shù)據(jù)進行異或運算;
      [0020]第三異或運算模塊,用于對所述第二線性運算模塊所輸出的數(shù)據(jù)與所述寄存器文件模塊所輸出的第四組明/密文數(shù)據(jù)進行異或運算;
      [0021]第二選擇器,用于根據(jù)所述有限狀態(tài)機模塊所輸出的密鑰擴展輪運算控制信號或加/解密輪運算控制信號,選擇輸出來自所述第二異或運算模塊的數(shù)據(jù)或來自所述第三異或運算模塊的數(shù)據(jù)。
      [0022]在本發(fā)明所述的實現(xiàn)智能卡SM4密碼算法的協(xié)處理器中,所述S盒運算模塊包括四個并行的S盒運算單元,每個S盒運算單元對8比特的輸入數(shù)據(jù)進行非線性運算。
      [0023]在本發(fā)明所述的實現(xiàn)智能卡SM4密碼算法的協(xié)處理器中,所述S盒運算單元的數(shù)學模型為:
      [0024]S= (a*Ai+Ci) -1*A2+C2
      [0025]其中,S為S盒運算單元的輸出數(shù)據(jù),a為輸入數(shù)據(jù),CpC2S (1,1,0,0, 1,0, 1,1);
      [0026]
      【權(quán)利要求】
      1.一種實現(xiàn)智能卡SM4密碼算法的協(xié)處理器,其特征在于,包括:接口模塊(I)、有限狀態(tài)機模塊(2 )、寄存器文件模塊(3 )和邏輯功能模塊(4 ),其中, 所述接口模塊(I)用于實現(xiàn)與外部的控制模塊進行數(shù)據(jù)交互; 所述有限狀態(tài)機模塊(2)用于根據(jù)所述接口模塊(I)的加/解密命令對所述寄存器文件模塊(3)和所述邏輯功能模塊(4)進行控制,并向所述接口模塊(I)返回運行狀態(tài)信號; 所述寄存器文件模塊(3)用于根據(jù)所述接口模塊(I)的讀/寫命令對相應寄存器進行讀/寫操作,及在所述有限狀態(tài)機模塊(2)的控制下,將數(shù)據(jù)送到所述邏輯功能模塊(4)進行處理并取回相應的結(jié)果; 所述邏輯功能模塊(4)用于在所述有限狀態(tài)機模塊(2)的控制下,對所述寄存器文件模塊(3)發(fā)送來的數(shù)據(jù)輪流進行密鑰擴展的輪運算和加/解密的輪運算,直至32輪結(jié)束,并向所述寄存器文件模塊(3)返回每次運算的結(jié)果。
      2.根據(jù)權(quán)利要求1所述的實現(xiàn)智能卡SM4密碼算法的協(xié)處理器,其特征在于,所述邏輯功能模塊(4)包括: 常數(shù)生成模塊(41),用于根據(jù)所述有限狀態(tài)機模塊(2)所輸出的輪數(shù),生成用于密鑰擴展的常數(shù); 第一選擇器(42 ),用于根據(jù)所述有限狀態(tài)機模塊(2 )所輸出的密鑰擴展輪運算控制信號或加/解密輪運算控制信號,選擇輸出來自所述常數(shù)生成模塊(41)的常數(shù)或來自所述寄存器文件模塊(3)的輪密鑰; 第一異或運算模塊(43),用于對所述第一選擇器(42)所輸出的數(shù)據(jù)與所述寄存器文件模塊(3)所輸出的第一組明/密文數(shù)據(jù)、第二組明/密文數(shù)據(jù)、第三組明/密文數(shù)據(jù)進行異或運算; S盒運算模塊(44),用于對所述第一異或運算模塊(43)所輸出的數(shù)據(jù)進行非線性運算; 第一線性運算模塊(45 ),用于對所述S盒運算模塊(44 )所輸出的數(shù)據(jù)進行用于加/解密的第一線性運算; 第二線性運算模塊(46 ),用于對所述S盒運算模塊(44 )所輸出的數(shù)據(jù)進行用于密鑰擴展的第二線性運算; 第二異或運算模塊(47),用于對所述第一線性運算模塊(45)所輸出的數(shù)據(jù)與所述寄存器文件模塊(3)所輸出的第四組明/密文數(shù)據(jù)進行異或運算; 第三異或運算模塊(48),用于對所述第二線性運算模塊(46)所輸出的數(shù)據(jù)與所述寄存器文件模塊(3)所輸出的第四組明/密文數(shù)據(jù)進行異或運算; 第二選擇器(49),用于根據(jù)所述有限狀態(tài)機模塊(2)所輸出的密鑰擴展輪運算控制信號或加/解密輪運算控制信號,選擇輸出來自所述第二異或運算模塊(47 )的數(shù)據(jù)或來自所述第三異或運算模塊(48)的數(shù)據(jù)。
      3.根據(jù)權(quán)利要求2所述的實現(xiàn)智能卡SM4密碼算法的協(xié)處理器,其特征在于,所述S盒運算模塊包括四個并行的S盒運算單元,每個S盒運算單元對8比特的輸入數(shù)據(jù)進行非線性運算。
      4.根據(jù)權(quán)利要求3所述的實現(xiàn)智能卡SM4密碼算法的協(xié)處理器,其特征在于,所述S盒運算單元的數(shù)學模型為:S= (a*A1C1)_1*A2+C2其中,S為S盒運算單元的輸出數(shù)據(jù),a為輸入數(shù)據(jù),C1、C2為(1,1,0,0,1,0,1,I);
      【文檔編號】H04L9/06GK103746796SQ201410025955
      【公開日】2014年4月23日 申請日期:2014年1月20日 優(yōu)先權(quán)日:2014年1月20日
      【發(fā)明者】孫金龍, 曾廣旺 申請人:深圳華視微電子有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1