999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

密碼芯片的多算法隨機作業流調度方法

2016-06-21 15:05:42李莉史國振耿魁董秀則王璇李鳳華
通信學報 2016年12期
關鍵詞:關聯作業

李莉,史國振,耿魁,董秀則,王璇,李鳳華

(1.西安電子科技大學通信工程學院,陜西 西安 710071;2.北京電子科技學院電子信息工程系,北京 100070;3.北京電子科技學院信息安全系,北京 100070;4.中國科學院信息工程研究所信息安全國家重點實驗室,北京 100093)

密碼芯片的多算法隨機作業流調度方法

李莉1,2,史國振3,耿魁4,董秀則2,王璇1,李鳳華4

(1.西安電子科技大學通信工程學院,陜西 西安 710071;2.北京電子科技學院電子信息工程系,北京 100070;3.北京電子科技學院信息安全系,北京 100070;4.中國科學院信息工程研究所信息安全國家重點實驗室,北京 100093)

針對安全領域中海量業務安全需求多樣性導致的多種密碼算法運算隨機交叉的現象,提出了具有關聯判斷控制的基于業務標識的分層硬件調度方法(HHS-ACDID)。第一級調度完成業務在不同算法簇上的分配,通過優化檢索邏輯,實現數據的快速分配;第二級調度通過增設關聯控制模塊和關聯隊列的方式,完成上下文相關作業分組調度順序的處理。采用中間狀態存儲模塊,以業務號為索引完成串行密碼算法工作模式下中間狀態的存儲,并通過預處理模塊完成對后序關聯作業分組輸入數據的處理。實驗驗證所提調度方法有效解決了高速數據流下多對多通信中多密碼算法、多數據流的隨機交叉加解密問題。

交叉加解密;作業調度;多算法;密碼處理芯片;硬件調度

1 引言

計算機網絡的發展以及互聯網應用、移動通信的普及,加快了全球經濟一體化的進程,促使社會經濟及網絡經濟快速發展。云服務、電子商務、網上銀行、電子支付等新型服務模式的不斷涌現,使云安全進入了高速發展期,云加密服務成為云安全市場新的增長熱點。在數據大集中處理方式下,數據加解密以及數字簽名、驗簽的業務請求數量非常巨大,加密服務終端必然存在著不同業務數據的高度融合和密碼服務請求的交叉訪問,即多個不同業務的不同密碼服務請求間的交叉融合。這些業務請求的不同可能表現在處理算法上,如加密郵件請求的DES算法、簽名請求的散列算法,以及數據庫加密請求的AES算法等;也可能表現在密鑰上,不同客戶的業務請求具有不同的公、私鑰;或表現在不同的密碼算法工作模式上,如對于安全性要求不高或強調處理速度的ECB、CTR工作模式,或對安全性要求較高的CBC、OFB、CFB模式等。如何對這些隨機交叉的安全服務請求進行正確且快速的處理,是海量數據安全服務請求必須要解決的問題。

目前,對于多算法交叉加解密的調度研究,多是在軟件或算法層面解決,通過軟件層面的調度實現業務數據在多算法核上的分配,且以非關聯數據的處理為主。軟件實現的調度方法具有處理靈活的優點,但是速度提升有限,不能很好地滿足海量數據的快速、有效處理,影響用戶體驗。本文以云安全應用下高性能密碼處理芯片的設計為研究背景,探討了在多算法交叉加解密服務需求下,采用帶有中間狀態管理的基于數據標識的分層硬件調度方法(HHS-ACDID)實現交叉業務請求下多算法、多密鑰、多IP核的隨機交叉加解密服務,實現數據大集中處理場景下業務的快速處理。

2 相關研究

