一種硬件加速器的制造方法
【專利摘要】本發(fā)明涉及一種硬件加速器,該硬件加速器包括:數(shù)據(jù)收發(fā)接口,用于接收或發(fā)送數(shù)據(jù);算法處理單元,與所述數(shù)據(jù)收發(fā)接口連接,用于實(shí)現(xiàn)數(shù)據(jù)的加解密和完整性保護(hù);DMA請(qǐng)求/響應(yīng)單元,用于向DMA發(fā)送數(shù)據(jù)的接收或發(fā)送請(qǐng)求。本發(fā)明通過系統(tǒng)DMA參與數(shù)據(jù)的加解密和完整性保護(hù),提高了數(shù)據(jù)處理效率,并通過算法處理單元實(shí)現(xiàn)了數(shù)據(jù)加解密和完整性保護(hù)流水化處理,進(jìn)一步提高了硬件加速器的處理效率。
【專利說明】一種硬件加速器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及集成電路技術(shù),尤其涉及一種用于實(shí)現(xiàn)數(shù)據(jù)加解密和完整性保護(hù)的硬件加速器。
【背景技術(shù)】
[0002]對(duì)于LTE(Long Term Evolution,長(zhǎng)期演進(jìn))系統(tǒng)而言,安全性包括接入層(Access Stratum,簡(jiǎn)稱AS)和非接入層(Non-Access Stratum,簡(jiǎn)稱,NAS)兩個(gè)層次,而接入層安全性相對(duì)而言更加重要。接入層的安全性是通過加解密算法和完整性保護(hù)算法來實(shí)現(xiàn)。
[0003]現(xiàn)有技術(shù)的加解密算法和完整性保護(hù)算法由于采用純軟件來實(shí)現(xiàn),且加解密算法和完整性保護(hù)算法不能實(shí)現(xiàn)數(shù)據(jù)的流水化處理,降低了數(shù)據(jù)的處理效率。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種高性能流水化處理的數(shù)據(jù)加解密和完整性保護(hù)的硬件加速器。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種硬件加速器,該硬件加速器包括:
[0006]數(shù)據(jù)收發(fā)接口,用于接收或發(fā)送數(shù)據(jù);算法處理單元,與所述數(shù)據(jù)收發(fā)接口連接,用于實(shí)現(xiàn)數(shù)據(jù)的加解密和完整性保護(hù);DMA請(qǐng)求/響應(yīng)單元,用于向DMA發(fā)送數(shù)據(jù)的接收或發(fā)送請(qǐng)求。
[0007]本發(fā)明通過系統(tǒng)DMA參與數(shù)據(jù)的加解密和完整性保護(hù),提高了數(shù)據(jù)處理效率,并通過算法處理單元實(shí)現(xiàn)了數(shù)據(jù)加解密和完整性保護(hù)流水化處理,進(jìn)一步提高了硬件加速器的數(shù)據(jù)處理效率。
【專利附圖】
【附圖說明】
[0008]圖1為本發(fā)明實(shí)施例提供的一種硬件加速器結(jié)構(gòu)示意圖;
[0009]圖2為本發(fā)明實(shí)施例提供的另一種硬件加速器結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0010]下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
[0011]圖1為本發(fā)明實(shí)施例提供的一種硬件加速器結(jié)構(gòu)示意圖。如圖1所示,該硬件加速器包括數(shù)據(jù)收發(fā)接口 10、算法處理單元20、DMA請(qǐng)求/響應(yīng)單元30、寄存器配置單元40、第一存儲(chǔ)器50、第二存儲(chǔ)器60、以及中斷控制器70。
[0012]數(shù)據(jù)收發(fā)接口 10 —輸入端與第二存儲(chǔ)器60的一輸出端連接,一輸出端分別與第一存儲(chǔ)器50的一輸入端和寄存器配置單元40的一輸入端連接。數(shù)據(jù)收發(fā)接口 10對(duì)外連接AHB總線80,可以在系統(tǒng)DMA92的控制下通過AHB總線80接收或發(fā)送需要進(jìn)行加解密和完整性保護(hù)的數(shù)據(jù),并進(jìn)行緩存。例如,數(shù)據(jù)收發(fā)接口 10通過AHB總線80從存儲(chǔ)器91接收下行數(shù)據(jù),并緩存到第一存儲(chǔ)器50 ;或從第二存儲(chǔ)器接收己經(jīng)經(jīng)過加密和完整性保護(hù)的上行數(shù)據(jù),并通過AHB總線80向存儲(chǔ)器91發(fā)送該上行數(shù)據(jù)。
[0013]算法處理單元20與第一存儲(chǔ)器50、第二存儲(chǔ)器60、寄存器配置單元40、以及中斷控制單元70連接。算法處理單元20用于實(shí)現(xiàn)上行數(shù)據(jù)的加密或下行數(shù)據(jù)的解密,以及完整性保護(hù)處理。例如,對(duì)第一存儲(chǔ)器50緩存的下行數(shù)據(jù)進(jìn)行解密和完整性保護(hù)處理,并將解密和完整性保護(hù)處理后的下行數(shù)據(jù)發(fā)送到第二存儲(chǔ)器60 ;或?qū)Φ谝淮鎯?chǔ)器50緩存的上行數(shù)據(jù)進(jìn)行加密和完整性保護(hù)處理,并將加密和完整性保護(hù)處理后的上行數(shù)據(jù)發(fā)送到第二存儲(chǔ)器60。
[0014]DMA請(qǐng)求/響應(yīng)單元30 —輸入端分別與第一存儲(chǔ)器50的輸出端和第二存儲(chǔ)器60的輸出端連接。DMA請(qǐng)求/響應(yīng)單元30外接系統(tǒng)DMA92,通過DMA92發(fā)送數(shù)據(jù)的接收或發(fā)送請(qǐng)求。另外,DMA請(qǐng)求/響應(yīng)單元30還通過第一存儲(chǔ)器50或第二存儲(chǔ)器60預(yù)先設(shè)置的水標(biāo)判斷是否向系統(tǒng)DMA92發(fā)送數(shù)據(jù)的接收或發(fā)送請(qǐng)求。
[0015]寄存器配置單元40用于設(shè)置硬件加速器的工作模式以及配置相應(yīng)地參數(shù),如控制參數(shù)和算法參數(shù)。本發(fā)明實(shí)施例硬件加速器可實(shí)現(xiàn)兩種工作模式,即DMA工作模式和寄存器工作模式。通過設(shè)置寄存器配置單元40來選擇DMA工作模式或寄存器工作模式,當(dāng)選擇DMA工作模式時(shí),由系統(tǒng)DMA控制完成上行數(shù)據(jù)或下行數(shù)據(jù)的傳輸;當(dāng)選擇寄存器工作模式時(shí),則由處理器90配置寄存器實(shí)現(xiàn)上行數(shù)據(jù)和下行數(shù)據(jù)的傳輸。
[0016]中斷控制器70對(duì)內(nèi)連接算法處理單元20,對(duì)外連接處理器90。中斷控制器70用于發(fā)送由算法處理單元20產(chǎn)生的中斷信號(hào),并向處理器90發(fā)送中斷請(qǐng)求。
[0017]以下針對(duì)本發(fā)明實(shí)施例硬件加速器在DMA工作模式下的工作過程進(jìn)行描述:
[0018]硬件加速器首先通過DMA請(qǐng)求/響應(yīng)單元30向系統(tǒng)DMA92發(fā)送數(shù)據(jù)接收請(qǐng)求,系統(tǒng)DMA92則通過AHB總線80將存儲(chǔ)器91中的數(shù)據(jù)搬運(yùn)到硬件加速器,硬件加速器再通過數(shù)據(jù)收發(fā)接口 10接收數(shù)據(jù),并將接收的數(shù)據(jù)緩存到第一存儲(chǔ)器50,再由算法處理單元20接收第一存儲(chǔ)器50緩存的數(shù)據(jù),針對(duì)該數(shù)據(jù)進(jìn)行加密解密和完整性保護(hù)處理,處理后的數(shù)據(jù)則發(fā)送到第二存儲(chǔ)器60,當(dāng)?shù)诙鎯?chǔ)器60所緩存的數(shù)據(jù)達(dá)到預(yù)設(shè)水標(biāo)時(shí),則通過DMA請(qǐng)求/響應(yīng)單元30向系統(tǒng)DMA92發(fā)送數(shù)據(jù)發(fā)送請(qǐng)求,系統(tǒng)DMA92再通過AHB總線80將第二存儲(chǔ)器60緩存的數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器91。
[0019]本發(fā)明實(shí)施例通過系統(tǒng)DMA參與數(shù)據(jù)的加解密和完整性保護(hù),提高了數(shù)據(jù)處理效率,并通過算法處理單元實(shí)現(xiàn)了數(shù)據(jù)加解密和完整性保護(hù)流水化處理,進(jìn)一步提高了硬件加速器的處理效率。
[0020]圖2為本發(fā)明實(shí)施例提供的另一種硬件加速器結(jié)構(gòu)示意圖。與圖1所示的硬件加速器的區(qū)別在于,圖2所示的硬件加速器的算法處理單元20包括上行鏈路控制器21、下行鏈路控制器22、完整性保護(hù)處理單元23、密鑰生成單元24、MAC控制器25、第三存儲(chǔ)器26和第四存儲(chǔ)器27。
[0021]完整性保護(hù)處理單元23的輸入端分別與第一存儲(chǔ)器50、第三存儲(chǔ)器26和寄存器配置單元40連接,其輸出端分別與上行鏈路控制器21和MAC控制器25連接。完整性保護(hù)處理單元23用于根據(jù)從第一存儲(chǔ)器50或第三存儲(chǔ)器26接收的數(shù)據(jù)和來自寄存器配置單元40預(yù)先設(shè)置的參數(shù)通過完整性保護(hù)算法,例如EIA算法生成32位MAC值。
[0022]密鑰生成單元24的輸入端與寄存器配置單元40連接,其輸出端與第四存儲(chǔ)器27連接。密鑰生成單元24用于根據(jù)寄存器配置單元40預(yù)先設(shè)置的參數(shù)通過密鑰生成算法,例如EEA算法生成密鑰流,并緩存到第四存儲(chǔ)器27。
[0023]上行鏈路控制器21的一輸入端與第一存儲(chǔ)器50連接,另一輸入端分別與完整性保護(hù)處理單元23和密鑰生成單元24連接,其輸出端與第二存儲(chǔ)器60連接。上行鏈路控制器21用于拼接上行數(shù)據(jù)和32位MAC值,并根據(jù)密鑰流進(jìn)行上行數(shù)據(jù)加密處理。
[0024]下行鏈路控制器22的一輸入端與第一存儲(chǔ)器連接,另一輸入端與密鑰生成單元24連接,其輸出端與MAC控制器25連接。下行鏈路控制器22用于根據(jù)密鑰流信息對(duì)接收的下行數(shù)據(jù)進(jìn)行解密處理,并將解密處理后的下行數(shù)據(jù)緩存到第三存儲(chǔ)器。
[0025]MAC控制器25 —輸入端與第三存儲(chǔ)器26連接,另一輸入端與完整性保護(hù)處理單元23連接,其輸出端與第二存儲(chǔ)器60連接。MAC控制器25用于拼接來自第三存儲(chǔ)器26緩存的解密后的下行數(shù)據(jù)和由完整性保護(hù)處理單元23生成的32位MAC值,并將拼接后的數(shù)據(jù)通過第二存儲(chǔ)器60發(fā)送給數(shù)據(jù)收發(fā)接口 10。
[0026]本發(fā)明實(shí)施例如通過算法處理單元實(shí)現(xiàn)了數(shù)據(jù)加解密和完整性保護(hù)流水化處理,進(jìn)一步提高了硬件加速器的處理效率。
[0027]以上所述的【具體實(shí)施方式】,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的【具體實(shí)施方式】而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種硬件加速器,其特征在于包括: 數(shù)據(jù)收發(fā)接口,用于接收或發(fā)送數(shù)據(jù); 算法處理單元,與所述數(shù)據(jù)收發(fā)接口連接,用于實(shí)現(xiàn)數(shù)據(jù)的加解密和完整性保護(hù); DMA請(qǐng)求/響應(yīng)單元,用于向DMA發(fā)送數(shù)據(jù)的接收或發(fā)送請(qǐng)求。
2.根據(jù)權(quán)利要求1所述的硬件加速器,其特征在于還包括: 和所述數(shù)據(jù)收發(fā)接口 一輸出端連接的第一存儲(chǔ)器,用于緩存所述數(shù)據(jù)收發(fā)接口接收的數(shù)據(jù),以及 和所述算法處理單元一輸出端連接的第二存儲(chǔ)器,用于緩存所述算法處理單元處理后的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的硬件加速器,其特征在于,所述第一存儲(chǔ)器和所述第二存儲(chǔ)器分別設(shè)置水標(biāo),所述DMA請(qǐng)求/響應(yīng)單元根據(jù)所述水標(biāo)判斷是否向DMA發(fā)送數(shù)據(jù)的接收或發(fā)送請(qǐng)求。
4.根據(jù)權(quán)利要求1所述的硬件加速器,其特征在于還包括: 寄存器配置單元,與所述數(shù)據(jù)收發(fā)接口和所述算法處理單元連接,用于設(shè)置工作模式以及配置相應(yīng)地參數(shù),所述工作模式包括DMA工作模式和寄存工作模式,所述配置相應(yīng)地參數(shù)包括配置控制參數(shù)和算法參數(shù)。
5.根據(jù)權(quán)利要求1所述的硬件加速器,其特征在于還包括: 中斷控制器,與所述算法處理單元的另一輸出端連接,用于發(fā)送所述算法處理單元產(chǎn)生的中斷請(qǐng)求。
6.根據(jù)權(quán)利要求3所述的硬件加速器,其特征在于,所述算法處理單元包括: 完整性保護(hù)處理單元,用于生成MAC值; 密鑰生成單元,用于生成密鑰流。
7.根據(jù)權(quán)利要求6所述的硬件加速器,其特征在于,所述算法處理單元還包括: 上行鏈路控制器,一輸入端與所述第一存儲(chǔ)器連接,另一輸入端分別與所述完整性保護(hù)處理單元連接和所述密鑰生成單元連接,輸出端與所述第二存儲(chǔ)器連接,用于拼接來自所述第一存儲(chǔ)器存儲(chǔ)的上行數(shù)據(jù)和MAC值,并加密。
8.根據(jù)權(quán)利要求7所述的硬件加速器,其特征在于,所述算法處理單元還包括: 下行鏈路控制器;一輸入端與所述第一存儲(chǔ)器連接,另一輸入端與所述密鑰生成單元連接,輸出端與MAC控制器的輸入端連接,用于對(duì)接收的下行數(shù)據(jù)進(jìn)行解密。
9.根據(jù)權(quán)利要求8所述的硬件加速器,其特征在于,所述算法處理單元還包括: MAC控制器,一輸入端與所述下行鏈路控制器連接,另一輸入端與所述完整性保護(hù)處理單元連接,輸出端與所述第二存儲(chǔ)器連接,用于拼接和發(fā)送解密后的下行數(shù)據(jù)與MAC值。
10.根據(jù)權(quán)利要求9所述的硬件加速器,其特征在于,所述算法處理單元還包括: 第三存儲(chǔ)器,輸入端與所述下行鏈路控制器連接,輸出端與所述的MAC控制器和所述完整性保護(hù)處理單元連接,用于緩存下行解密后的數(shù)據(jù),以及向所述完整性保護(hù)處理單元輸出所述緩存的下行解密后的數(shù)據(jù);和/或 第四存儲(chǔ)器,輸出端與所述上行鏈路控制器和所述下行鏈路控制器連接,輸入端與所述密鑰生成單元連接,用于緩存密鑰流信息。
【文檔編號(hào)】G06F5/06GK103777918SQ201210396425
【公開日】2014年5月7日 申請(qǐng)日期:2012年10月18日 優(yōu)先權(quán)日:2012年10月18日
【發(fā)明者】陸棟, 范小崗, 楊鵬, 馮海強(qiáng) 申請(qǐng)人:蘇州簡(jiǎn)約納電子有限公司