亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

加密算法模塊加速器及其數(shù)據(jù)高速加解密方法

文檔序號:6465939閱讀:225來源:國知局
專利名稱:加密算法模塊加速器及其數(shù)據(jù)高速加解密方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式芯片技術(shù),尤其涉及嵌入式加密芯片的設(shè)計以及提高 加密芯片數(shù)據(jù)加密速度的方法。
背景技術(shù)
加密芯片中多會采用多種加密算法模塊來對數(shù)據(jù)進行加密,對于少量數(shù)
據(jù)的加密可以通過CPU的參與來調(diào)用相應(yīng)加密算法;漠塊,產(chǎn)生所需加密數(shù) 據(jù)。如果需要加密的數(shù)據(jù)量很大,仍然采用CPU參與的方式來加密數(shù)據(jù)就會 占用系統(tǒng)的大量時間和資源,比如,由CPU來參與加解密過程,其讀寫命令 必然要占用幾個時鐘周期的時間,而且在連續(xù)加解密過程中,CPU和總線的 資源也會被全部占用。如何提高數(shù)據(jù)流的處理速度來達到實際使用時對數(shù)據(jù) 流加解密的要求,這一問題是本發(fā)明研究的課題。

發(fā)明內(nèi)容
本發(fā)明提供一種加密算法模塊加速器及其數(shù)據(jù)高速加解密方法,其目的 是要通過設(shè)計加密算法模塊加速器的方案來提高系統(tǒng)的數(shù)據(jù)加密速度,盡量 少的占用系統(tǒng)CPU和總線資源,以克服現(xiàn)有技術(shù)的不足。
為達到上述目的,本發(fā)明加速器采用的技術(shù)方案是 一種加密算法模塊 加速器,包括
RAM,用于存儲原文數(shù)據(jù)以及經(jīng)過加密運算的加密數(shù)據(jù);
加密算法模塊組,由至少一種加密算法模塊組成,各加密算法模塊用于 對原文數(shù)據(jù)進行不同算法的加解密運算;
控制/狀態(tài)寄存器組,由控制寄存器和狀態(tài)寄存器組成,狀態(tài)寄存器用于 反映加密算法模塊加速器的狀態(tài)信息;控制寄存器用于定義以下內(nèi)容
1) 定義選擇何種加密算法模塊來進行加解密運算;
2) 定義加解密數(shù)據(jù)量;
3) 設(shè)置中斷配置;
4) 定義啟動加密算法模塊進行加密解運算的使能; 加密算法模塊控制器,用于控制被選擇加密算法模塊的加解密過程以及
控制RAM的地址和數(shù)據(jù)讀寫操作,在完成數(shù)據(jù)加解密之后,將中斷信號傳 送給中斷控制器;
所述加密算法模塊控制器分別與加密算法模塊組、RAM和控制/狀態(tài)寄存 器組雙向連接;RAM與系統(tǒng)總線或外圍總線雙向連接;控制/狀態(tài)寄存器組與系統(tǒng)總線或外圍總線雙向連接。
上述技術(shù)方案中的有關(guān)內(nèi)容解釋如下
1、 上述方案中,所述"雙向連接,,是指電信號可以在兩個方向流動的電 連接關(guān)系。RAM可以依據(jù)用戶實際使用定義其空間。
2、 上述方案中,加密算法模塊組可以選用多種加密算法模塊,對于不同 原文,通過對控制/狀態(tài)寄存器組的配置,選擇加密算法模塊組中相應(yīng)的加密 算法模塊進行數(shù)據(jù)的加解密。
3、 上述方案中,為了控制加解密的運算次數(shù),所述加密算法^t塊控制器 包含一個計數(shù)器,在對批量數(shù)據(jù)進行加解密運算時,通過判斷控制寄存器中 定義的加解密數(shù)據(jù)量來控制加解密的運算次數(shù)。
4、 上述方案中,所述加密算法模塊控制器包含數(shù)據(jù)緩存器,在對數(shù)據(jù)進 行加解密運算時,使用數(shù)據(jù)緩存器來預(yù)讀RAM中的數(shù)據(jù)以及存儲加密模塊 運算后的結(jié)果。
為達到上述目的,本發(fā)明方法采用的技術(shù)方案是 一種加密算法模塊加 速器的數(shù)據(jù)高速加解密方法,在上述加密算法模塊加速器基礎(chǔ)上,該方法包 括如下步驟
第一步,配置控制/狀態(tài)寄存器組中的控制寄存器,其中包括定義選擇何 種加密算法模塊來進行加解密運算、定義加解密數(shù)據(jù)量以及設(shè)置中斷配置;
第二步,將數(shù)據(jù)寫入RAM,寫入RAM的數(shù)據(jù)量是加密算法模塊組中被 選定加密算法模塊的 一 次加解密數(shù)據(jù)量的整數(shù)倍;
第三步,根據(jù)控制寄存器中的使能位信息,通過加密算法模塊控制器啟 動被選擇的加密算法模塊,對存儲在RAM中的數(shù)據(jù)進行加密或解密運算, 在數(shù)據(jù)進行加密或解密的同時,從加密算法模塊組中返回的運算結(jié)果將會回 寫到RAM中;
第四步,當(dāng)所有存儲在RAM中的數(shù)據(jù)加密或解密完成后,如果控制寄存 器中配置有中斷使能位,加密算法模塊控制器將產(chǎn)生中斷信號并傳送給中斷 控制器;如果控制寄存器中沒有配置中斷使能位,系統(tǒng)將查詢狀態(tài)寄存器的 運算完成位,判斷加密或解密過程是否結(jié)束;
第五步,當(dāng)系統(tǒng)判斷加密算法模塊加速器完成一次加密或解密過程,將 加密或解密后的數(shù)據(jù)從RAM中讀出。
上述技術(shù)方案中的有關(guān)內(nèi)容解釋如下
1、上述方案中,所述"第二步,將數(shù)據(jù)寫入RAM"其中"數(shù)據(jù)"如果為原文數(shù)據(jù),則通過加密獲得密文數(shù)據(jù);如果為密文數(shù)據(jù)則通過解密獲得原
文數(shù)據(jù)。
2、 上述方案中,在第三步中,當(dāng)翁:據(jù)加密或解密運算完成后,加密或解 密后的數(shù)據(jù)將會覆蓋存儲在RAM中原來對應(yīng)的數(shù)據(jù)。
3、 上述方案中,在第三步中,利用加密算法^^莫塊組中的加密算法^t塊加 密或解密一組數(shù)據(jù)所用的時鐘周期總是大于加密算法模塊控制器從RAM預(yù) 讀數(shù)據(jù)與向RAM回寫數(shù)據(jù)的周期之和,當(dāng)加密算法模塊完成一組數(shù)據(jù)的加 密或解密之后,加密算法模塊控制器將加密算法模塊的運算結(jié)果及時回寫到 RAM中,同時將RAM中需要加密或解密的下一組數(shù)據(jù)及時輸入到加密算法 模塊中,并再次啟動加密算法模塊組進行下一組數(shù)據(jù)的加密或解密運算,以 此循環(huán)往復(fù)來保證加密算法;f莫塊全速運算。
總之,本發(fā)明提供了一種簡而易行的加密算法模塊加速器及其數(shù)據(jù)高速 加解密方法。所述加密算法模塊加速器的工作可靈活配置多種加密算法模 塊,在加解密過程中由加密算法模塊控制器自動控制數(shù)據(jù)的交換,不需CPU 的參與,也不會占用系統(tǒng)總線或外圍總線資源,同時充分利用加密算法^t塊 的數(shù)據(jù)流加解密速度,進而提高了系統(tǒng)的加解密數(shù)據(jù)速度。