目前,對于海量數據密碼應用的研究和處理主要集中在多核并行處理架構和密碼算法本身的高速并行實現上。并行處理架構又分為以GPU為主的通用多核CPU架構[1,2]和以密碼算法處理IP核為主的專用多核架構。算法本身的并行高速實現主要集中在挖掘算法本身的并行性和算法的流水線實現2個方面,將算法的處理分為多個階段[3],部分功能采用并行化的實現方式[4,5],如模冪運算[6]或點乘算法[7]的并行化,以及對密鑰擴展模塊采用并行化的實現方式[8]。文獻[9]建立了以GPU為中心的流水線架構模型,通過對GPU核的周期性調度,獲得可預期的GPU處理時間,但是并未考慮對交叉作業分組的處理,每個GPU核流水線處理的是同一業務的順序作業分組,其中,GPU的調度周期受限于最大作業分組的處理時間,且沒有涉及異構核和關聯任務處理的問題。文獻[10]基于數據密態檢索采用的Gentry全同態加密,提出建立數據依賴圖解決上下文相關業務并行處理的方法。文獻[11]探討了一種虛擬化的軟件架構,通過Dispatcher將數據送至不同的處理器實現對全同態加密算法的并行化處理。這些處理都是軟件層面的解決方案,調度的處理相對滯后,不能根據處理模塊的運行情況進行業務調度的實時處理。文獻[12]針對業務數據交叉加解密的思想,提出了在典型密碼處理器體系結構上增設專用易失性存儲器、專用易失性存儲器控制器和索引寄存器的多線程密碼芯片的體系結構,但并未對其進行實現與驗證。以密碼算法處理IP核為主的專用多核架構采用一個系統內部掛接多個密碼算法處理IP核[13],通過指令級和數據級并行,最大化數據疊加流水處理,提高系統的吞吐率,加速算法數據處理速度,實現單一鏈接下的不同任務在不同工作模式下的多種密碼算法的并行處理[14~17]。這些研究成果雖然涉及了多密鑰多數據加解密以及單一密鑰多數據流加解密操作的技術,但是均未涉及不同業務作業流間存在隨機交叉加解密請求狀況的處理,且未考慮依賴數據的處理。

許多研究者在操作系統層面對異構多核處理器下的任務調度算法進行了研究[18,19],文獻[20]通過對嵌入式流媒體中數據相關任務建模,采用無環靜態數據流(CSDF)模型,實現了周期性任務的硬件調度。還有一些研究采用多任務調度算法實現任務在FPGA平臺上的分配,通過FPGA的可重構特性,實現對FPGA資源的有效利用,從而達到計算靈活性和高速性的目的[21]。文獻[22]針對重構時出現的開銷問題,提出混合映射的調度技術,利用應用程序之間的關系來減少重構產生的開銷。由于在多處理器上進行任務的分配是一個典型的NP問題,無法在多項式時間內找到一個最優的任務分配方案,因此,一些研究者采用啟發式算法或全局優化技術,來尋找近似最優解。文獻[23]提出了一種可搶占式調度的硬件實現方法,通過掃描路徑上的寄存器結構,來暫停低優先級任務,啟動高優先級任務,設計實現了不影響其他任務執行的低優先級任務上下文保存和恢復電路。這些調度機制都是停留在理論仿真階段,并未提出與硬件架構相配合的調度算法。硬件調度算法不僅具有運算速度快的特點,而且可以大大降低軟件調度算法設計的復雜度。

因此,根據高并發數據的處理特點,本文提出了基于數據標識的分層硬件調度機制,通過構造具有特定標識的作業分組,采用專門的調度解析模塊進行作業分組的轉發,實現多個算法模塊間的并行運算,完成高并發多密鑰隨機交叉的密碼運算操作,提高了加解密效率。

3 問題描述

本文所研究的密碼系統包含有多種密碼算法,這里將不同的算法按簇進行劃分,每種算法對應一個或多個能并行處理的IP核,稱為一個算法簇。若系統可以實現p種算法處理,ipik表示實現算法sj(1≤j≤p)的第k個處理單元,mj表示算法簇sj中的IP核數,即

不同的算法核對分組數據的處理速度可能不同。業務以作業分組的形式進入此多核密碼處理系統,密碼處理系統需要按照不同業務的不同處理需求將作業分組快速地分配至能進行對應密碼運算的處理節點上。由于來自不同應用請求的數據傳輸速度不同,因此,進入密碼處理系統的作業分組的先后順序不同,存在不同業務不同數據分組間的交叉現象。如圖1所示,Pia表示業務i的第a個作業分組,同一業務的2個連續作業分組Pia、Pi(a+1)間可能穿插有其他業務的作業分組。因此,在進行業務處理時,需要解決3個方面的問題。

1) 作業分組Pia的處理需求是什么,即要解決作業分組與處理節點間的映射關系。

2) 業務中間狀態的管理。這里稱同一業務最后一個作業分組之前的運算結果為中間狀態。在關聯業務的后序作業分組Pi(a+1)到來之前,Pia的運算結果Cia作為后續作業分組的中間狀態如何保存以及在后序作業分組Pi(a+1)到來之后,如何獲取中間狀態值Cia。

3) 若同一業務的作業分組間存在迭代關系,在前序作業分組未處理完之前,為保證系統處理的速度和系統入口作業流的不間斷,流水到來的后序作業分組如何處理。

圖1 不同業務流對多種密碼算法模塊的隨機交叉訪問

因此,為便于系統的正確處理,需要對進入系統的作業分組進行歸一化處理,使作業分組帶有算法、運算類型、算法工作模式等數據標識,此處將作業分組設定為

