国产精品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>

      面向分組密碼算法并行計算的可重構s盒電路結構的制作方法

      文檔序號:9790741閱讀:745來源:國知局
      面向分組密碼算法并行計算的可重構s盒電路結構的制作方法
      【技術領域】
      [0001]本發(fā)明涉及一種電路結構,尤其是一種面向分組密碼算法并行計算的可重構S盒電路結構,屬于S盒電路的技術領域。
      【背景技術】
      [0002]隨著計算機技術和通信技術的發(fā)展,信息安全問題逐漸成為人們關注的社會問題,密碼技術是保證信息的機密性、安全性和可用性等安全要求的基本手段。密碼算法是現代安全應用的基礎,也是信息系統(tǒng)安全性的根本所在,實現高效靈活的密碼算法是高性能信息系統(tǒng)的重要指標和根本保障,因此也成為信息安全領域的重要課題。在密碼算法中分組密碼占有重要的地位,并廣泛的被應用于各個領域。
      [0003]S盒是許多分組密碼算法的核心組成部分,提供分組密碼算法所必需的混淆作用。在不同的分組密碼算法中,S盒的內部結構和構建方式也有所不同。S盒是許多分組密碼算法中的唯一非線性模塊,因此它的密碼強度對整個分組密碼算法的安全強度產生直接影響。事實上,S盒的性能和面積要求已經成為分組密碼整體實現的一個重要瓶頸。
      [0004]現有技術中的密碼處理器中,S盒的實現方式主要有二種:I)、基于邏輯電路的實現方式,即用硬件邏輯電路來實現S盒操作所包含的布爾函數,其占用資源較少,但運算速度較慢,不具可配置性,不能實現多種不同類型的S盒操作,不能并行處理數據,甚至無法實現部分分組密碼,例如DES;2)、基于查找表單元的實現方式,將S盒替換表存儲在存儲器(如RAM或ROM)中,S盒的輸入作為存儲器的地址輸入,對應的地址空間中存放的數據就是S盒的輸出值,這種方法運算速度快,因為存儲器地址寬度是很容易改變的,所以其具有可配置性,能實現多種分組密碼運算的S盒操作,但占用較多存儲單元,電路實現面積大。

      【發(fā)明內容】

      [0005]本發(fā)明的目的是克服現有技術中存在的不足,提供一種面向分組密碼算法并行計算的可重構S盒電路結構,其配置靈活,可并行處理數據,有效提高運算速度快,能實現多種分組密碼,減少存儲器數量和電路實現面積。
      [0006]按照本發(fā)明提供的技術方案,所述面向分組密碼算法并行計算的可重構S盒電路結構,包括若干可配置的查找表單元,每個查找表單元內包括若干存儲器以及用于接收配置信息的輸入控制電路與輸出控制電路;所述存儲器具有多個并行地址端口以及多個數據端口,輸入控制電路與存儲器的并行地址端口連接,輸出控制電路與存儲器的并行數據端口連接;
      [0007]輸入控制電路、輸出控制電路能接收配置信息,并能根據所述配置信息配置查找表單元內存儲器間的連接配合狀態(tài),以使得配置后的一個或多個存儲器能形成用于存儲分組密碼替換表的存儲單元;
      [0008]所述存儲單元的地址位寬不小于所述存儲分組密碼替換表的輸入數據位寬,所述存儲單元的數據位寬不小于所述存儲分組密碼替換表的輸出數據位寬,存儲單元的并行地址端口數量不小于分組密碼替換表的展開輪數且存儲單元內存儲器的數量不小于每輪替換中并行操作次數,以滿足利用所述分組密碼替換表執(zhí)行相應的分組加密時的全展開訪問并發(fā)度需求。
      [0009]所述分組密碼替換表的替換表輸入數據位寬不大于單個存儲器地址端口的地址位寬且分組密碼替換表的替換表輸出數據位寬不大于單個存儲器數據端口的數據位寬時,所述配置信息通過對輸入控制電路、輸出控制電路進行配置,以使得查找表單元內的每個存儲器獨立存儲所述分組密碼替換表。
      [0010]所述分組密碼替換表的替換表輸入數據位寬大于單個存儲器地址端口的地址位寬時,所述配置信息通過對輸入控制電路、輸出控制電路進行配置,以使得多個存儲器級聯后形成存放一個分組密碼替換表的存儲單元;
      [0011]所述單個存儲器數地址端口的數據位寬與所述存放分組密碼替換表的低位數據輸入位寬一致時,將分組密碼替換表的低位輸入數據從存儲單元的地址端口輸入,分組密碼替換表的高位輸入數據作為片選信號選擇存儲單元內相應存儲器的數據端口,以使得所需片選信號選擇存期的數據端口的輸出數據作為分組密碼替換表的輸出數據。
      [0012]所述分組密碼替換表的替換表輸出數據位寬大于單個存儲器數據端口的數據位寬時,所述配置信息通過對輸入控制電路、輸出控制電路進行配置,以使得多個存儲器級聯后形成存放一個分組密碼替換表的存儲單元;
      [0013]所述分組密碼替換表的輸入數據直接從存儲單元的地址端口輸入,存儲單元數據端口的輸出數據作為分組密碼替換表的輸出數據。
      [0014]本發(fā)明的優(yōu)點:
      [0015]I)、多種分組密碼算法共享查找表單元,有效控制存儲開銷增長:通過增加存儲器并行地址端口、并行數據端口的數量的方式提高了S盒操作的并行度,減少了存儲容量需求,從而避免存儲單元數量增長。
      [0016]2)、通過重構配置適配不同分組密碼算法S盒操作特征,提高S盒操作吞吐率:根據分組密碼替換表的輸入數據位寬、輸出數據位寬切換S盒結構內存儲器的工作模式,充分利用S盒結構中的存儲容量和訪問端口數量,適配不同分組密碼算法的訪問并發(fā)度需求,從而有效提高了存儲器容量和存儲器訪問端口數據的硬件利用率,在滿足不同分組密碼算法S盒操作的同時,提高了操作并發(fā)度。
      【附圖說明】
      [0017]圖1為本發(fā)明單個查找表單元的結構示意圖。
      [0018]圖2為本發(fā)明存儲單元內存儲器處于獨立工作模式的示意圖。
      [0019]圖3為本發(fā)明存儲單元內的存儲器處于片選工作模式的示意圖。
      [0020]圖4為本發(fā)明存儲單元內的存儲器處于級聯工作模式的示意圖。
      [0021]圖5為本發(fā)明存儲單元內的存儲器同時處于級聯以及片選工作的示意圖。
      [0022]圖6為本發(fā)明存儲單元內存儲器處于獨立工作模式的一種具體實施示意圖。
      [0023]圖7為本發(fā)明存儲單元內存儲器處于級聯模式的一種具體實施示意圖。
      [0024]圖8為本發(fā)明存儲單元內存儲器處于級聯和片選模式的一種具體實施示意圖。
      【具體實施方式】
      [0025]下面結合具體附圖和實施例對本發(fā)明作進一步說明。
      [0026]如圖1所示:為了能有效提高運算速度快,能實現多種分組密碼,減少存儲器數量和電路實現面積,本發(fā)明包括若干可配置的查找表單元,每個查找表單元內包括若干存儲器以及用于接收配置信息的輸入控制電路與輸出控制電路;所述存儲器具有多個并行地址端口以及多個數據端口,輸入控制電路與存儲器的并行地址端口連接,輸出控制電路與存儲器的并行數據端口連接;
      [0027]輸入控制電路、輸出控制電路能接收配置信息,并能根據所述配置信息配置查找表單元內存儲器間的連接配合狀態(tài),以使得配置后的一個或多個存儲器能形成用于存儲分組密碼替換表的存儲單元;
      [0028]所述存儲單元的地址位寬不小于所述存儲分組密碼替換表的輸入數據位寬,所述存儲單元的數據位寬不小于所述存儲分組密碼替換表的輸出數據位寬,存儲單元的并行地址端口數量不小于分組密碼替換表的展開輪數且存儲單元內存儲器的數量不小于每輪替換中并行操作次數,以滿足利用所述分組密碼替換表執(zhí)行相應的分組加密時的全展開訪問并發(fā)度需求。
      [0029]具體地,S盒電路內一般具有多個查找表單元,可以允許根據不同配置信息執(zhí)行不同分組密碼算法,S盒內查找表單元的總存儲容量不小于多個分組密碼算法中最大替換表的總容量。一個查找表單元內具有輸入控制電路、輸出控制電路以及多個多端口存儲器,其中,輸入控制電路、輸出控制電路能接收外部的配置信息,輸入控制電路、輸出控制電路能根據配置信息能實現對存儲器的連接狀態(tài)進行調節(jié),從而得到所需的存儲單元。輸入控制電路、輸出控制電路可以采用本技術領域常用的實現形式,輸入控制電路、輸出控制電路根據配置信息實現對存儲器連接配合狀態(tài)的配置過程為本技術領域人員所熟知,此處不再贅述。查找表中的存儲器個數P與所支持的分組密碼算法中的最大輸入數據位寬max {Win}、最大輸出數據位寬maxiWout}有關,當存儲器的地址端口的數據位寬、數據端口的數據位寬分別為Waddr和Wdata時:
      [0030]P = trunc(ffdata/max {ffout})/trunc(ffaddr/max{ffin})
      [0031 ]其中trunc(x)為截斷函數,如trunc(2.1) =2,trunc(2.9) = 2。
      [0032]存儲器的地址端口數量Npcirt與所支持的分組密碼算法中的每輪最大迭代訪問S盒次數Nrciund以及存儲器個數有關,具體為
      [0033]Nport = ceil( Nround/P )
      [0034]其中,ceil(X)為取整函數,如ceil(2.l)=3,ceil(2.9)=3。
      [0035]—般地,一個分組密碼算法的分組密碼替換表具有四個基本技術特征,所述四個基本技術特征分別為:替換表輸入數據位寬、替換表輸出數據位寬、展開輪數以及每輪替換中并行操作次數。
      [0036]分組密碼一般由多輪迭代完成,每輪迭代稱為一個輪函數,每個輪函數中一般都有替換(Substitut1n)操作,通過S盒(Substitut1n Box)完成。展開輪數最多不超過算法輪數,展開輪數與算法輪數相等稱為全展開,展開輪數小于算法輪數稱為部分展開。每輪迭代中有多組數據同時進行替換操作,為了提高吞吐率,一般并行執(zhí)行,此時數據的組數稱為每輪替換中的并行操作次數。
      [0037]對于S盒內配置形成的存儲單元,能夠構成m組存儲器,每組存儲器的并行地址端口數為η。對于任意的分組密碼算法,每輪迭代中替換并行操作次數為nl,展開輪數為r,則有
      [0038]m*func(nl/n)>r
      [0039]其中,func(x)= trunc(x),x > I,當x小于I時,func(x) = I。
      [0040]綜上得,當存儲單元的地址位寬不小于所述存儲分組密碼替換表的輸入數據位寬,所述存儲單元的數據位寬不小于所述存儲分組密碼替換表的輸出數據位寬,存儲單元的并行地址端口數量不小于分組密碼替換表的展開輪數且存儲單元內存儲器的數量不小于每輪替換中并行操作次數,以滿足利用所述分組密碼替換表執(zhí)行相應的分組加密時的全展開訪問并發(fā)度需求,即保障S盒電路操作高吞吐率的同時有效控制S盒結構硬件資源開銷增長,具有較高的面積效率。
      [0041]如圖2所示,所述分組密碼替換表的替換表輸入數據位寬不大于單個存儲器地址端口的地址位寬且分組密碼替換表的替換表輸出數據位寬不大于單個存儲器數據
      當前第1頁1 2 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1