附圖1為本發(fā)明加密算法模塊加速器的系統(tǒng)原理框圖; 附圖2為本發(fā)明控制/狀態(tài)寄存器組中的控制寄存器示意圖; 附圖3為本發(fā)明控制/狀態(tài)寄存器組中的狀態(tài)寄存器示意圖; 附圖4為本發(fā)明加密算法模塊加速器的系統(tǒng)操作時序圖。 以上附圖中10、加密算法模塊加速器;11、中斷控制器;12、 CPU; 13、 系統(tǒng)總線;101、加密算法模塊控制器;102、 RAM; 103、加密算法模塊組; 104、控制/狀態(tài)寄存器組;201、定義加解密數(shù)據(jù)量字段;202、定義選擇何 種加密算法模塊字段;203、定義啟動加密算法模塊使能字段;204、中斷配 置字段;301、工作狀態(tài)字段;302、完成一次加解密流程字段。
具體實施例方式
下面結(jié)合附圖及實施例對本發(fā)明作進一步描述 實施例 一種加密算法模塊加速器及其數(shù)據(jù)高速加解密方法 如圖1所示,本發(fā)明加密算法模塊加速器10主要由RAM 102、加密算法 模塊組103、控制/狀態(tài)寄存器組104和加密算法模塊控制器101組成。其中 RAM 102用于存儲原文數(shù)據(jù)以及經(jīng)過加密運算的加密數(shù)據(jù),其空間大小可以依據(jù)用戶實際使用需要來定義。
加密算法模塊組103由加密算法模塊1、加密算法模塊2........加密算
法模塊n組成,其中,至少有一種加密算法模塊。各加密算法模塊用于對原 文數(shù)據(jù)進行不同算法的加解密運算。
控制/狀態(tài)寄存器組104由控制寄存器和狀態(tài)寄存器組成??刂萍拇嫫魅?圖2所示,由定義選擇何種加密算法模塊字段202、定義加解密數(shù)據(jù)量字段 201、定義啟動加密算法模塊使能字段203和中斷配置字段204組成。其中, 字段202用于定義選擇何種加密算法模塊來進行加解密運算,加密算法模塊 組103沖艮據(jù)字段202來選擇相應(yīng)的加密算法模塊。字段201用于定義加解密 數(shù)據(jù)量,假定被選中加密算法模塊一次加密的數(shù)據(jù)量為N-Byte,那么寫入 RAM的原文數(shù)據(jù)量需是N-Byte的整數(shù)倍,這樣可以通過控制加解密的次數(shù) 來控制加解密數(shù)據(jù)量。字段203用于定義啟動加密算法4莫塊進行加密解運算 的使能。加密算法模塊控制器101根據(jù)使能位啟動相應(yīng)加密算法模塊進行加 密解運算。字段204設(shè)置中斷配置,加密算法模塊控制器101根據(jù)字段204 發(fā)出中斷信號。狀態(tài)寄存器如圖3所示,由工作狀態(tài)字段301和完成一次加 解密流程字段302組成。狀態(tài)寄存器用于反映加密算法模塊加速器10的狀 態(tài)信息,其中,字段301反映加密算法模塊加速器IO是否處于工作狀態(tài), 字段302反映加密算法模塊加速器10是否完成一次加解密流程。
加密算法模塊控制器101根據(jù)控制/狀態(tài)寄存器組104的配置信息控制加 密算法模塊組103加解密過程以及控制RAM102的地址和數(shù)據(jù)讀寫操作,在 完成數(shù)據(jù)加解密之后,將中斷信號傳送給中斷控制器11。具體可以結(jié)合圖2 來說明,比如,加密算法模塊控制器101根據(jù)控制寄存器字段202的定義來 選擇加密算法模塊組103中相應(yīng)的加密算法模塊;根據(jù)控制寄存器字段201 的定義來控制加解密的運算次數(shù);根據(jù)控制寄存器字段203的定義來啟動加 密算法模塊進行加密解運算;根據(jù)控制寄存器字段204的定義來使能加密算 法模塊加速器的中斷。為了控制加解密的運算次數(shù),加密算法模塊控制器101 包含一個計數(shù)器,在對批量數(shù)據(jù)進行加解密運算時,計數(shù)器通過判斷控制寄 存器中定義的加解密數(shù)據(jù)量來控制加解密的運算次數(shù)。所述加密算法模塊控 制器IOI還包含數(shù)據(jù)緩存器,在對數(shù)據(jù)進行加解密運算時,使用數(shù)據(jù)緩存器 來預(yù)讀RAM (102)中的數(shù)據(jù)以及存儲加密模塊運算后的結(jié)果。
如圖l所示,本發(fā)明加密算法模塊加速器IO各組成部分之間的連接關(guān)系 統(tǒng)以及內(nèi)部與系統(tǒng)的連接關(guān)系是加密算法模塊控制器101分別與加密算法
7模塊組103、 RAM 102和控制/狀態(tài)寄存器組104雙向連4妄,信號在兩個方向 流動。RAM 102與系統(tǒng)總線或外圍總線13雙向連4妾,4言號在兩個方向流動。 控制/狀態(tài)寄存器組104與系統(tǒng)總線或外圍總線13雙向連接,信號在兩個方 向流動。加密算法模塊控制器101送出的中斷信號與中斷控制器11連接。
本發(fā)明加密算法模塊加速器的數(shù)據(jù)高速加密方法包括如下步驟
假設(shè)原文數(shù)據(jù)量為512Byte,使用某固定KEY的DES3加密算法,同時 以中斷方式通知系統(tǒng)。
第一步,配置控制/狀態(tài)寄存器組104中的控制寄存器,其中包括定義選 擇何種加密算法模塊來進行加密運算、定義加密數(shù)據(jù)量以及設(shè)置中斷配置。 比如根據(jù)假設(shè),控制/狀態(tài)寄存器組104中,字段201定義為 sum[15:0]-0000,0010,0000,0000;假設(shè)在加密算法模塊組103中有3種加密算 法模塊,字段202以00用來選擇DES3加密算法模塊,則字段202定義為 cryp[l:0]=00;字段204定義為1以設(shè)置加密算法模塊加速器10以中斷方式 通知系統(tǒng)一次加密流禾呈完成。
第二步,在完成對控制寄存器的配置后,按需要對加密算法模塊組103 中DES3加密算法模塊進行基本信息的配置,同時將原文數(shù)據(jù)寫入RAM 102, 寫入RAM 102的原文數(shù)據(jù)量是加密算法模塊組103中被選定加密算法模塊 的 一次加密數(shù)據(jù)量的整數(shù)倍。
第三步,根據(jù)控制寄存器中的使能位信息,通過加密算法模塊控制器101 啟動被選擇的DES3加密算法模塊,對存儲在RAM 102中的原文數(shù)據(jù)進行加 密運算,在原文數(shù)據(jù)進行加密的同時,從加密算法模塊組103中返回的運算 結(jié)果將會回寫到RAM 102中。在該步中,本發(fā)明利用加密算法模塊組103 中的加密算法模塊加密一組數(shù)據(jù)所用的時鐘周期總是大于加密算法模塊控 制器10從RAM 102預(yù)讀原文數(shù)據(jù)與向RAM 102回寫密文數(shù)據(jù)的周期之和, 當(dāng)加密算法模塊完成一組數(shù)據(jù)的加密之后,加密算法模塊控制器101將加密 算法模塊的運算結(jié)果及時回寫到RAM102中,同時將RAM102中需要加密 的下一組原文數(shù)據(jù)及時輸入到加密算法模塊中,并再次啟動加密算法模塊組 103進行下一組原文數(shù)據(jù)的加密運算,以此循環(huán)往復(fù)來保證加密算法才莫塊全 速運算。當(dāng)原文數(shù)據(jù)加密運算完成后,密文數(shù)據(jù)將會覆蓋存儲在RAM 102 中的對應(yīng)原文數(shù)據(jù)。具體說明如下
控制寄存器字段203定義為1以啟動加密算法模塊加速器10。在加密算 法模塊加速器10運行時,加密算法控制器101根據(jù)控制寄存器的字段201來配置其內(nèi)部計數(shù)器,該計數(shù)器一方面計算DES3加密算法模塊運行的次數(shù), 另 一方面將產(chǎn)生RAM 102地址線上的地址,以及RAM 102讀寫等控制信號。 圖4給出了加密算法模塊加速器IO的系統(tǒng)操作時序圖。由圖4可以看出, 在最初加密算法it塊加速器IO啟,時,在系統(tǒng)時鐘的時刻1至?xí)r刻4,從單 口 RAM 102預(yù)讀了 4組數(shù)據(jù)D1, D2, D3, D4,其中Dl, D2在讀出的同 時在DES3加密算法模塊進行輸入,而D3和D4數(shù)據(jù)是在加密算法模塊進行 運算時預(yù)讀的。當(dāng)DES3加密算法模塊完成對Dl, D2的加密運算后,加密 算法模塊控制器101于系統(tǒng)時鐘的時刻k和k十1從DES3加密算法模塊讀出 加密結(jié)果D01和D02,在加密結(jié)果^T出的同時,DOl和D02被寫入單口 RAM 102。在系統(tǒng)時鐘的時刻k + 2和k + 3, DES3加密算法模塊輸入預(yù)讀數(shù) 據(jù)D3, D4,同時單口 RAM 102預(yù)讀數(shù)據(jù)D5和D6。上述數(shù)據(jù)讀取、加密和 存儲過程持續(xù)往復(fù),直到原文數(shù)據(jù)加密結(jié)束。
第四步,當(dāng)所有存儲在RAM102中的原文數(shù)據(jù)加密完成后,如果控制寄 存器的字段204配置有中斷使能位,加密算法模塊控制器IOI將產(chǎn)生中斷信 號并傳送給中斷控制器11 。如果控制寄存器的字段204沒有配置中斷使能位, 系統(tǒng)將查詢狀態(tài)寄存器的運算完成位,判斷加密過程是否結(jié)束。
第五步,當(dāng)系統(tǒng)判斷加密算法模塊加速器完成一次加密過程,將加密后 的凄t據(jù)從RAM102中讀出。
同理,本發(fā)明加密算法模塊加速器的數(shù)據(jù)高速解密方法,與上述加密方 法基本相同,區(qū)別在于第二步中,寫入RAM 102的數(shù)據(jù)是密文數(shù)據(jù)而不 是原文數(shù)據(jù),而最后解密得到的結(jié)果是原文數(shù)據(jù)而不是密文數(shù)據(jù)。
上述實施例只為說明本發(fā)明的技術(shù)構(gòu)思及特點,其目的在于讓熟悉此項 技術(shù)的人士能夠了解本發(fā)明的內(nèi)容并據(jù)以實施,并不能以此限制本發(fā)明的保 護范圍。凡根據(jù)本發(fā)明精神實質(zhì)所作的等效變化或修飾,都應(yīng)涵蓋在本發(fā)明 的保護范圍之內(nèi)。
9
權(quán)利要求
1、一種加密算法模塊加速器,其特征在于包括RAM(102),用于存儲原文數(shù)據(jù)以及經(jīng)過加密運算的加密數(shù)據(jù);加密算法模塊組(103),由至少一種加密算法模塊組成,各加密算法模塊用于對原文數(shù)據(jù)進行不同算法的加解密運算;控制/狀態(tài)寄存器組(104),由控制寄存器和狀態(tài)寄存器組成,狀態(tài)寄存器用于反映加密算法模塊加速器的狀態(tài)信息;控制寄存器用于定義以下內(nèi)容1)定義選擇何種加密算法模塊來進行加解密運算;2)定義加解密數(shù)據(jù)量;3)設(shè)置中斷配置;4)定義啟動加密算法模塊進行加密解運算的使能;加密算法模塊控制器(101),用于控制被選擇加密算法模塊的加解密過程以及控制RAM(102)的地址和數(shù)據(jù)讀寫操作,在完成數(shù)據(jù)加解密之后,將中斷信號傳送給中斷控制器(11);所述加密算法模塊控制器(101)分別與加密算法模塊組(103)、RAM(102)和控制/狀態(tài)寄存器組(104)雙向連接;RAM(102)與系統(tǒng)總線或外圍總線(13)雙向連接;控制/狀態(tài)寄存器組(104)與系統(tǒng)總線或外圍總線(13)雙向連接。
2、 根據(jù)權(quán)利要求1所述的加密算法模塊加速器,其特征在于所述加密算法模塊控制器(101)包含一個計數(shù)器,在對批量數(shù)據(jù)進行加解密運算時,通過判斷控制寄存器中定義的加解密數(shù)據(jù)量來控制加解密的運算次數(shù)。
3、 根據(jù)權(quán)利要求1所述的加密算法模塊加速器,其特征在于所述加密算法模塊控制器(101)包含數(shù)據(jù)緩存器,在對數(shù)據(jù)進行加解密運算時,使用數(shù)據(jù)緩存器來預(yù)讀RAM (102)中的數(shù)據(jù)以及存儲加密模塊運算后的結(jié)果。
4、 根據(jù)權(quán)利要求1所述加密算法模塊加速器的數(shù)據(jù)高速加解密方法,其特征在于該方法包括如下步驟第一步,配置控制/狀態(tài)寄存器組(104)中的控制寄存器,其中包括定義選擇何種加密算法模塊來進行加解密運算、定義加解密數(shù)據(jù)量以及設(shè)置中斷配置;第二步,將數(shù)據(jù)寫入RAM ( 102 ),寫入RAM ( 102 )的數(shù)據(jù)量是加密算法模塊組(103)中被選定加密算法模塊的一次加解密數(shù)據(jù)量的整數(shù)倍;第三步,根據(jù)控制寄存器中的使能位信息,通過加密算法模塊控制器(101)啟動被選擇的加密算法模塊,對存儲在RAM(102)中的數(shù)據(jù)進行加密或解密運算,在數(shù)據(jù)進行加密或解密的同時,從加密算法^t塊組(103)中返回的運 算結(jié)果將會回寫到RAM (102)中;第四步,當(dāng)所有存儲在RAM ( 102)中的數(shù)據(jù)加密或解密完成后,如果控 制寄存器中配置有中斷使能位,加密算法模塊控制器(101)將產(chǎn)生中斷信號 并傳送給中斷控制器(11);如果控制寄存器中沒有配置中斷使能位,系統(tǒng)將 查詢狀態(tài)寄存器的運算完成位,判斷加密或解密過程是否結(jié)束;第五步,當(dāng)系統(tǒng)判斷加密算法模塊加速器完成一次加密或解密過程,將加 密或解密后的數(shù)據(jù)從RAM ( 102)中讀出。
5、 根據(jù)權(quán)利要求4所述的數(shù)據(jù)高速加解密方法,其特征在于在第三步中, 當(dāng)數(shù)據(jù)加密或解密運算完成后,加密或解密后的數(shù)據(jù)將會覆蓋存儲在RAM (102)中原來對應(yīng)的數(shù)據(jù)。
6、 根據(jù)權(quán)利要求4所述的數(shù)據(jù)高速加解密方法,其特征在于在第三步中, 利用加密算法模塊組(103)中的加密算法模塊加密或解密一組數(shù)據(jù)所用的時 鐘周期總是大于加密算法模塊控制器(101 )從RAM( 102)預(yù)讀數(shù)據(jù)與向RAM(102)回寫數(shù)據(jù)的周期之和,當(dāng)加密算法模塊完成一組數(shù)據(jù)的加密或解密之 后,加密算法模塊控制器(101 )將加密算法模塊的運算結(jié)果及時回寫到RAM(102 )中,同時將RAM ( 102 )中需要加密或解密的下一組數(shù)據(jù)及時輸入到 加密算法模塊中,并再次啟動加密算法模塊組(103)進行下一組數(shù)據(jù)的加密 或解密運算,以此循環(huán)往復(fù)來保證加密算法模塊全速運算。
全文摘要
本發(fā)明公開了一種加密算法模塊加速器及其數(shù)據(jù)高速加解密方法。該加密算法模塊加速器包括加密算法模塊控制器(101)、RAM(102)、加密算法模塊組(103)以及控制/狀態(tài)寄存器組(104)。加密算法模塊控制器(101)分別與加密算法模塊組(103)、RAM(102)和控制/狀態(tài)寄存器組(104)雙向連接,RAM(102)與系統(tǒng)總線或外圍總線(13)雙向連接;控制/狀態(tài)寄存器組(104)與系統(tǒng)總線或外圍總線(13)雙向連接,信號在兩個方向流動。所述加密算法模塊加速器的工作可靈活配置多種加密算法模塊,在加解密過程中不需CPU(12)的參與,也不會占用系統(tǒng)總線或外圍總線(13),同時充分利用加密算法模塊的數(shù)據(jù)流加解密速度,進而提高了系統(tǒng)的加解密數(shù)據(jù)速度。
文檔編號G06F21/00GK101482909SQ20081013667
公開日2009年7月15日 申請日期2008年12月29日 優(yōu)先權(quán)日2008年12月29日
發(fā)明者林雄鑫, 王忠海, 肖佐楠, 茳 鄭 申請人:蘇州國芯科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1