其中,taski表示業務號,用來標識數據的來源,對數據的處理沒有影響,但是決定著數據的正確返回;cmdi為處理命令,決定對數據的具體操作,如加密、解密、簽名、驗簽等;cypi為密碼算法模塊ID號,決定數據的處理節點;modei為密碼算法工作模式,決定對密碼算法處理節點入口數據的處理。對于ECB模式,可以將數據直接送入算法處理節點,而對于CBC模式,則需要將數據與同一個業務的前一組數據的運算結果進行異或后,再送入算法處理節點。No.為作業分組的序號,long為作業分組中運算數據的長度;dia為運算數據。

4 分層調度機制

上述的3個問題,實際上都可以歸結為調度問題,即作業分組在算法IP核的分配、分配的時機以及分配時數據分組的預處理。為了保證對業務流的快速處理,系統設計采用兩級調度機制,第一級調度完成作業分組與算法模塊處理節點間的映射,第二級調度根據作業分組間的依賴關系決定作業分組的調度順序,并獲取正確的密碼算法模塊入口數據。

調度模型如圖2所示,其中,schedule1為第一級調度模塊,根據cypi完成作業分組數據送入對應的算法模塊簇;schedule2為第二級調度模塊,根據modei獲取正確的算法入口數據,送入IP核入口隊列。IP為粗粒度實現的密碼算法運算模塊,feedback為反饋模塊。每個模塊有自己的入口和出口隊列,其中,pre_queue為預處理隊列,IP_queue為IP核入口隊列,post_queue為處理后隊列。系統總的入口隊列接收隨機交叉流入的不同業務數據,入口隊列由所有的IP核共享,出口隊列的數據被分配至不同的CPU進程。此架構采用作業級并行JLP(job-level parallelism)的粗粒度并行方式[8],各模塊間采用分段總線互連的方式。由于所有的數據處理模塊均有自己的本地緩沖隊列,可以獨立運行,從而克服了存儲器間的競爭,實現了同一業務多個作業分組的同時處理,避免資源約束造成的作業流處理時滯和效率問題;同時增加算法IP核不會對其他操作造成影響,便于進行系統的線性擴展。

在這種調度方式下,cypi的設計如圖2所示,其中,高m位表示簇號,低n位表示簇內的算法處理節點號。

4.1 第一級調度

第一級調度由schedule1模塊完成,算法調度模塊schedule1提取input_queue中的數據,通過對作業分組cypi的解析,獲取算法類型,將數據分發至相應算法的預處理隊列實現數據的分流,保證作業分組與算法間映射的正確性。若作業分組中表示運算數據長度的標識long以字節為單位,系統中的分段總線寬度為wbit,則除分組頭外,運算數據的讀取至少需要個時鐘。調度算法如下。

1) 若input_queue隊列非空,則從input_queue中讀取作業分組頭數據。

2) 對分組頭數據進行解析,獲取處理節點簇號cluster_id和作業分組長度數據。

3) 根據cluster_id檢索預處理隊列索引表,并將分組頭數據送對應的預處理隊列;否則,cluster_id為非法的算法簇號,數據送ERROR_FIFO。

4) 若長度計數器中的值與長度寄存器中的值不同,則input_queue中的數據送pre_queue;否則,進入步驟6)。

6) 返回步驟1)。

在此調度算法中,除步驟3)外,其余的步驟都可在單個時鐘完成。而步驟3)根據抽取的cluster_id進行數據的分轉,若系統中的算法類型共有n種,則預處理隊列索引表的長度為n,軟件遍歷的方式最多需要耗費n個時鐘,大大影響數據傳輸的效率?;谏⒘械臋z索方式,由于存在沖突碰撞現象,也存在效率不高的問題。這里考慮硬件解決方案,由于作業分組對密碼算法的請求具有唯一性,因此,cluster_id至多只能與pre_queue索引表中的一個表項一致,多于一個表項相同的現象是不可能存在的,可以將其作為無關項對邏輯操作進行優化。假設cluster_id=x,pre_queue索引表中共有3個索引項a、b、c,“^”表示異或操作,“|”表示邏輯或操作,y表示x與哪個索引項匹配,則x與a、b、c之間的關系只能有如表1所示的4種情況。

圖2 多核并行流水線密碼處理調度模型

表1 簇索引查找真值

根據y值可以快速地將數據分轉至不同的簇隊列pre_queue中。分簇調度的方式,使調度時的對比位數有效減少,平均減少為原位數的,若系統共實現8種密碼算法,每種密碼算法有8個處理節點,共64個處理節點,若采用一級調度的方式,則索引項的位寬為6,而采用兩級調度的方式,在處理節點的分配上,每級索引項的位寬為3 bit,提高了以4輸入查找表為單元的FPGA布局的靈活性,同時,此種硬件檢索比較邏輯可以使索引表的時間復雜度降為O(1),沒有碰撞沖突,且不影響系統的工作頻率,很好地解決了數據分轉調度效率低的問題。

