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

      實時加密u盤及高速加解密方法

      文檔序號:6753235閱讀:396來源:國知局
      專利名稱:實時加密u盤及高速加解密方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種實時加密U盤及高速加解密方法,特別涉及U盤內(nèi)加解 密芯片的設(shè)計以及提高芯片數(shù)據(jù)加解密速度的方法,屬于信息安全加密技術(shù) 領(lǐng)域。
      背景技術(shù)
      如今移動存儲設(shè)備被廣泛使用,u盤以其便攜的特點在涉密系統(tǒng)中也有
      普遍使用。對移動存儲設(shè)備的數(shù)據(jù)進(jìn)行加密可以有效保障數(shù)字資產(chǎn)信息的安 全,使其不被非法用戶獲取,這已經(jīng)成為共識。
      如今,隨著需要處理的數(shù)據(jù)量的指數(shù)級增加,u盤上需要存儲的數(shù)據(jù)量 也在同比增長,這一方面對u盤的加密手段和方式提出更高要求,同時也對 u盤的加解密速度提出了嚴(yán)峻挑戰(zhàn)。目前,u盤數(shù)據(jù)加密速度慢的原因主要 在于,現(xiàn)有u盤加密在系統(tǒng)結(jié)構(gòu)上沒有做到數(shù)據(jù)流讀寫過程與加解密過程的 并行處理,因此在u盤閃存的數(shù)據(jù)線上體現(xiàn)為數(shù)據(jù)流有"斷流"的情況。在
      加密方式和手段上,現(xiàn)有數(shù)據(jù)加密方法多偏重于軟件管理方法,軟件管理方 法的缺點在于保存在u盤閃存上的數(shù)據(jù)并未真正加密或只是經(jīng)過簡單加密,
      一旦u盤閃存被從u盤中取出,可以通過技術(shù)方法讀取或破解上面的數(shù)據(jù)內(nèi)容。
      以上問題對于要將大數(shù)據(jù)量存儲到u盤、需要更多加密手段和更靈活方 式的現(xiàn)實需求來說,對加密u盤的數(shù)據(jù)加解密傳輸速度、加密手段和方式都
      提出了更高的要求。

      發(fā)明內(nèi)容
      本發(fā)明提供一種實時加密u盤及高速加解密方法,目的旨在解決現(xiàn)有u 盤設(shè)備數(shù)據(jù)加解密速度慢、數(shù)據(jù)加密方式簡單、加密手段有限等技術(shù)缺陷。
      為達(dá)到上述目的,本發(fā)明實時加密U盤采用的技術(shù)方案是 一種實時加 密U盤,包括
      USB接口 ,該接口為用于連接主機(jī)的USB接口 ,實現(xiàn)從主機(jī)讀出數(shù)據(jù)或 向主機(jī)寫入數(shù)據(jù);
      閃存,用于存儲數(shù)據(jù);
      閃存控制器,用于控制閃存的接口信號,實現(xiàn)從閃存讀出數(shù)據(jù)或向閃存 寫入數(shù)據(jù);
      內(nèi)部存儲器,用于存儲所述實時加密U盤的固件或開機(jī)引導(dǎo)程序
      6(BootLoader);
      CPU,用于執(zhí)行存儲于內(nèi)部存儲器上的固件輸入的指令,完成對所述實 時加密U盤的控制和管理;
      加密算法模塊,用于加密從主機(jī)讀出的原文數(shù)據(jù)以及解密從閃存讀出的 密文數(shù)據(jù),實現(xiàn)數(shù)據(jù)流的高速加解密;
      FIFO緩存器,該緩存器具有第一FIFO緩存區(qū)、第二FIFO緩存區(qū)和第三 FIFO緩存區(qū),在所述實時加密U盤初始化時,USB接口的邏輯地址分配給 第一FIFO緩存區(qū),加密算法模塊的邏輯地址分配給第二FIFO緩存區(qū),閃存 控制器的邏輯地址分配給第三FIFO緩存區(qū);
      FIFO控制器,由寄存器構(gòu)成,該寄存器設(shè)有三個控制位,其中,第一控 制位使能后使得USB接口的邏輯地址與閃存控制器的邏輯地址進(jìn)行交換,第 二控制位使能后使得USB接口的邏輯地址與加密算法模塊的邏輯地址進(jìn)行 交換,第三控制位使能后使得閃存控制器的邏輯地址與加密算法模塊的邏輯 地址進(jìn)4于交換;
      CPU分別與加密算法模塊、FIFO控制器、內(nèi)部存儲器、FIFO緩存器、 USB接口和閃存控制器通過總線連接。
      為達(dá)到上述目的,本發(fā)明高速加解密方法采用的技術(shù)方案是 一種實時 加密U盤的高速加解密方法,在主機(jī)向閃存進(jìn)行寫操作或讀操作過程中,利 用FIFO控制器中第二控制位和第三控制位的交替使能來切換USB接口、加 密算法模塊和閃存控制器的邏輯地址,與第一FIFO緩存區(qū)、第二FIFO緩存 區(qū)和第三FIFO緩存區(qū)的物理地址之間的映射關(guān)系,使第一FIFO緩存區(qū)、第 二 FIFO緩存區(qū)和第三FIFO緩存區(qū)輪流跟隨USB接口 、加密算法模塊和閃 存控制器并行工作,在主機(jī)與閃存之間傳遞數(shù)據(jù)批次,其中,寫操作時所述 第二控制位和第三控制位的交替使能從第二控制位開始,讀操作時所述第二 控制位和第三控制位的交替使能從第三控制位開始。
      上述技術(shù)方案中的有關(guān)內(nèi)容解釋如下
      1 、上述方案中,所述"USB接口 "為USB接口 。 USB的全稱是Universal Serial Bus, USB支持熱插拔,即插即用的優(yōu)點,所以USB接口已經(jīng)成為一 種標(biāo)準(zhǔn)的接口方式。USB有兩個規(guī)范,即USB1.1和USB2.0。 USB1.1是目 前較為普遍的USB規(guī)范,USB2.0規(guī)范是由USB1.1規(guī)范演變而來的。它的 傳輸速率達(dá)到了 480Mbps,折算為MB為60MB/s,足以滿足大多數(shù)外設(shè)的 速率要求。在本發(fā)明中,USB接口用于連接主機(jī),USB接口選擇USBl.l或USB2.0均可以使用,其中USB2.0更好。
      2、 上述方案中,所述"一種實時加密U盤"還可以設(shè)有通訊I/0才莫塊, 通訊I/O才莫塊通過總線與所述CPU雙向連接,外部通訊設(shè)備可以通過通訊I/O 模塊與實時加密U盤雙向連接。實時加解密過程完全可以根據(jù)實際應(yīng)用的要 求,由保存在內(nèi)部存儲器中的信息或由外部通訊設(shè)備通過通訊I/O模塊進(jìn)行 控制,內(nèi)部存儲器中的信息可由外部通訊設(shè)備通過通訊I/O才莫塊進(jìn)行更新, 實現(xiàn)了多種且靈活的加密手段。
      3、 上述方案中,所述"FIFO緩存器"是一種數(shù)據(jù)存儲器,用于存儲數(shù)據(jù)。 FIFO是英文First In First Out的縮寫,是一種先進(jìn)先出的數(shù)據(jù)緩存器,它與 普通存儲器的區(qū)別是沒有外部讀寫地址線,這樣使用起來非常簡單,但缺點 就是只能順序?qū)懭霐?shù)據(jù),順序的讀出數(shù)據(jù),其數(shù)據(jù)地址由內(nèi)部讀寫指針自動 加1完成,不能像普通存儲器那樣可以由地址線決定讀取或?qū)懭肽硞€指定的 地址。
      4、 上述方案中,所述"固件"(Firmware)就是寫入E2ROM或E2pROM(可 編程只讀存儲器)中的程序,通俗的理解就是"固化的軟件"。與普通軟件完 全不同,它是固化在集成電路內(nèi)部的程序代碼,負(fù)責(zé)控制和協(xié)調(diào)集成電路的 功能。
      5、 上述方案中,所述"FIFO控制器,,是用于管理USB接口、加密算法 管模塊和閃存控制器所對應(yīng)的FIFO緩存器,即FIFO緩存器中的第一 FIFO 緩存區(qū)、第二 FIFO緩存區(qū)和第三FIFO緩存區(qū),完成數(shù)據(jù)的轉(zhuǎn)移。FIFO控 制器中設(shè)有三個控制位,第一控制位用于主機(jī)與閃存之間透明操作,即使能 該控制位后主機(jī)與閃存之間的數(shù)據(jù)流操作不經(jīng)過加密或解密,而是直接將主 機(jī)中的數(shù)據(jù)寫入閃存,或直接從閃存中讀出數(shù)據(jù)。這個控制位一般在不需要 對數(shù)據(jù)進(jìn)行加密的情況下使用。在需要對主機(jī)與閃存之間傳輸?shù)臄?shù)據(jù)進(jìn)行加 密或解密時需要使用第二控制位和第三控制位。
      6、 上述方案中,所述"加密算法模塊,,是用于加密原文數(shù)據(jù)或解密密文 數(shù)據(jù)的模塊。加密算法模塊采用的算法可包括RSA、 DES、 3DES、 SHA等 或自定義的編解碼方式。加密算法還可以通過通訊1/0模塊從外部來補充。
      總之,本發(fā)明實時加密U盤釆用硬件加密算法模塊對數(shù)據(jù)流進(jìn)行加密, 保證了密匙與存儲數(shù)據(jù)的空間隔離和對閃存內(nèi)數(shù)據(jù)的完全加密;同時采用 FIFO控制器切換USB接口 、加密算法模塊和閃存控制器的邏輯地址,與第 一 FIFO緩存區(qū)、第二 FIFO緩存區(qū)和第三FIFO緩存區(qū)的物理地址之間的映射關(guān)系,達(dá)到USB接口、加密算法模塊、閃存控制器數(shù)據(jù)流的并行處理。當(dāng)
      數(shù)據(jù)需要從主機(jī)寫到閃存時,進(jìn)行實時加密,并將加密后的數(shù)據(jù)寫入閃存的
      存儲區(qū)中;當(dāng)數(shù)據(jù)需要被讀取或使用的時候,將根據(jù)配置調(diào)用相應(yīng)的解密算 法模塊對需要讀取的數(shù)據(jù)進(jìn)行實時解密,然后傳送給主機(jī)端使用。
      由于上述技術(shù)方案運用,本發(fā)明與現(xiàn)有技術(shù)相比具有下列優(yōu)點和效果
      1、 本發(fā)明克服了現(xiàn)有主機(jī)與U盤之間數(shù)據(jù)加解密速度慢、數(shù)據(jù)加密方式 簡單、加密手段有限等技術(shù)缺陷。特別是本發(fā)明在實時加密U盤中利用FIFO 控制器中第二控制位和第三控制位的交替使能來切換USB接口 、加密算法模 塊和閃存控制器的邏輯地址,與第一FIFO緩存區(qū)、第二FIFO緩存區(qū)和第三 FIFO緩存區(qū)的物理地址之間的映射關(guān)系,使第一FIFO緩存區(qū)、第二FIFO 緩存區(qū)和第三FIFO緩存區(qū)輪流跟隨USB接口 、加密算法模塊和閃存控制器 并行工作,在主機(jī)與閃存之間傳遞數(shù)據(jù)批次,從而提高了數(shù)據(jù)的加解密速度。
      2、 本發(fā)明在保證數(shù)據(jù)加解密速度的同時,還可以建立兩道安全屏障,其 一由于閃存的操作系統(tǒng)也被加密,得到實時加密U盤者會誤認(rèn)為U盤是空盤, 存入信息可以隱藏;其二,即使非法得到實時加密U盤,如果沒有密鑰也無 法讀取U盤中的明文數(shù)據(jù)。
      3、 由于本發(fā)明實時加密U盤增加了通訊I/C^莫塊可以與外部設(shè)備進(jìn)行通 訊,進(jìn)而為實時加密U盤的安全處理方式提供了多種可能,增強(qiáng)了數(shù)據(jù)信息 的保密性。


      附圖1為本發(fā)明實時加密U盤的系統(tǒng)原理方框附圖2為本發(fā)明FIFO控制器的寄存器原理示意附圖3為本發(fā)明實時加密U盤中的數(shù)據(jù)流向閃存寫入時,第一 FIFO緩存 區(qū)、第二 FIFO緩存區(qū)和第三FIFO緩存區(qū)輪流跟隨USB接口、加密算法模 塊和閃存控制器并行工作示意附圖4為本發(fā)明實時加密U盤中的數(shù)據(jù)流從閃存讀出時,第一FIFO緩存 區(qū)、第二 FIFO緩存區(qū)和第三FIFO緩存區(qū)輪流跟隨USB接口、加密算法模 塊和閃存控制器并行工作示意圖。
      以上附圖中10、實時加密U盤;20、主機(jī);30、外部通訊i殳備;101、 FIFO控制器;102、加密算法模塊;103、內(nèi)部存儲器;104、 CPU; 105、通 訊I/0模塊;106、 USB接口; 107、閃存控制器;108、閃存;109、第一FIFO 緩存區(qū);110、第二FIFO緩存區(qū);111、第三FIFO緩存區(qū);201、第一控制203、第三控制位。
      具體實施例方式
      下面結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步描述 實施例 一種實時加密U盤
      當(dāng)主機(jī)20向?qū)崟r加密U盤10寫入數(shù)據(jù)是加密過程,從實時加密U盤10 讀出數(shù)據(jù)是解密過程。具體的加解密過程完全可以根據(jù)實際應(yīng)用的要求,由 保存在內(nèi)部存儲器103中的固件或由外部通訊設(shè)備30進(jìn)行控制。
      圖1為本發(fā)明實時加密U盤的系統(tǒng)原理方框圖。從圖l可以看出,本發(fā) 明實時加密U盤由USB接口 106、閃存控制器107、加密算法4莫塊102、內(nèi) 部存儲器103、 CPU 104、 FIFO緩存器、FIFO控制器101和通訊I/O模塊105 組成,CPU 104分別與加密算法模塊102、 FIFO控制器101、內(nèi)部存儲器 103、 FIFO緩存器、USB接口 106、閃存控制器107和通訊I/O模塊105通 過總線連接。其中
      USB接口 106用于連接主機(jī)20,實現(xiàn)/人主才幾20讀出數(shù)據(jù)或向主機(jī)20寫 入數(shù)據(jù)。USB接口 106相對主機(jī)20為從設(shè),可選擇USB1.1接口或USB2.0 接口,但為了適應(yīng)高速加解密釆用USB2.0接口更好。
      閃存控制器107用于控制閃存108的接口信號,實現(xiàn)從閃存108讀出數(shù) 據(jù)或向閃存108寫入數(shù)據(jù)。
      加密算法模塊102用于加密從主機(jī)20讀出的原文數(shù)據(jù)以及解密從閃存 108讀出的密文數(shù)據(jù)。這部分內(nèi)容可以采用現(xiàn)有技術(shù),比如本實施例中,加 密算法模塊102包括
      1) 算法模塊組。該算法模塊組由至少一種算法模塊組成,各算法模塊用 于對數(shù)據(jù)進(jìn)行不同算法的加解密運算,其中算法可包括RSA、 DES、 3DES、 SHA等或自定義的編解碼方式。
      2) 控制/狀態(tài)寄存器組。該控制/狀態(tài)寄存器組由控制寄存器和狀態(tài)寄存 器組成,狀態(tài)寄存器用于反映加密算法模塊102的狀態(tài)信息;控制寄存器用 于定義以下內(nèi)容
      A、 定義選擇何種算法模塊來進(jìn)行加解密運算;
      B、 定義加解密數(shù)據(jù)量;
      C、 設(shè)置中斷配置;
      D、 定義啟動算法模塊進(jìn)行加密解運算的使能。
      3) 算法模塊控制器。該算法模塊控制器用于控制被選擇算法模塊的加解
      10密過程以及控制數(shù)據(jù)讀寫操作,在完成數(shù)據(jù)加解密之后,將中斷信號傳送給 中斷控制器。所述算法模塊控制器分別與算法模塊組和控制/狀態(tài)寄存器組雙 向連接,控制/狀態(tài)寄存器組與系統(tǒng)總線或外圍總線雙向連接。
      內(nèi)部存儲器103用于存儲所述實時加密U盤10的固件或開機(jī)引導(dǎo)程序 (BootLoader )。
      CPU 105作為嵌入式中央處理器用于執(zhí)行存儲于內(nèi)部存儲器103上的固 件或執(zhí)行從通訊I/O模塊105輸入的指令,完成對實時加密U盤10的控制 和管理。
      FIFO緩存器為對應(yīng)USB接口 106、閃存控制器107和加密算法模塊102 所設(shè)的數(shù)據(jù)存儲器用于存儲數(shù)據(jù),F(xiàn)IFO是從一個固定地址讀寫的數(shù)據(jù)存儲 器。本發(fā)明中FIFO緩存器具有第一 FIFO緩存區(qū)109、第二FIFO緩存區(qū)110 和第三FIFO緩存區(qū)111。在實時加密U盤10初始化時,USB接口 106的邏 輯地址分配給第一FIFO緩存區(qū)109,加密算法模塊102的邏輯地址分配給第 二FIFO緩存區(qū)110,閃存控制器107的邏輯地址分配給第三FIFO緩存區(qū)111。
      FIFO控制器101用于管理USB接口 106、閃存控制器107和加密算法模 塊102所對應(yīng)的FIFO緩存器,即FIFO緩存器中的第一 FIFO緩存區(qū)109、 第二FIFO緩存區(qū)110和第三FIFO緩存區(qū)111,完成數(shù)據(jù)的轉(zhuǎn)移。FIFO控制 器101由寄存器構(gòu)成,參見圖2所示,該寄存器設(shè)有三個控制位,其中,第 一控制位201使能后使得USB接口 106的邏輯地址與閃存控制器107的邏輯 地址進(jìn)行交換,第二控制位202使能后使得USB接口 106的邏輯地址與加密 算法模塊102的邏輯地址進(jìn)行交換,第三控制位203使能后使得閃存控制器 107的邏輯地址與加密算法模塊102的邏輯地址進(jìn)行交換。第一控制位201 用于主機(jī)20與閃存108之間透明操作,即使能第一控制位201后主機(jī)20與 閃存108之間的數(shù)據(jù)流搡作不經(jīng)過加密或解密,而是直接將主機(jī)20中的數(shù) 據(jù)寫入閃存108,或直接從閃存108中讀出數(shù)據(jù)。這個控制位一般在不需要 對數(shù)據(jù)進(jìn)行加密的情況下使用。在需要對主機(jī)20與閃存108之間傳輸?shù)臄?shù) 據(jù)進(jìn)行加密或解密時需要使用第二控制位202和第三控制位203。
      通訊I/O模塊107用于與外部通訊設(shè)備30的通訊,實現(xiàn)從外部通訊設(shè)備 30上獲取指令或下載數(shù)據(jù)。
      本實施例實時加密U盤的高速加解密方法是在主機(jī)20向閃存108進(jìn)行 寫才喿作或讀^燥作過程中,利用FIFO控制器101中第二控制位202和第三控 制位203的交替使能來切換USB接口 106、加密算法模塊102和閃存控制器107的邏輯地址,與第一 FIFO緩存區(qū)109、第二 FIFO緩存區(qū)110和第三FIFO 緩存區(qū)111的物理地址之間的映射關(guān)系,使第一FIFO緩存區(qū)109、第二 FIFO 緩存區(qū)110和第三FIFO緩存區(qū)lll輪流跟隨USB接口 106、加密算法模塊 102和閃存控制器107并行工作,在主機(jī)20與閃存108之間傳遞數(shù)據(jù)批次, 其中,寫操作時所述第二控制位202和第三控制位203的交替使能從第二控 制位202開始,讀操作時所述第二控制位202和第三控制位203的交替使能 從第三控制位203開始。
      圖3和圖4分別給出數(shù)據(jù)流寫入和讀出時第一 FIFO緩存區(qū)109 、第二 FIFO 緩存區(qū)110和第三FIFO緩存區(qū)lll輪流跟隨USB接口 106、加密算法模塊 102和閃存控制器107并行工作示意圖。下面將對圖3和圖4分別進(jìn)行描述
      如圖3所示,在實時加密U盤10初始化時,第一 FIFO緩存區(qū)109指向 USB接口 106的邏輯地址,第二FIFO緩存區(qū)110指向加密算法模塊102的 邏輯地址,第三FIFO緩存區(qū)111指向閃存控制器107的邏輯地址。第一FIFO 緩存區(qū)109、第二FIFO緩存區(qū)110和第三FIFO緩存區(qū)111都為空(圖中分 別用"空白"表示)。
      當(dāng)主機(jī)20向?qū)崟r加密U盤10進(jìn)行寫操作時按以下步驟進(jìn)行工作
      步驟一主機(jī)20通過USB接口 106向第一 FIFO緩存區(qū)109輸入第一批 原文數(shù)據(jù)(圖中第一 FIFO緩存區(qū)109由"空白,,變?yōu)?填充斜線,,);加密 算法模塊102不操作,第二FIFO緩存區(qū)IIO為空(圖中用"空白,,表示); 閃存控制器107不操作,第三FIFO緩存區(qū)111為空(圖中用"空白,,表示)。
      步驟二第二控制位202使能,使得USB接口 106的邏輯地址與加密算 法模塊102的邏輯地址進(jìn)行交換,此時,第一 FIFO緩存區(qū)109指向加密算 法模塊102,第二 FIFO緩存區(qū)110指向USB接口 106,然后主機(jī)20通過 USB接口 106向第二 FIFO緩存區(qū)110輸入第二批原文數(shù)據(jù)(圖中第二 FIFO 緩存區(qū)110由"空白,,變?yōu)?填充斜線,,),同時加密算法模塊102對第一 FIFO 緩存區(qū)109中的第一批原文數(shù)據(jù)進(jìn)行加密得到第一批密文數(shù)據(jù)(圖中第一 FIFO緩存區(qū)109由"填充斜線"變?yōu)?填充黑色")。閃存控制器107不操作, 第三FIFO緩存區(qū)111為空(圖中用"空白,,表示)。
      步驟三第三控制位203先使能,使得閃存控制器107的邏輯地址與加 密算法模塊102的邏輯地址進(jìn)行交換,接著第二控制位202再使能,使得 USB接口 106的邏輯地址與加密算法模塊102的邏輯地址進(jìn)行交換,此時, 第一FIFO緩存區(qū)109指向閃存控制器107,第二FIFO緩存區(qū)110指向加密
      12算法模塊102,第三FIFO緩存區(qū)111指向USB接口 106,然后主機(jī)20通過 USB接口 106向第三FIFO緩存區(qū)111輸入第三批原文數(shù)據(jù)(圖中第三FIFO 緩存區(qū)111由"空白,,變?yōu)?填充斜線"),加密算法模塊102對第二 FIFO 緩存區(qū)110中的第二批原文數(shù)據(jù)進(jìn)行加密得到第二批密文^:據(jù)(圖中第二 FIFO緩存區(qū)110由"填充斜線"變?yōu)?填充黑色"),同時第一FIFO緩存區(qū) 109通過閃存控制器107向閃存108輸出第一批密文數(shù)據(jù)(圖中第一FIFO緩 存區(qū)109由"填充黑色"變?yōu)?空白")。
      步驟四第三控制位203先使能,使得閃存控制器107的邏輯地址與加 密算法模塊102的邏輯地址進(jìn)行交換,接著第二控制位202再使能,使得 USB接口 106的邏輯地址與加密算法模塊102的邏輯地址進(jìn)行交換,此時, 第一FIFO緩存區(qū)109指向USB接口 106,第二FIFO緩存區(qū)110指向閃存 控制器107,第三FIFO緩存區(qū)111指向加密算法才莫塊102,然后主機(jī)20通 過USB接口 106向第一FIFO緩存區(qū)109輸入第四批原文數(shù)據(jù)(圖中第一FIFO 緩存區(qū)109由"空白,,變?yōu)?填充斜線,,),加密算法模塊102對第三FIFO 緩存區(qū)111中的第三批原文數(shù)據(jù)進(jìn)行加密得到第三批密文數(shù)據(jù)(圖中第三 FIFO緩存區(qū)111由"填充斜線"變?yōu)?填充黑色"),同時第二FIFO緩存區(qū) 110通過閃存控制器107向閃存108輸出第二批密文數(shù)據(jù)(圖中第二 FIFO緩 存區(qū)110由"填充黑色"變?yōu)?空白")。
      步驟五第三控制位203先使能,使得閃存控制器107的邏輯地址與加 密算法模塊102的邏輯地址進(jìn)行交換,接著第二控制位202再使能,使得 USB接口 106的邏輯地址與加密算法模塊102的邏輯地址進(jìn)行交換,此時, 第一 FIFO緩存區(qū)109指向加密算法模塊102,第二 FIFO緩存區(qū)110指向 USB接口 106,第三FIFO緩存區(qū)111指向閃存控制器107,然后主機(jī)20通 過USB接口 106向第二FIFO緩存區(qū)110輸入第五批原文數(shù)據(jù)(圖中第二FIFO 緩存區(qū)110由"空白"變?yōu)?填充斜線,,),加密算法模塊102對第一 FIFO 緩存區(qū)109中的第四批原文數(shù)據(jù)進(jìn)行加密得到第四批密文數(shù)據(jù)(圖中第一 FIFO緩存區(qū)109由"填充斜線"變?yōu)?填充黑色,,),同時第三FIFO緩存區(qū) 111通過閃存控制器107向閃存108輸出第三批密文數(shù)據(jù)(圖中第三FIFO緩 存區(qū)111由"填充黑色,,變?yōu)?空白");然后返回到步驟三,以此構(gòu)成循環(huán), 直到最后 一批密文數(shù)據(jù)輸出為止。
      如圖4所示,在實時加密U盤10初始化時,第一 FIFO緩存區(qū)109指向 USB接口 106的邏輯地址,第二 FIFO緩存區(qū)110指向加密算法模塊102的
      13邏輯地址,第三FIFO緩存區(qū)111指向閃存控制器107的邏輯地址。第一FIFO 緩存區(qū)109、第二FIFO緩存區(qū)110和第三FIFO緩存區(qū)111都為空(圖中分 別用"空白"表示)。
      當(dāng)主機(jī)20向?qū)崟r加密U盤10進(jìn)行讀操作時按以下步驟進(jìn)行工作
      步驟一閃存108通過閃存控制器107向第三FIFO緩存區(qū)111輸入第一 批密文數(shù)據(jù)(圖中第三FIFO緩存區(qū)111由"空白"變?yōu)?填充黑色,,);加 密算法模塊102不操作,第二FIFO緩存區(qū)110為空(圖中用"空白"表示); USB接口 106不操作,第一 FIFO緩存區(qū)109為空(圖中用"空白"表示)。
      步驟二第三控制位203使能,使得閃存控制器107的邏輯地址與加密 算法模塊102的邏輯地址進(jìn)行交換,此時,第二 FIFO緩存區(qū)110指向閃存 控制器107,第三FIFO緩存區(qū)111指向加密算法模塊102,然后閃存108通 過閃存控制器107向第二 FIFO緩存區(qū)110輸入第二批密文^t據(jù)(圖中第二 FIFO緩存區(qū)110由"空白"變?yōu)?填充黑色"),同時加密算法模塊102對第 三FIFO緩存區(qū)111中的第一批密文數(shù)據(jù)進(jìn)行解密得到第一批原文數(shù)據(jù)(圖 中第三FIFO緩存區(qū)111由"填充黑色"變?yōu)?填充斜線,,)。USB接口 106 不操作,第一FIFO緩存區(qū)109為空(圖中用"空白"表示)。
      步驟三第二控制位202先使能,使得USB接口 106的邏輯地址與加密 算法模塊102的邏輯地址進(jìn)行交換,接著第三控制位203再使能,使得閃存 控制器107的邏輯地址與加密算法模塊102的邏輯地址進(jìn)行交換,此時,第 一FIFO緩存區(qū)109指向閃存控制器107,第二FIFO緩存區(qū)110指向加密算 法模塊102,第三FIFO緩存區(qū)111指向USB接口 106,然后閃存108通過 閃存控制器107向第一FIFO緩存區(qū)109輸入第三批密文凄t據(jù)(圖中第一FIFO 緩存區(qū)109由"空白"變?yōu)?填充黑色,,),加密算法模塊102對第二 FIFO 緩存區(qū)110中的第二批密文數(shù)據(jù)進(jìn)行解密得到第二批原文數(shù)據(jù)(圖中第二 FIFO緩存區(qū)110由"填充黑色"變?yōu)?填充斜線,,),同時第三FIFO緩存區(qū) 111通過USB接口 106向主機(jī)20輸出第 一批原文數(shù)據(jù)(圖中第三FIFO緩存 區(qū)111由"填充斜線"變?yōu)?空白")。
      步驟四第二控制位202先使能,使得USB接口 106的邏輯地址與加密 算法模塊102的邏輯地址進(jìn)行交換,接著第三控制位203再使能,使得閃存 控制器107的邏輯地址與加密算法模塊102的邏輯地址進(jìn)行交換,第一 FIFO 緩存區(qū)109指向加密算法模塊102,第二FIFO緩存區(qū)110指向USB接口 106, 第三FIFO緩存區(qū)111指向閃存控制器107,然后閃存108通過閃存控制器107向第三FIFO緩存區(qū)111輸入第四批密文數(shù)據(jù)(圖中第三FIFO緩存區(qū)111 由"空白,,變?yōu)?填充黑色"),加密算法才莫塊102對第一 FIFO緩存區(qū)109 中的第三批密文數(shù)據(jù)進(jìn)行解密得到第三批原文數(shù)據(jù)(圖中第一 FIFO緩存區(qū) 109由"填充黑色,,變?yōu)?填充斜線"),同時第二FIFO緩存區(qū)110通過USB 接口 106向主機(jī)20輸出第二批原文數(shù)據(jù)(圖中第二FIFO緩存區(qū)110由"填 充斜線"變?yōu)?空白")。
      步驟五第二控制位202先使能,使得USB接口 106的邏輯地址與加密 算法模塊102的邏輯地址進(jìn)行交換,接著第三控制位203再使能,使得閃存 控制器107的邏輯地址與加密算法模塊102的邏輯地址進(jìn)行交換,此時,第 一FIFO緩存區(qū)109指向USB接口 106,第二FIFO緩存區(qū)IIO指向閃存控 制器107,第三FIFO緩存區(qū)111指向加密算法模塊102,然后閃存108通過 閃存控制器107向第二FIFO緩存區(qū)110輸入第五批密文數(shù)據(jù)(圖中第二FIFO 緩存區(qū)110由"空白,,變?yōu)?填充黑色,,),加密算法模塊102對第三FIFO 緩存區(qū)111中的第四批密文數(shù)據(jù)進(jìn)行解密得到第四批原文數(shù)據(jù)(圖中第三 FIFO緩存區(qū)111由"填充黑色"變?yōu)?填充斜線"),同時第一FIFO緩存區(qū) 109通過USB接口 106向主機(jī)20輸出第三批原文數(shù)據(jù)(圖中第一 FIFO緩存 區(qū)109由"填充斜線,,變?yōu)?空白");然后返回到步驟三,以此構(gòu)成循環(huán), 直到最后 一批原文數(shù)據(jù)輸出為止。
      上述實施例只為說明本發(fā)明的技術(shù)構(gòu)思及特點,其目的在于讓熟悉此項 技術(shù)的人士能夠了解本發(fā)明的內(nèi)容并據(jù)以實施,并不能以此限制本發(fā)明的保 護(hù)范圍。凡根據(jù)本發(fā)明精神實質(zhì)所作的等效變化或^'務(wù)飾,都應(yīng)涵蓋在本發(fā)明 的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1、一種實時加密U盤,包括USB接口(106),該接口為用于連接主機(jī)(20)的USB接口,實現(xiàn)從主機(jī)(20)讀出數(shù)據(jù)或向主機(jī)(20)寫入數(shù)據(jù);閃存(108),用于存儲數(shù)據(jù);閃存控制器(107),用于控制閃存(108)的接口信號,實現(xiàn)從閃存(108)讀出數(shù)據(jù)或向閃存(108)寫入數(shù)據(jù);內(nèi)部存儲器(103),用于存儲所述實時加密U盤(10)的固件或開機(jī)引導(dǎo)程序(BootLoader);CPU(104),用于執(zhí)行存儲于內(nèi)部存儲器(103)上的固件輸入的指令,完成對所述實時加密U盤(10)的控制和管理;其特征在于還包括加密算法模塊(102),用于加密從主機(jī)(20)讀出的原文數(shù)據(jù)以及解密從閃存(108)讀出的密文數(shù)據(jù),實現(xiàn)數(shù)據(jù)流的高速加解密;FIFO緩存器,該緩存器具有第一FIFO緩存區(qū)(109)、第二FIFO緩存區(qū)(110)和第三FIFO緩存區(qū)(111),在所述實時加密U盤(10)初始化時,USB接口(106)的邏輯地址分配給第一FIFO緩存區(qū)(109),加密算法模塊(102)的邏輯地址分配給第二FIFO緩存區(qū)(110),閃存控制器(107)的邏輯地址分配給第三FIFO緩存區(qū)(111);FIFO控制器(101),由寄存器構(gòu)成,該寄存器設(shè)有三個控制位,其中,第一控制位(201)使能后使得USB接口(106)的邏輯地址與閃存控制器(107)的邏輯地址進(jìn)行交換,第二控制位(202)使能后使得USB接口(106)的邏輯地址與加密算法模塊(102)的邏輯地址進(jìn)行交換,第三控制位(203)使能后使得閃存控制器(107)的邏輯地址與加密算法模塊(102)的邏輯地址進(jìn)行交換;CPU(104)分別與加密算法模塊(102)、FIFO控制器(101)、內(nèi)部存儲器(103)、FIFO緩存器、USB接口(106)和閃存控制器(107)通過總線連接。
      2、 根據(jù)權(quán)利要求1所述的實時加密U盤,其特征在于還包括通訊I/O模 塊(105),通訊I/0模塊(105)通過總線與所述CPU (104)連接。
      3、 根據(jù)權(quán)利要求1所述實時加密U盤的高速加解密方法,其特征在于 在主機(jī)(20)向閃存(108)進(jìn)行寫4喿作或讀才喿作過程中,利用FIFO控制器(101 )中第二控制位(202)和第三控制位(203 )的交替使能來切換USB接口 (106)、加密算法模塊(102)和閃存控制器(107)的邏輯地址,與第一 FIFO緩存區(qū)(109)、第二FIFO緩存區(qū)(110)和第三FIFO緩存區(qū)(111)的 物理地址之間的映射關(guān)系,使第一 FIFO緩存區(qū)(109 )、第二 FIFO緩存區(qū)(110 ) 和第三FIFO緩存區(qū)(111)輪流跟隨USB接口 (106)、加密算法模塊(102) 和閃存控制器(107)并行工作,在主機(jī)(20)與閃存(108)之間傳遞數(shù)據(jù)批 次,其中,寫操作時所述第二控制位(202)和第三控制位(203 )的交替使能 從第二控制位(202 )開始,讀操作時所述第二控制位(202 )和第三控制位(203 ) 的交替使能從第三控制位(203 )開始。
      4、根據(jù)權(quán)利要求3所述的高速加解密方法,其特征在于 在所述實時加密U盤(10)初始化時,第一 FIFO緩存區(qū)(109)、第二FIFO 緩存區(qū)(110)和第三FIFO緩存區(qū)(111 )都為空;當(dāng)主機(jī)(20)向閃存(108)進(jìn)行寫操作時按以下步驟進(jìn)行工作 步驟一主機(jī)(20)通過USB接口 (106)向第一FIFO緩存區(qū)(109)輸 入第一批原文數(shù)據(jù);步驟二第二控制位(202)使能,使得USB接口 (106)的邏輯地址與加 密算法模塊(102 )的邏輯地址進(jìn)行交換,然后主機(jī)(20 )通過USB接口 ( 106 ) 向第二FIFO緩存區(qū)(110)輸入第二批原文數(shù)據(jù),同時加密算法模塊(102) 對第一 FIFO緩存區(qū)(109)中的第一批原文數(shù)據(jù)進(jìn)行加密得到第一批密文數(shù) 據(jù);步驟三第三控制位(203 )先使能,使得閃存控制器(107)的邏輯地址 與加密算法模塊(102 )的邏輯地址進(jìn)行交換,接著第二控制位(202 )再使能, 使得USB接口 (106)的邏輯地址與加密算法^^塊(102)的邏輯地址進(jìn)行交 換,然后主機(jī)(20)通過USB接口 (106)向第三FIFO緩存區(qū)(111)輸入第 三批原文數(shù)據(jù),加密算法模塊(102)對第二FIFO緩存區(qū)(110)中的第二批 原文數(shù)據(jù)進(jìn)行加密得到第二批密文數(shù)據(jù),同時第一 FIFO緩存區(qū)(109)通過 閃存控制器(107)向閃存(108)輸出第一批密文數(shù)據(jù);步驟四第三控制位(203 )先使能,使得閃存控制器(107)的邏輯地址 與加密算法模塊(102 )的邏輯地址進(jìn)行交換,接著第二控制位(202 )再使能, 使得USB接口 (106)的邏輯地址與加密算法模塊(102)的邏輯地址進(jìn)行交 換,然后主機(jī)(20)通過USB接口 (106)向第一 FIFO緩存區(qū)(109)輸入 第四批原文數(shù)據(jù),加密算法模塊(102)對第三FIFO緩存區(qū)(111)中的第三 批原文數(shù)據(jù)進(jìn)行加密得到第三批密文數(shù)據(jù),同時第二 FIFO緩存區(qū)(110)通過閃存控制器(107)向閃存(108)輸出第二批密文數(shù)據(jù);步驟五第三控制位(203 )先使能,使得閃存控制器(107)的邏輯地址 與加密算法模塊(102 )的邏輯地址進(jìn)行交換,接著第二控制位(202 )再使能, 使得USB接口 (106)的邏輯地址與加密算法模塊(102)的邏輯地址進(jìn)行交 換,然后主機(jī)(20)通過USB接口 ( 106)向第二 FIFO緩存區(qū)(110)輸入第 五批原文數(shù)據(jù),加密算法模塊(102)對第一FIFO緩存區(qū)(109)中的第四批 原文數(shù)據(jù)進(jìn)行加密得到第四批密文數(shù)據(jù),同時第三FIFO緩存區(qū)(111 )通過閃 存控制器(107)向閃存(108)輸出第三批密文數(shù)據(jù);然后返回到步驟三,以 此構(gòu)成循環(huán),直到最后一批密文數(shù)據(jù)輸出為止;當(dāng)主機(jī)(20)向閃存(108)進(jìn)行讀操作時按以下步驟進(jìn)行工作 步驟一閃存(108)通過閃存控制器(107)向第三FIFO緩存區(qū)(111) 輸入第一批密文數(shù)據(jù);步驟二第三控制位(203 )使能,使得閃存控制器(107)的邏輯地址與 加密算法模塊(102)的邏輯地址進(jìn)行交換,然后閃存(108)通過閃存控制器 (107)向第二FIFO緩存區(qū)(110)輸入第二批密文數(shù)據(jù),同時加密算法才莫塊 (102)對第三FIFO緩存區(qū)(111)中的第一批密文數(shù)據(jù)進(jìn)行解密得到第一批 原文數(shù)據(jù);步驟三第二控制位(202)先使能,使得USB接口 (106)的邏輯地址與 加密算法模塊(102)的邏輯地址進(jìn)行交換,接著第三控制位(203 )再使能, 使得閃存控制器(107)的邏輯地址與加密算法模塊(102)的邏輯地址進(jìn)行交 換,然后閃存(108)通過閃存控制器(107)向第一 FIFO緩存區(qū)(109)輸 入第三批密文數(shù)據(jù),加密算法模塊(102)對第二FIFO緩存區(qū)(110)中的第 二批密文數(shù)據(jù)進(jìn)行解密得到第二批原文數(shù)據(jù),同時第三FIFO緩存區(qū)(111 )通 過USB接口 (106)向主機(jī)(20)輸出第一批原文數(shù)據(jù);步驟四第二控制位(202)先使能,使得USB接口 (106)的邏輯地址與 加密算法模塊(102)的邏輯地址進(jìn)行交換,接著第三控制位(203 )再使能, 使得閃存控制器(107)的邏輯地址與加密算法模塊(102)的邏輯地址進(jìn)行交 換,然后閃存(108)通過閃存控制器(107)向第三FIFO緩存區(qū)(111)輸入 第四批密文數(shù)據(jù),加密算法模塊(102)對第一FIFO緩存區(qū)(109)中的第三 批密文數(shù)據(jù)進(jìn)行解密得到第三批原文數(shù)據(jù),同時第二 FIFO緩存區(qū)(110)通 過USB接口 (106)向主機(jī)(20)輸出第二批原文數(shù)據(jù);步驟五第二控制位(202)先使能,使得USB接口 (106)的邏輯地址與加密算法模塊(102)的邏輯地址進(jìn)行交換,接著第三控制位(203 )再使能, 使得閃存控制器(107)的邏輯地址與加密算法模塊(102)的邏輯地址進(jìn)行交 換,然后閃存(108)通過閃存控制器(107)向第二 FIFO緩存區(qū)(110)輸 入第五批密文數(shù)據(jù),加密算法模塊(102)對第三FIFO緩存區(qū)(111)中的第 四批密文數(shù)據(jù)進(jìn)行解密得到第四批原文數(shù)據(jù),同時第一 FIFO緩存區(qū)(109) 通過USB接口 (106)向主機(jī)(20)輸出第三批原文數(shù)據(jù);然后返回到步驟三, 以此構(gòu)成循環(huán),直到最后一批原文數(shù)據(jù)輸出為止。
      全文摘要
      一種實時加密U盤及高速加解密方法,包括USB接口(106)、閃存(108)、閃存控制器(107)、加密算法模塊(102)、內(nèi)部存儲器(103)、CPU(104)、FIFO緩存器、FIFO控制器(101)。本發(fā)明利用FIFO控制器(101)中第二控制位(202)和第三控制位(203)的交替使能來切換USB接口(106)、加密算法模塊(102)和閃存控制器(107)的邏輯地址,與第一FIFO緩存區(qū)(109)、第二FIFO緩存區(qū)(110)和第三FIFO緩存區(qū)(111)的物理地址之間的映射關(guān)系,使第一FIFO緩存區(qū)(109)、第二FIFO緩存區(qū)(110)和第三FIFO緩存區(qū)(111)輪流跟隨USB接口(106)、加密算法模塊(102)和閃存控制器(107)并行工作,在主機(jī)(20)與閃存(108)之間傳遞數(shù)據(jù)批次,從而提高了數(shù)據(jù)的加解密速度。
      文檔編號G11C7/10GK101540191SQ20091003068
      公開日2009年9月23日 申請日期2009年4月21日 優(yōu)先權(quán)日2009年4月21日
      發(fā)明者林雄鑫, 王忠海, 肖佐楠, 茳 鄭 申請人:蘇州國芯科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1