專利名稱:一種加密卡的加解密方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子信息安全領(lǐng)域,具體涉及一種加密卡的加解密方法。
背景技術(shù):
隨著信息與網(wǎng)絡(luò)技術(shù)的迅速發(fā)展和廣泛應(yīng)用,銀行、石油、電力等支柱性行業(yè)的業(yè)務(wù)數(shù)據(jù)已經(jīng)廣泛采用各類計(jì)算機(jī)設(shè)備進(jìn)行通訊,由于行業(yè)的重要性與特殊性,必須考慮數(shù)據(jù)的加密安全傳輸,所以,進(jìn)行加密處理的服務(wù)器設(shè)備開發(fā)已經(jīng)在行業(yè)內(nèi)廣泛進(jìn)行,服務(wù)器設(shè)備可以把數(shù)據(jù)由明文變?yōu)榧用艿臄?shù)據(jù),再由網(wǎng)絡(luò)設(shè)備將數(shù)據(jù)傳輸?shù)侥康牡兀谛畔踩袠I(yè)的主流加密服務(wù)器設(shè)備中,承擔(dān)數(shù)據(jù)加密任務(wù)的主要是設(shè)備中集成的PCI接口加密卡,加密卡集成國(guó)家密碼管理局授權(quán)的加密芯片,具有輸入與輸出單元,當(dāng)加密卡的驅(qū)動(dòng)程 序?qū)?shù)據(jù)傳輸?shù)捷斎雴卧獣r(shí),加密卡處理這些數(shù)據(jù),將其放入輸出單元,送給加密卡的驅(qū)動(dòng)程序,驅(qū)動(dòng)程序再將加密后的數(shù)據(jù)送給需要加密服務(wù)的上層應(yīng)用軟件。在集成了相同性能加解密芯片的加密卡中,設(shè)計(jì)控制多個(gè)加解密芯片同時(shí)工作的高效邏輯處理方法,以及設(shè)計(jì)調(diào)用加密卡的高效設(shè)備驅(qū)動(dòng)程序,從而最大程度地利用加解密芯片的處理性能,從整體上提高加密卡的性價(jià)比就十分重要?,F(xiàn)有技術(shù)中加密卡是將數(shù)據(jù)包組織成適合加密芯片處理的格式,由驅(qū)動(dòng)程序送入加密芯片控制電路,然后等待加密芯片處理后,將處理后的數(shù)據(jù)經(jīng)控制電路再送至驅(qū)動(dòng)程序,再由驅(qū)動(dòng)程序送給上層調(diào)用的用戶程序。公開號(hào)為CN1996321A的中國(guó)專利公開了一種加密卡的設(shè)計(jì),該設(shè)計(jì)使用了 2塊DSP芯片與I塊加密芯片進(jìn)行交互處理。DSP之間、DSP與加密芯片之間的數(shù)據(jù)交換設(shè)計(jì)了額外的雙口 RAM做數(shù)據(jù)緩沖,在數(shù)據(jù)流程上,I塊做主控的DSP運(yùn)算結(jié)束,進(jìn)行加密芯片的運(yùn)算,運(yùn)算完畢后再送入另I塊DSP,最后由PCI-E接口送給用戶。在加密芯片處理時(shí)一直等待,等待時(shí)間大大多于加密卡處理數(shù)據(jù)的速度,所以這種“占用-等待處理-放棄占用”的持續(xù)等待模式浪費(fèi)了芯片部分處理性能。
發(fā)明內(nèi)容
本發(fā)明提供的一種加密卡的加解密方法,所述加密卡包括加密芯片、DSP處理器、接口控制電路和一塊P Cl接口電路;所述DSP處理器、接口控制電路和加密芯片的數(shù)量相等且至少為兩個(gè),一塊DSP處理器通過(guò)一塊對(duì)應(yīng)的接口控制電路控制連接一塊加密芯片;所述至少兩個(gè)的DSP處理器連接所述PCI接口電路,實(shí)現(xiàn)所述加密卡與所述加密卡所在計(jì)算機(jī)之間的數(shù)據(jù)傳輸;所述加解密方法包括步驟SI,接收用戶端包含數(shù)據(jù)包的調(diào)度指令,所述調(diào)度指令為寫操作時(shí),執(zhí)行步驟S2的寫線程過(guò)程;所述調(diào)度指令為讀操作時(shí),執(zhí)行步驟S3的讀線程過(guò)程;步驟S2,寫線程查找空閑加密芯片,將寫操作的數(shù)據(jù)放入所述空閑加密芯片中,所述空閑加密芯片處理完所述用戶端的數(shù)據(jù)包后,所述DSP處理器通過(guò)中斷程序?qū)⑺鰯?shù)據(jù)包寫入加解密隊(duì)列,并對(duì)所述數(shù)據(jù)包做待讀取標(biāo)記;步驟S3,讀線程持續(xù)檢查所述加解密隊(duì)列,讀取標(biāo)記為待讀取的數(shù)據(jù)包并送入用戶端。本發(fā)明提供的第一優(yōu)選技術(shù)方案中所述至少兩個(gè)的DSP處理器相互之間中斷互斥,同一時(shí)間只有一個(gè)中斷在進(jìn)行。2、本發(fā)明提供的第二優(yōu)選技術(shù)方案中所述DSP處理器設(shè)置有有數(shù)據(jù)包要送出或無(wú)數(shù)據(jù)包要送出2個(gè)標(biāo)志位,中斷電路分析各個(gè)DSP處理器的所述標(biāo)志位對(duì)有數(shù)據(jù)包要送出的DSP處理器進(jìn)行中斷處理;當(dāng)有兩個(gè)或兩個(gè)以上的DSP處理器同時(shí)有數(shù)據(jù)包要送出,隨機(jī)選定一個(gè)DSP處理器發(fā)送數(shù)據(jù)包,所述沒有選定的DSP處理器在對(duì)列中阻塞等待。
本發(fā)明提供的第三優(yōu)選技術(shù)方案中所述加解密隊(duì)列設(shè)置有信號(hào)量,有100個(gè)存儲(chǔ)位置,所述讀線程或?qū)懢€程獨(dú)占所述信號(hào)量后對(duì)加解密隊(duì)列進(jìn)行讀寫操作。本發(fā)明提供的第四優(yōu)選技術(shù)方案中所述DSP處理器、接口控制電路和加密芯片的數(shù)量均為4 ;所述讀線程和寫線程為異步并行工作。本發(fā)明提供的第五優(yōu)選技術(shù)方案中所述計(jì)算機(jī)的內(nèi)存和DSP處理器在內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)中均設(shè)置有5個(gè)緩沖區(qū),所述DSP處理器在內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)中設(shè)置的5個(gè)緩沖區(qū)為與對(duì)應(yīng)的所述加密芯片的共享緩沖區(qū),所述緩沖區(qū)的大小與送入加密芯片的最大數(shù)據(jù)包的大小相等。本發(fā)明提供的第六優(yōu)選技術(shù)方案中所述步驟S2包括所述步驟S2包括步驟S201,寫線程接收所述數(shù)據(jù)包后,查找是否有空閑加密芯片,是,執(zhí)行步驟S202;否,返回,等待下次發(fā)送;步驟S202,將所述數(shù)據(jù)包送入所述空閑加密芯片對(duì)應(yīng)的DSP處理器中,查找所述對(duì)應(yīng)的DSP處理器是否有空閑的所述共享緩沖區(qū),是,執(zhí)行步驟S203 ;否,返回,等待下次發(fā)送;步驟S203,所述空閑加密芯片對(duì)所述數(shù)據(jù)包進(jìn)行處理;步驟S204,觸發(fā)所述DSP處理器的中斷程序,所述中斷程序查找所述加解密隊(duì)列中的空閑;步驟S205,所述寫線程占有加解密隊(duì)列的信號(hào)量,將所述數(shù)據(jù)包寫入加解密隊(duì)列做待讀取標(biāo)記,等待讀線程讀取。本發(fā)明提供的第七優(yōu)選技術(shù)方案中所述步驟203中所述空閑的加密芯片對(duì)所述數(shù)據(jù)包的處理過(guò)程包括所述DSP處理器對(duì)所述數(shù)據(jù)包做未處理標(biāo)記,所述加密卡在空閑時(shí)按循環(huán)順序查詢5個(gè)所述共享緩沖區(qū)的狀態(tài),對(duì)有未處理標(biāo)記的數(shù)據(jù)包進(jìn)行處理,對(duì)處理完成后的數(shù)據(jù)包做已處理標(biāo)記,并用所述已處理標(biāo)記的數(shù)據(jù)包覆蓋所述未處理標(biāo)記的數(shù)據(jù)包。本發(fā)明提供的第八優(yōu)選技術(shù)方案中所述步驟S3包括步驟S301,查找加解密隊(duì)列中是否有標(biāo)記為待讀取的數(shù)據(jù)包,是,執(zhí)行步驟S302,否,等待;
步驟S302,所述讀線程占有加解密隊(duì)列的信號(hào)量,讀取所述標(biāo)記為待讀取的數(shù)據(jù)包并送入用戶端。本發(fā)明提供的一種加密卡的加解密方法的有益效果包括I、本發(fā)明提供的一種加密卡的加解密方法,加密和解密過(guò)程中的讀線程和寫線程分開異步并行操作,兩個(gè)線程獨(dú)立持續(xù)運(yùn)行,驅(qū)動(dòng)程序效率高,并且有效的利用了 PCI加密卡板載加密芯片的加解密性能;2、加解密芯片處理后的數(shù)據(jù)包組織成數(shù)據(jù)包隊(duì)列,并保持?jǐn)?shù)據(jù)包序號(hào),供上層調(diào)用程序讀??;3、采取中斷互斥機(jī)制。在調(diào)用4塊加密芯片時(shí),避免了基于中斷優(yōu)先級(jí)的中斷搶占,消除了通常在中斷頻率高的情況下的丟失中斷現(xiàn)象,杜絕了丟包現(xiàn)象,保證了數(shù)據(jù)包處理正確有序; 4、采取CPU互斥機(jī)制,避免了在多CPU服務(wù)器平臺(tái)上運(yùn)行時(shí),由于多個(gè)CPU硬件中斷控制器導(dǎo)致的可能的某一 CPU搶占另一 CPU中斷的現(xiàn)象,杜絕了搶占帶來(lái)的丟包;5、采取原子讀寫機(jī)制,對(duì)加解密隊(duì)列的操作有讀和寫兩種,為加解密隊(duì)列操作設(shè)置一個(gè)信號(hào)量,任何對(duì)隊(duì)列的操作只有取得信號(hào)量之后才能進(jìn)行操作,避免讀寫同時(shí)進(jìn)行會(huì)帶來(lái)的數(shù)據(jù)混亂;6、并且加密芯片進(jìn)行運(yùn)算主要由板載相應(yīng)的DSP處理器單獨(dú)控制,DSP處理器完成了數(shù)據(jù)包送入、讀出、仲裁工作,節(jié)省了計(jì)算機(jī)資源。
圖I為本發(fā)明提供的一種加密卡的實(shí)施例的結(jié)構(gòu)示意圖;圖2為本發(fā)明提供的DSP處理器與對(duì)應(yīng)的加密芯片之間的關(guān)系結(jié)構(gòu)圖;圖3為本發(fā)明提供的一種加密卡的加解密方法流程圖;圖4為本發(fā)明提供的讀線程的實(shí)施例操作流程圖;圖5為本發(fā)明提供的寫線程的實(shí)施例操作流程圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步說(shuō)明。如圖I所示為本發(fā)明提供的一種加密卡的實(shí)施例的結(jié)構(gòu)示意圖,由圖I可知,該加密卡包括加密芯片、DSP處理器、接口控制電路和一塊PCI接口電路。DSP處理器、接口控制電路和加密芯片的數(shù)量相等但不受限制,至少為兩個(gè),一塊DSP處理器單獨(dú)控制一塊加密芯片,并且對(duì)應(yīng)的DSP處理器和加密芯片通過(guò)一塊對(duì)應(yīng)的接口控制電路連接通信,DSP處理器接收來(lái)自驅(qū)動(dòng)程序的數(shù)據(jù)包,通過(guò)接口控制電路送入加密芯片處理。DSP處理器連接PCI接口電路,該P(yáng)CI接口電路是實(shí)現(xiàn)加密卡與所在計(jì)算機(jī)之間數(shù)據(jù)傳輸?shù)耐ǖ?。本發(fā)明圖I給出的是DSP處理器、接口控制電路和加密芯片的數(shù)量為4的情況,DSP處理器在內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)中開辟5個(gè)與對(duì)應(yīng)的加密芯片共享的緩沖區(qū),DSP處理器與對(duì)應(yīng)的加密芯片之間的關(guān)系結(jié)構(gòu)如圖2所示。本發(fā)明提供的一種基于加密卡的加解密過(guò)程的實(shí)施例的步驟流程圖如圖3所示,由圖3可知,該加解密過(guò)程包括
步驟SI,接收用戶端包含數(shù)據(jù)包的調(diào)度指令,該調(diào)度指令為寫操作時(shí),執(zhí)行步驟S2的寫線程過(guò)程;該調(diào)度指令為讀操作時(shí),執(zhí)行步驟S3的讀線程過(guò)程。優(yōu)選的,該讀線程和寫線程為異步并行工作,2個(gè)線程獨(dú)立持續(xù)運(yùn)行,效率高并且有效利用PCI加密卡的加密芯片的加解密性能。步驟S2,寫線程查找空閑加密芯片,將寫操作的數(shù)據(jù)包放入該空閑加密芯片中,力口密芯片處理完該數(shù)據(jù)包后,通過(guò)中斷程序?qū)?shù)據(jù)包寫入加解密隊(duì)列,并對(duì)該數(shù)據(jù)包做待讀取標(biāo)記。步驟S3,讀線程持續(xù)檢查該加解密隊(duì)列,讀取標(biāo)記為待讀取的數(shù)據(jù)包并送入用戶端。優(yōu)選的,加解密隊(duì)列設(shè)置有信號(hào)量,在對(duì)加解密隊(duì)列進(jìn)行讀寫操作之前,需要獨(dú)占信號(hào)量才能進(jìn)行操作,如果信號(hào)量被其他操作占用,則在隊(duì)列中阻塞等待信號(hào)量被釋放。 具體的,寫線程接收來(lái)自用戶的數(shù)據(jù)包的操作過(guò)程如圖4所示,該寫線程包括步驟S201,寫線程接收來(lái)自用戶端的數(shù)據(jù)包后,查找是否有空閑加密芯片,是,執(zhí)行步驟S202 ;否,返回,等待下次發(fā)送。步驟S202,將來(lái)自用戶端的數(shù)據(jù)包送入空閑的加密芯片對(duì)應(yīng)的DSP處理器,查找該DSP處理器與其對(duì)應(yīng)的加密芯片是否有空閑的共享緩沖區(qū),是,執(zhí)行步驟S203 ;否,返回,等待下次發(fā)送。DSP處理器內(nèi)有64000字節(jié)的內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū),加密卡所在計(jì)算機(jī)的CPU可以通過(guò)PCI總線接口訪問(wèn)該內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū),在計(jì)算機(jī)的內(nèi)存中開辟5個(gè)緩沖區(qū)空間,每個(gè)緩沖區(qū)大小等于送入加密芯片的最大數(shù)據(jù)包的大小,同時(shí),也在DSP處理器內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)中開辟5個(gè)同樣大小的緩沖區(qū)。步驟S203,該空閑加密芯片對(duì)該數(shù)據(jù)包進(jìn)行處理。4塊DSP處理器獨(dú)立運(yùn)行工作,每塊DSP處理器單獨(dú)控制一個(gè)加密芯片,接收來(lái)自驅(qū)動(dòng)程序的數(shù)據(jù)包,送入加密芯片處理,處理完成后的數(shù)據(jù)包由加密芯片返回DSP處理器。用戶端傳送過(guò)來(lái)的數(shù)據(jù)包放入5個(gè)緩沖區(qū)中的一個(gè)空閑緩沖區(qū),DSP處理器會(huì)自動(dòng)以直接訪問(wèn)內(nèi)存的方式把數(shù)據(jù)從計(jì)算機(jī)的內(nèi)存中緩沖區(qū)拷貝到內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)的緩沖區(qū)中來(lái),并做未處理標(biāo)記,當(dāng)加密卡空閑時(shí)會(huì)按循環(huán)順序查詢5個(gè)緩沖區(qū)的狀態(tài),如果有未處理標(biāo)記的數(shù)據(jù)包就對(duì)該數(shù)據(jù)包馬上開始處理,處理完成后做已處理標(biāo)記,并將已處理標(biāo)記的數(shù)據(jù)包覆蓋原來(lái)的未處理標(biāo)記的數(shù)據(jù)包占用的緩沖區(qū)。DSP處理器將已處理數(shù)據(jù)包讀出后給緩沖區(qū)做可寫標(biāo)記,據(jù)此,在數(shù)據(jù)包從驅(qū)動(dòng)程序到達(dá)加密芯片處理的過(guò)程中,DSP與加密芯片共享的5個(gè)緩沖區(qū)的狀態(tài)在未處理、已處理、可寫3個(gè)狀態(tài)之間轉(zhuǎn)變。步驟S204,觸發(fā)DSP處理器的中斷程序,中斷程序查找加解密隊(duì)列中的空閑。優(yōu)選的,各個(gè)DSP處理器采用中斷互斥機(jī)制。 PCI板卡占用的I條中斷線給4個(gè)DSP處理器共享,該電路分析各塊DSP處理器的工作狀況,給DSP處理器定義有數(shù)據(jù)包要送出和無(wú)數(shù)據(jù)包要送出2個(gè)標(biāo)志位,如果有兩個(gè)或兩個(gè)以上的DSP處理器同時(shí)有要處理完成的數(shù)據(jù)包,則隨機(jī)仲裁選定一個(gè)DSP處理器發(fā)送數(shù)據(jù)包,另外的在隊(duì)列中阻塞等待,這樣中斷控制線上的中斷信號(hào)串行,不會(huì)發(fā)生沖突。在多處理器體系結(jié)構(gòu)下,每個(gè)CPU各有一個(gè)中斷控制器,在某一個(gè)中斷正在發(fā)生的時(shí)候,有可能出現(xiàn)多處理器中另一個(gè)CPU的中斷搶占正在進(jìn)行的中斷,造成丟包現(xiàn)象,所以如果當(dāng)前有中斷正在發(fā)生,發(fā)明中采取非搶占調(diào)度機(jī)制,關(guān)閉中斷搶占,使得中斷互斥,即同一時(shí)間只有一個(gè)中斷正在進(jìn)行,杜絕丟包現(xiàn)象。步驟S205,占有加解密隊(duì)列的信號(hào)量,將數(shù)據(jù)包寫入加解密隊(duì)列,并對(duì)該數(shù)據(jù)做待讀取標(biāo)記,等待讀線程讀取。讀線程讀取數(shù)據(jù)包的操作過(guò)程如圖5所示,該讀線程包括步驟S301,查找加解密隊(duì)列中是否有標(biāo)記為待讀取的數(shù)據(jù)包,是,執(zhí)行步驟S302,
否,等待。步驟S302,占有加解密隊(duì)列的信號(hào)量,讀取該標(biāo)記為待讀取的數(shù)據(jù)包并送入用戶端。
以上雖然根據(jù)附圖對(duì)本發(fā)明的實(shí)例進(jìn)行了詳細(xì)說(shuō)明,但不僅限于此具體實(shí)施方式
,本領(lǐng)域的技術(shù)人員根據(jù)此具體技術(shù)方案進(jìn)行的各種等同、變形處理,也在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種加密卡的加解密方法,其特征在于,所述加密卡包括加密芯片、DSP處理器、接口控制電路和一塊PCI接口電路; 所述DSP處理器、接口控制電路和加密芯片的數(shù)量相等且至少為兩個(gè),一塊DSP處理器通過(guò)一塊對(duì)應(yīng)的接口控制電路控制連接一塊加密芯片; 所述至少兩個(gè)的DSP處理器連接所述PCI接口電路,實(shí)現(xiàn)所述加密卡與所述加密卡所在計(jì)算機(jī)之間的數(shù)據(jù)傳輸; 所述加解密方法包括 步驟SI,接收用戶端包含數(shù)據(jù)包的調(diào)度指令,所述調(diào)度指令為寫操作時(shí),執(zhí)行步驟S2的寫線程過(guò)程;所述調(diào)度指令為讀操作時(shí),執(zhí)行步驟S3的讀線程過(guò)程; 步驟S2,寫線程查找空閑加密芯片,將寫操作的數(shù)據(jù)放入所述空閑加密芯片中,所述空閑加密芯片處理完所述用戶端的數(shù)據(jù)包后,所述DSP處理器通過(guò)中斷程序?qū)⑺鰯?shù)據(jù)包寫入加解密隊(duì)列,并對(duì)所述數(shù)據(jù)包做待讀取標(biāo)記; 步驟S3,讀線程持續(xù)檢查所述加解密隊(duì)列,讀取標(biāo)記為待讀取的數(shù)據(jù)包并送入用戶端。
2.如權(quán)利要求I所述的一種加密卡的加解密方法,其特征在于,所述至少兩個(gè)的DSP處理器相互之間中斷互斥,同一時(shí)間只有一個(gè)中斷在進(jìn)行。
3.如權(quán)利要求2所述的一種加密卡的加解密方法,其特征在于,所述DSP處理器設(shè)置有有數(shù)據(jù)包要送出或無(wú)數(shù)據(jù)包要送出2個(gè)標(biāo)志位,中斷電路分析各個(gè)DSP處理器的所述標(biāo)志位對(duì)有數(shù)據(jù)包要送出的DSP處理器進(jìn)行中斷處理; 當(dāng)有兩個(gè)或兩個(gè)以上的DSP處理器同時(shí)有數(shù)據(jù)包要送出,隨機(jī)選定一個(gè)DSP處理器發(fā)送數(shù)據(jù)包,所述沒有選定的DSP處理器在對(duì)列中阻塞等待。
4.如權(quán)利要求I所述的一種加密卡的加解密方法,其特征在于,所述加解密隊(duì)列設(shè)置有信號(hào)量,有100個(gè)存儲(chǔ)位置,所述讀線程或?qū)懢€程獨(dú)占所述信號(hào)量后對(duì)加解密隊(duì)列進(jìn)行讀寫操作。
5.如權(quán)利要求I所述的一種加密卡的加解密方法,其特征在于,所述DSP處理器、接口控制電路和加密芯片的數(shù)量均為4 ; 所述讀線程和寫線程為異步并行工作。
6.如權(quán)利要求I所述的一種加密卡的加解密方法,其特征在于,所述計(jì)算機(jī)的內(nèi)存和DSP處理器在內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)中均設(shè)置有5個(gè)緩沖區(qū),所述DSP處理器在內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)中設(shè)置的5個(gè)緩沖區(qū)為與對(duì)應(yīng)的所述加密芯片的共享緩沖區(qū),所述緩沖區(qū)的大小與送入加密芯片的最大數(shù)據(jù)包的大小相等。
7.如權(quán)利要求6所述的一種加密卡的加解密方法,其特征在于,所述步驟S2包括 步驟S201,寫線程接收所述數(shù)據(jù)包后,查找是否有空閑加密芯片,是,執(zhí)行步驟S202 ;否,返回,等待下次發(fā)送; 步驟S202,將所述數(shù)據(jù)包送入所述空閑加密芯片對(duì)應(yīng)的DSP處理器中,查找所述對(duì)應(yīng)的DSP處理器是否有空閑的所述共享緩沖區(qū),是,執(zhí)行步驟S203 ;否,返回,等待下次發(fā)送;步驟S203,所述空閑加密芯片對(duì)所述數(shù)據(jù)包進(jìn)行處理; 步驟S204,觸發(fā)所述DSP處理器的中斷程序,所述中斷程序查找所述加解密隊(duì)列中的空閑; 步驟S205,所述寫線程占有加解密隊(duì)列的信號(hào)量,將所述數(shù)據(jù)包寫入加解密隊(duì)列做待讀取標(biāo)記,等待讀線程讀取。
8.如權(quán)利要求7所述的一種加密卡的加解密方法,其特征在于,所述步驟203中所述空閑的加密芯片對(duì)所述數(shù)據(jù)包的處理過(guò)程包括 所述DSP處理器對(duì)所述數(shù)據(jù)包做未處理標(biāo)記,所述加密卡在空閑時(shí)按循環(huán)順序查詢5個(gè)所述共享緩沖區(qū)的狀態(tài),對(duì)有未處理標(biāo)記的數(shù)據(jù)包進(jìn)行處理,對(duì)處理完成后的數(shù)據(jù)包做已處理標(biāo)記,并用所述已處理標(biāo)記的數(shù)據(jù)包覆蓋所述未處理標(biāo)記的數(shù)據(jù)包。
9.如權(quán)利要求I所述的一種加密卡的加解密方法,其特征在于,所述步驟S3包括 步驟S301,查找加解密隊(duì)列中是否有標(biāo)記為待讀取的數(shù)據(jù)包,是,執(zhí)行步驟S302,否,等待; 步驟S302,所述讀線程占有加解密隊(duì)列的信號(hào)量,讀取所述標(biāo)記為待讀取的數(shù)據(jù)包并送入用戶端。
全文摘要
本發(fā)明提供一種加密卡的加解密方法,所述加密卡包括加密芯片、DSP處理器、接口控制電路和一塊P CI接口電路;所述DSP處理器、接口控制電路和加密芯片的數(shù)量相等且至少為兩個(gè),一塊DSP處理器通過(guò)一塊對(duì)應(yīng)的接口控制電路控制連接一塊加密芯片;所述至少兩個(gè)的DSP處理器連接所述PCI接口電路,實(shí)現(xiàn)所述加密卡與所述加密卡所在計(jì)算機(jī)之間的數(shù)據(jù)傳輸。采用非搶占中斷互斥機(jī)制,避免了基于中斷優(yōu)先級(jí)的中斷搶占,減少了丟包現(xiàn)象,保證了數(shù)據(jù)包處理過(guò)程正確有序。
文檔編號(hào)H04L9/06GK102724035SQ20121020389
公開日2012年10月10日 申請(qǐng)日期2012年6月15日 優(yōu)先權(quán)日2012年6月15日
發(fā)明者張濤, 曾榮, 楊維永, 林為民, 費(fèi)稼軒, 邵志鵬, 陳亞?wèn)|, 黃益彬 申請(qǐng)人:中國(guó)電力科學(xué)研究院