4.2 第二級調度

第二級調度是保證交叉訪問正確性的關鍵環節,由pre_process模塊完成,通過對作業分組工作狀態的判斷,確定作業分組調度的時間順序,并獲得算法模塊的輸入數據。由于輸入隊列業務間的隨機交叉性和IP核間的異構性,不能保證具有上下文相關的作業分組在進行處理時,其前序作業分組已處理完。假設pre_queue的作業分組序列為{P11,P21,P31,P12,P22},如表2所示,IP核內密碼算法的處理采用流水線的方式。

表2 預處理隊列作業分組序列

如圖3所示,在圖3(a)中,由于不同業務的作業分組間相互獨立,節點對數據的處理采用流水線的方式,P11、P21、P31這3個業務流的第一個作業分組依次從pre_queue中輸出,進入對應的處理節點。由于P11的工作模式為CBC,作業分組間存在迭代關系,后序作業分組P12的處理必須等到P11運算結果輸出的時刻才能進行,從而阻滯了P22的讀取。如果能將P12旁路掉,在P11運算完成后再取出,則可以在保證正確性的前提下,加速后序其他業務作業分組的處理,如圖3(b)所示。因此,本系統在架構中針對每一個算法簇在預處理模塊前端增加關聯控制模塊和關聯隊列(relate_queue),如圖4所示。

圖3 作業分組在處理節點上的分配

1) 關聯控制模塊

關聯控制模塊通過維護關聯ID表,實現對關聯作業分組調度次序的控制。關聯ID表為正在進行處理的關聯任務作業分組的索引表,這里以關聯作業分組的ID號taski為索引項。

① 關聯ID表項的追加:任何一個進入預處理模塊(IP_CTRL)的關聯作業分組,都要將其ID號存入關聯ID表。

② 關聯ID表項的刪除:任何一個從算法運算模塊輸出的關聯作業分組,都要通過req信號通知關聯控制模塊,關聯控制模塊通過提取此作業分組的taski,并與關聯ID表中的ID號進行對比,若相同,則將此ID號從關聯ID表中刪除。

2) 關聯隊列

關聯隊列用于保存正在進行運算的關聯作業分組的后續作業分組,保證后續作業分組的正常讀取。

① 關聯隊列的輸入:當預處理隊列非空時,關聯控制模塊從預處理隊列中提取作業分組頭,首先根據modei是否為CBC|OFB|CFB,判斷此作業是否為依賴作業;其次,提取依賴作業的ID號taski,與關聯ID表中的ID號進行對比,若相同,則啟動關聯控制開關s1,將此作業分組放入關聯隊列中;否則,將此作業分組送入預處理模塊。

圖4 第二級調度模塊內部邏輯

② 關聯隊列的輸出:每個IP模塊在運算完一個關聯作業分組后,都會向關聯控制模塊輸出一個req信號以及作業分組的ID號。關聯控制模塊接收此ID號,并對關聯ID表進行遍歷查詢,若存在相同的ID號,控制關聯選擇開關s2將此ID號對應的作業分組從關聯隊列送入cypi指定的預處理模塊;否則,丟棄此ID號。

第二級調度算法如下。

1) 若pre_queue非空,則關聯控制模塊從pre_queue中讀取作業分組頭數據。

2) 關聯控制模塊對分組頭數據進行解析,獲取inter_ipid號、作業分組長度和算法工作模式。若modei=ECB,則同一業務不同作業分組間沒有關聯關系,控制選擇開關s1將數據送data_reg;若modei為CBC|OFB|CFB,則此作業分組為關聯作業分組,將taski與關聯ID表進行對比,若存在相同的ID號,則控制選擇開關s1將數據送relate_queue;否則,此作業分組為關聯任務的第一個作業分組,數據送data_reg,同時,將此作業分組的taski追加至關聯ID表中。

3) 若關聯控制模塊沒有收到req請求,則選擇開關s2根據請求的inter_ipid號將data_reg中的數據送入IP_CTRL模塊進行運算前的準備;否則s2模塊根據請求的inter_ipid號,從relate_queue中選取具有相同taski的作業分組送入IP_CTRL模塊。

4) 預處理模塊為算法的運算做準備,用于獲取IP核運算需要的數據,包括key和IV,并將數據送密碼算法入口隊列。

兩級調度算法保證了具有上下文相關的作業分組處理時的正確性,同時,其他業務的作業分組可以在某個關聯業務作業分組的流水處理過程中,進入流水處理階段,實現了數據處理的不斷線。

5 中間狀態管理

在不同業務流的作業分組隨機交叉下傳的過程中,不能保證同一業務作業分組的連續性,也不能保證關聯業務的后序作業分組Pi(a+1)恰好出現在Pia運算完成時,因此,必須將其運算結果Cia暫存起來,以備后序作業分組到來時使用??紤]到數據傳輸的可靠性,這里,對所有業務的中間狀態均進行保存,在系統中增加密鑰和中間狀態寄存器KSM,用于保存各作業分組的密鑰以及不同作業分組運算過程中生成的中間狀態數據。如圖5所示,為了保證密鑰、中間狀態與作業分組間的對應關系,以業務唯一標識號taski為指針,進行密鑰、中間狀態的存儲與獲取。算法處理模塊IP在輸出運算結果的同時,將運算結果連同其密鑰key一起以taski為存儲地址存入KSM中,即每個業務流有唯一的KSM地址,從而保證中間狀態數據提取的正確性。作業分組在進入算法處理隊列IP_queue前,算法預處理模塊首先根據作業分組頭中的taski獲取本作業分組需要的key和中間狀態,并根據運算模式modei獲得正確的算法模塊入口數據。

在這種處理方式下,由于數據的調度順序,入口數據與初始向量間的運算都已在數據進入算法模塊入口隊列之前完成,所以算法模塊的功能相對單一,僅僅專注于密碼運算,所以可以方便地進行模塊的線性擴展。同時,這種設置降低了傳輸過程中因意外或出錯導致的上下文相關的數據運算的重傳量。如若某業務的第i分組數據在傳輸時發生了錯誤,由于第i–1分組數據已正確傳輸,且運算結果保存在KSM中,所以不需要對整個業務作業流進行重傳,只需要從第i分組開始重傳即可。每個作業分組根據其ID號,即可獲知運算的密鑰,并自動切換至其前序作業分組的加解密狀態,保證了上下文相關的作業分組間數據的正確性,避免數據傳輸延遲,實現數據、密鑰、中間狀態間的同步,提高了業務處理的快速性。

圖5 算法中間狀態的處理

6 性能分析及原型測試

6.1 性能分析

第一級調度通過cluster_id與簇索引表的對比獲得作業分組與處理節點間的映射關系,采用硬件的實現方式,可以實現時間復雜度為O(1)的檢索速度,用t1表示第一級的調度時間。第二級調度的預處理包括2個環節,關聯判斷、入口數據獲取,其處理時間分別用t21、t22表示。若系統中共包含4種密碼算法,共8個算法IP核,其中,每種密碼算法實現有2個IP核,每種算法的處理時間依次用t31、t32、t33、t34表示,反饋時間用t4表示。若t1=1,t21=1,t22=2,t31=18,t32=32,t33=16,t34=64,t4=3,請求密碼處理的業務固定為100個,隨機生成分屬于100個業務的不同個數的作業分組,對作業流的調度時間與輪詢調度(RR,round-robin)進行對比分析,結果如圖6所示。

圖6 4×2算法IP核下調度算法性能對比

由圖6可知,隨著隨機交叉進入系統的作業分組的數量增多,調度時間的減少呈增大趨勢,圖7所示為4種共16個算法IP核在同樣的作業流條件下與8個算法性能比較的仿真測試結果,可見隨著處理節點的增多,總的調度時間呈倍數減少。

圖7 4×4與4×2算法IP核下調度算法性能對比

圖8 兩級調度仿真結果

6.2 實現及測試

為驗證調度方法的正確性,本文采用Verilog語言在Xilinx XC7K325t FPGA上對上述調度算法進行了設計實現,并通過在FPGA上實現不同數量的算法IP核,對處理速度進行了測試。圖8給出了2個SM2、2個SM3和1個SM4算法核情況下,業務數據以隨機交叉的方式進入系統時的兩級調度仿真結果,其中,a_od2_fifo_wr、b_od2_fifo_wr為2個SM2算法模塊的入口FIFO寫信號,a_od2_stb_en、b_od2_stb_en為作業分組寫完成信號,od3_fifo_wr、od4_fifo_wr分別為SM3、SM4算法模塊的入口FIFO寫信號,od3_stb_en、od4_stb_en為對應算法模塊作業分組寫完成信號,從圖8可以看出此方案實現了對不同業務、不同長度作業分組的正確調度。

在原型系統下對系統處理數據的速度進行測試,圖9所示為采用2個和3個SM2核,線程數分別為32、64、128和256時簽名、驗簽的速度。

圖9 算法核和線程數量不同時SM2簽名、驗簽速率

測試證明當采用2個SM2核時,SM2的簽名速度可以到達每秒14 000次以上。Safenet公司的高性能硬件安全模塊(HSM):Luna PCI-E 7 000每秒可執行7 000次RSA 1 024位交易,本設計下的簽名達到其2倍以上的運算速度,并且在某一算法處理節點數量不變的情況下,改變處理線程數,作業流的處理速度不受影響。當增加算法的處理節點數量時,業務流的處理速度近似線性增加。

圖10為采用不同的線程數下發相同數據量的作業流進行SM4加密處理時吞吐率,可以看出隨著線程數的增加,SM4算法的處理速度有所增長,由于在相同數據量的前提下,線程數的增多,意味著相互獨立的任務數增多,關聯檢索操作相應減少,從而提高了數據處理的吞吐率。文獻[18]采用6個IP核在FPGA上實現AES算法,時鐘頻率為177.9 MHz,處理速度為5.6 Gbit/s。本文在作業流隨機交叉加解密的情況下SM4算法的實現速度是其1.2倍以上。

當在FPGA上實現的算法核的種類和個數分別為3SM2+2SM3+SM4時,LUT的占用率為43%,Registers的占用率為24%,Logic Distribution的占用率為66%,RAM的占用率為78%,系統能夠實現的最高工作頻率為175 MHz,總功耗為4.927 W。

圖10 相同數據量、不同線程數下SM4加密處理速度

7 結束語

本文設計的多密碼算法隨機作業流硬件調度方法相對于軟件調度算法具有調度速度快的優勢,能夠實時地根據底層密碼模塊的運算速度進行作業流的調度,保證了密碼模塊服務的高效性,同時簡化了上層應用程序的處理。根據特定的作業分組業務標識,兩級調度機制以流水線的方式保證了密碼服務設備入口數據流的高速不阻塞輸入。關聯控制和中間狀態管理模塊的引入保證了入口數據流高速接收前提下不同工作模式數據的正確調度,從而滿足了多算法、多IP核、多作業流隨機交叉情況下的密碼服務需求,解決了單一芯片支持多算法、多IP核的并行運算的高并發處理問題。采用此調度方法實現面向云計算的高性能綜合密碼系統,其中,多核加解密的實現采用Xilinx XC7K325t FPGA,在單芯片的情況下,可以支持4 900萬個密碼線程和35億個并發應用,SM4加解密性能達到6.4 Gbit/s、SM3雜湊性能達到1.1 Gbit/s、SM2簽名速率達到10 000次/秒以上、SM2驗簽速率達到2 700次/秒。

參考文獻:

[1]王蕾,崔慧敏,陳莉,等.任務并行編程模型研究與進展[J].軟件學報,2013,24(1):77-90.WANG L,CUI H M,CHEN L,et al.Research on task parallel programming model[J].Journal of Software,2013,24(1):77-90.

[2]SEOG C S,JUNG H P,DONG H L,et al.An efficient implementation of KCDSA on graphic processing units[C]//2011 Fifth FTRA International Conference on Multimedia and Ubiquitous Engineering.2011:167-172.

[3]QIU C,LU Y Q,GAO P D,et al.A parallel bulk loading algorithm for m-tree on multi-core CPU[C]//2010 Third International Joint Conference on Computational Science and Optimization.2010:300-303.

[4]SATOH A.High-speed parallel hardware architecture for galois counter mode[C]//2007 IEEE International Symposium on Circuits and Systems.2007:1863-1866.

[5]WU F,WANG L,WAN J G.A low cost and inner-round pipelined design of ECB-AES-256 crypto engine for solid state disk[C]//2010 IEEE Fifth International Conference on Networking,Architecture,and Storage.2010:485-491.

[6]LARA P,BORGES F,PORTUGAL R,et al.Parallel modular exponentiation using load balancing without precomputation[J].Journal of Computer &System Sciences,2012,78(2):575-582.

[7]AMINI E,JEDDI Z,BAYAYOUMI M.A high-throughput ECC architecture[C]//2012 19th IEEE International Conference on Electronics,Circuits,and Systems.2012:901-904.

[8]MOZAFFARI K M,REYHANI M A.Efficient and high-performance parallel hardware architectures for the AES-GCM[J].IEEE Transactions on Computers,2012,61(8):1165-1178.

[9]ZHANG K,HU J Y,HUA B.A holistic approach to build real-time stream processing system with GPU[J].Journal of Parallel and Distributed Computing,2015,83:44-57.

[10]HAYWARD R,CHIANG C C.Parallelizing fully homomorphic encryption[C]//2014 International Symposium on Computer,Consumer and Control.2014:721-724.

[11]HAYWARD R,CHIANG C C.An architecture for parallelizing fully homomorphic cryptography on cloud[C]//2013 Seventh International Conference on Complex,Intelligent,and Software Intensive Systems.2013:72-77.

[12]李鳳華.分布式信息系統安全的理論與關鍵技術研究[D].西安電子科技大學,2009.LI F H.Theory and key technologies for the security in distributed information systems[D].Xidian University,2009.

[13]HUANG W,HAN J,WANG S A,et al.A low-complexity heterogeneous multi-core platform for security soc[C]//2010 IEEE Asian Solid-State Circuits Conference.2010:1-4.

[14]LIU Q,XU Z,YUAN Y.High throughput and secure advanced encryption standard on field programmable gate array with fine pipelining and enhanced key expansion[J].IET Computers &Digital Techniques,2015,9(3):175-184.

[15]WANG M Y,SU C P,HORNG C L,et al.Single- and multi-core configurable AES architectures for flexible security[J].IEEE Transactions on Very Large Scale Integration Systems,2010,18(4):541-552.

[16]XIAO L,LI Y,RUAN L,et al.High performance implementation of aria encryption algorithm on graphics processing units[C]//IEEE International Conference on High Performance Computing &Communications &IEEE International Conference on Embedded &Ubiquitous Computing.2013:504 - 510.

[17]方躍堅,沈晴霓,吳中海.一種超橢圓曲線密碼處理器并行結構設計[J].計算機研究與發展,2013,11:2383-2388.FANG Y J,SHEN Q N,WU Z H.A parallel architecture for FPGA based hyperelliptic curve cryptoprocessor[J].Journal of Computer Research and Development,2013,50(11):2383-2388.

[18]XUAN K D,LOUISE S,COHEN A.Managing the latency of data-dependent tasks in embedded streaming applications[C]//2015 IEEE 9th International Symposium on Embedded Multicore/Many-core Systems-on-Chip.2015:9-16.

[19]CHEN W,FEKETE K,YOUNG C L.Exploiting deadline flexibility in Grid workflow rescheduling[C]//2010 11th IEEE/ACM International Conference on Grid Computing.2010:105-112.

[20]SPASIC J,LIU D,CANELLA E,et al.Improved hard real-time scheduling of CSDF-modeled streaming applications[C]//2015 International Conference on Hardware/Software Codesign and System Synthesis.2015:65-74.

[21]BAMAKHRAMA M,STEFANOY T.Hard-real-time scheduling of data-dependent tasks in embedded streaming applications[C]//The Ninth ACM International Conference on Embedded Software.2011:195-204.

[22]CLEMENTE J A,RANA V,SCIUTO D,et al.A hybrid mapping-scheduling technique for dynamically reconfigurable hardware[C]//2011 21st International Conference on Field Programmable Logic and Applications.2011:177-180.

[23]JOVANOVIC S,TANOUGAST C,WEBER S.A hardware preemptive multitasking mechanism based on scan-path register structure for FPGA-based reconfigurable systems[C]//Second NASA/ESA Conference on Adaptive Hardware and Systems.2007:358-364.

李莉(1974-),女,山東青島人,西安電子科技大學博士生,北京電子科技學院副教授、碩士生導師,主要研究方向為網絡與系統安全、嵌入式系統安全應用。

史國振(1974-),男,河南濟源人,博士,北京電子科技學院副教授、碩士生導師,主要研究方向為網絡與系統安全、嵌入式安全。

耿魁(1989-),男,湖北紅安人,博士,中國科學院信息工程研究所助理研究員,主要研究方向為網絡安全。

董秀剛(1976-),男,山東莒縣人,北京電子科技學院講師,主要研究方向為信息安全、密碼工程實現。

王璇(1991-),女,山東菏澤人,西安電子科技大學碩士生,主要研究方向為多核調度。

李鳳華(1966-),男,湖北浠水人,博士,中國科學院信息工程研究所副總工程師、研究員、博士生導師,主要研究方向為網絡與系統安全、隱私計算、可信計算。

Stochastic job stream scheduling method for cipher chip with multi-cryptography

LI Li1,2,SHI Guo-zhen3,GENG Kui4,DONG Xiu-ze2,WANG Xuan1,LI Feng-hua4
(1.College of Communication Engineering,Xidian University,Xi'an 710071,China;2.Department of Electronic and Information Engineering,Beijing Electronics Science and Technology Institute,Beijing 100070,China;3.Department of Information Security,Beijing Electronic Science and Technology Institute,Beijing 100070,China;4.State Key Laboratory of Information Security,Institute of Information Engineering,CAS,Beijing 100093,China)

Aiming at the rich of safety requirements of tasks which resulting in random cross access to multi cipher algorithms,a hierarchical hardware scheduling method was presented with associated control based on data identification.The first level was responsible for distributing tasks to different cipher clusters,and by optimizing the search logic to achieve rapid distribution of data.The second level was responsible for completing the context-related tasks in scheduling order by adding an association control module and association queues.Intermediate state storage module realized the saving of the intermediate state in serial cipher algorithm modes,which was indexed by task ID.Pre-processing module process data inputted by the succeeding tasks.It is proved that the proposed scheduling algorithm solves the problem of random cross encryption and decryption in many-to-many communication model of high-speed data stream.

cross encryption and decryption,job stream scheduling,multi-cryptography,cipher chip,hardware scheduling

s:The National Key Research and Development Project (No.2016YFB0800304),The Natural Science Foundation of Beijing (No.4152048),The Major Science and Technology Project of Press and Publication (No.1681300000119)

TP393.2

A

10.11959/j.issn.1000-436x.2016275

2016-08-29;

2016-10-25

李鳳華,lfh@iie.ac.cn

國家重點研發計劃基金資助項目(No.2016YFB0800304);北京市自然科學基金資助項目(No.4152048);新聞出版重大科技工程基金資助項目(No.1681300000119)

猜你喜歡
關聯作業
讓人羨慕嫉妒恨的“作業人”
不懼于新,不困于形——一道函數“關聯”題的剖析與拓展
“苦”的關聯
當代陜西(2021年17期)2021-11-06 03:21:36
作業聯盟
學生天地(2020年17期)2020-08-25 09:28:54
快來寫作業
“一帶一路”遞進,關聯民生更緊
當代陜西(2019年15期)2019-09-02 01:52:00
奇趣搭配
智趣
讀者(2017年5期)2017-02-15 18:04:18
作業
故事大王(2016年7期)2016-09-22 17:30:08
我想要自由
主站蜘蛛池模板: 亚洲国产日韩视频观看| 丁香六月激情婷婷| 三上悠亚一区二区| 成人免费一级片| 国产乱子伦一区二区=| 在线观看精品自拍视频| 日韩东京热无码人妻| 欧洲免费精品视频在线| 一本久道久久综合多人| 2021精品国产自在现线看| 在线免费亚洲无码视频| 国产极品嫩模在线观看91| 国产午夜福利在线小视频| 亚洲国产理论片在线播放| 国产丰满成熟女性性满足视频| 国产一区免费在线观看| 亚洲无码熟妇人妻AV在线| av午夜福利一片免费看| 国产91在线免费视频| 大香伊人久久| 亚洲愉拍一区二区精品| 国产亚洲精品97AA片在线播放| 久久香蕉国产线看观| 伊人大杳蕉中文无码| 久久福利网| 欧美黄网站免费观看| 99热国产这里只有精品9九| 综1合AV在线播放| 亚洲国产日韩在线成人蜜芽| 国产精品综合久久久| 午夜限制老子影院888| 欧美一区中文字幕| 99中文字幕亚洲一区二区| 制服无码网站| 色一情一乱一伦一区二区三区小说 | 在线亚洲精品自拍| 97超级碰碰碰碰精品| 精品国产黑色丝袜高跟鞋| 亚洲精品在线影院| 91黄色在线观看| 色综合热无码热国产| 国产在线视频导航| 亚洲欧美日韩色图| 国产精女同一区二区三区久| 国产尤物在线播放| 国产人前露出系列视频| 99热这里只有精品免费国产| 亚洲精品色AV无码看| 无码专区第一页| 成人永久免费A∨一级在线播放| 国产亚洲高清在线精品99| 国产精品久久久久久久久久久久| 久视频免费精品6| 狠狠色狠狠综合久久| 片在线无码观看| 欧美日在线观看| vvvv98国产成人综合青青| 亚洲男女在线| 亚洲熟女偷拍| 99在线观看免费视频| 国产日韩欧美黄色片免费观看| 呦女亚洲一区精品| 亚洲大学生视频在线播放| 一级做a爰片久久毛片毛片| 欧美成人看片一区二区三区| 在线免费不卡视频| 性色一区| 福利国产微拍广场一区视频在线| 免费一级毛片在线播放傲雪网| 婷婷中文在线| 日韩麻豆小视频| 国产成人亚洲无码淙合青草| 欧美不卡二区| 亚洲欧美不卡| 婷婷丁香在线观看| 福利在线不卡一区| 综合色在线| 亚洲中文字幕在线精品一区| 欧美视频在线第一页| 朝桐光一区二区| 免费看a级毛片| 久久亚洲国产视频|