新四季網

實時數據密碼運算方法

2023-10-04 14:08:29 8

專利名稱:實時數據密碼運算方法
技術領域:
本發明涉及數據加密/解密,特別是一種實時數據密碼運算方法。
背景技術:
整合驅動電子裝置(Integrated Drive Electronics,簡稱IDE)為用於計算 機主板總線與磁碟儲存裝置之間的標準電子接口。已採用IDE當作美國國家標準協會 (American National Standards Institute,簡稱ANSI)的標準,藉此關於 IDE 的 ANSI 設計 為先進技術附件(Advacnced Technology Attachment,簡稱ATA)。IDE/ATA也稱為計算機 或主裝置將數據轉移到數據儲存裝置,或是從數據儲存裝置將數據傳輸到計算機或主裝置 的電子協議。IDE中所使用的數據傳輸方法有二種程序化輸入/輸出(Programmed Input/ Output,簡稱ΡΙΟ)及直接內存存取(Direct Memory Access,簡稱DMA)。在PIO模式中,數 據傳輸是通過主裝置或處理器來激活及進行。在DMA模式中,數據傳輸是通過用於主裝置 與數據儲存裝置之間的交握的信號來控制。當私密的數據被存取於無法保證其可控制的儲存媒體中時,數據加密及解密會產 生保護數據免於未授權存取的機制。數據可通過將從主裝置傳送到數據儲存裝置時的數據 加密,以及在主裝置請求後,從數據儲存裝置擷取時的儲存數據解密,而進行密碼保護。在傳統的數據傳遞(relay)方法中,數據是經由IDE橋接器,或串接於主機與數 據儲存裝置之間的接口來傳輸。此種型式的數據傳輸傳統上需要IDE接口來實施可支持 用於數據緩衝/數據流控制的IDE接口的每側的完整ATA協議的IDE控制器。在IDE/ATA 數據傳輸的期間,IDE接口同時扮演了具有數據儲存裝置的虛擬主裝置的角色,以及具有主 裝置的虛擬數據儲存裝置的角色。此數據傳遞方法的問題是IDE接口需要實施大數據緩 衝器,來維持數據流控制。這樣的大數據緩衝器是使用昂貴的靜態隨機存取內存(static random-access memory,簡稱SRAM)宏或類似組件,而通常會實施於IDE特定應用集成電路 (application specific integrated circuit,簡稱ASIC)上,這會導致晶片的製造成本很 聞。

發明內容
本發明一般是針對一種實時數據密碼運算方法,包括至少一個密碼接口,操作時 耦接於至少一個主裝置與至少一個數據儲存裝置之間,並且用以在此主裝置與此數據儲存 裝置之間的高速直接內存存取/多重字組直接內存存取(UDMA/Multi-word DMA)數據傳輸 期間,進行實時數據加密及解密,而不會影響整體的數據傳輸效率。
在本發明的一實施例中,一種實時數據密碼運算的方法,至少包含以下步驟一密 碼接口自一主裝置的一接口接收一高速直接內存存取/多重字組直接內存存取數據輸出 命令(UDMA/Multi-word DMA data-out command)。首先,由密碼接口自所接收到的高速直 接內存存取/多重字組直接內存存取數據輸出命令讀取數據傳輸模式及數據傳輸大小。密 碼接口先傳輸一第一信號至主裝置的接口以開始傳輸數據。接著,密碼接口在送出第一信 號後接收一明文數據。密碼接口對明文數據進行加密形成一密文數據。再來,密碼接口傳 送一第二信號至一數據儲存裝置的一接口。以及密碼接口在傳送第二信號之後送出密文數 據至數據儲存裝置的接口。在本發明的另一實施例中,一種實時數據密碼運算的方法,方法至少包含以下步 驟一密碼接口自一主裝置的一接口接收一高速直接內存存取/多重字組直接內存存取數 據輸入命令(UDMA/Multi-word DMA data-in command)。密碼接口自所接收到的高速直接 內存存取/多重字組直接內存存取數據輸入命令讀取數據傳輸模式及數據傳輸大小。密碼 接口傳輸一第一信號至數據儲存裝置的接口以開始傳輸數據。密碼接口在送出第一信號後 自數據儲存裝置之接口接收一密文數據。密碼接口解密密文數據以形成一解密數據。密碼 接口送出一第二信號至一主裝置的一接口。以及密碼接口在送出第二信號後傳輸解密數據 至主裝置的接口。在本發明的又另一實施例中,一種應用於一密碼接口的實時數據密碼運算方法, 方法至少包含以下步驟送出一高速直接內存存取/多重字組直接內存存取數據輸入命令 (UDMA/Multi-word DMA data-in command)到一數據儲存裝置的一接口。自數據儲存裝 置的接口接收一第一信號,且第一信號顯示數據儲存裝置的接口是否準備好傳輸一密文數 據。接收密文數據並將密文數據導引至一輸入緩衝器。解密密文數據以形成一解密數據, 並將解密數據導引至一輸出緩衝器。送出一第二信號至一主裝置的一接口,第二信號顯示 解密數據已準備好被傳輸。以及傳送解密數據到主裝置的接口。在本發明的又另一實施例中,一種應用於一密碼接口的實時數據密碼運算方法, 方法至少包含以下步驟自一主裝置的一接口接收一高速直接內存存取/多重字組直接內 存存取數據輸出命令(UDMA/Multi-word DMA data-out command)。傳送一第一信號至主裝 置的接口,且第一信號顯示密碼接口是否準備好接收一明文數據。自主裝置的接口接收明 文數據,並將明文數據導至一輸入緩衝器。於輸入緩衝器中加密明文數據以形成一密文數 據,並將密文數據導至一輸出緩衝器。送出一第二信號至一數據儲存裝置的一接口,且第二 信號顯示密文數據已準備好被傳輸。以及傳送密文數據至數據儲存裝置的接口。從本發明的附圖及以下的詳細說明中,本發明的這些及其它目的將會變得更加清
林 疋。


當配合附圖閱讀時,本發明會從以下的詳細說明中,而更加明白。要強調的是,根 據一般習慣,附圖的各種特性不是按比例排列。反之,為了清楚起見,各種特性的大小可任 意擴展或減小。在說明書及整個附圖中,相似標號是代表相似特性,其中圖1是用於IDE/ΑΤΑ數據傳輸的實時數據加密/解密系統的概要方塊 0015]圖2是高速直接內存存取(UDMA)/Multi-word DMA數據輸出傳輸的概圖3是UDMA/Multi-word DMA數據輸入傳輸的概圖;圖4是程序化輸入/輸出(PIO)數據輸出傳輸的概圖;圖5是PIO數據輸入傳輸的概圖;圖6是一般地顯示圖1的實時數據加密/解密系統的一實施例;圖7是一般地繪示在IDE/ΑΤΑ數據傳輸的期間,用於實時數據加密/解密的方法 的流程圖;圖8是一般地繪示在UDMA/Multi-word DMA數據傳輸的期間,用於實時數據加密 /解密的方法的流程圖;以及圖9是一般地繪示在PIO數據傳輸的期間,用於實時數據加密/解密的方法的流 程圖。附圖標記說明8實時數據加密/解密系統;10密碼接口 ;12,14IDE控制器;16主 裝置;18數據儲存裝置;20,22大數據緩衝器;24密碼引擎;26小輸入數據緩衝器;28小輸 出數據緩衝器;30主裝置側的IDE控制器;32數據儲存裝置側的IDE控制器。
具體實施例方式本發明的一些實施例是配合圖1到9進行詳細地說明的。本發明的額外實施例、 特性及/或優點將會從具體的說明中變成更加清楚,或通過實施本發明而學習得知。圖1是用於IDE/ΑΤΑ數據傳輸的實時數據加密/解密系統8的概要方塊圖。實時 數據加密/解密系統8包括密碼接口 10,工作時耦接於主裝置16的IDE控制器12與數據 儲存裝置18的IDE控制器14之間。密碼接口 10是用以在主裝置16與數據儲存裝置18 之間的IDE/ΑΤΑ數據傳輸期間,進行如同透明不存在地實時數據加密/解密,而不會使整體 數據傳輸效率產生不利的影響。IDE控制器12支持標準完整-ATA協議,並且包括用於數據流控制的傳統的大數據 緩衝器20。IDE控制器14也支持標準完整-ATA協議,並且包括用於數據流控制的傳統的 大數據緩衝器22。一般而言,主裝置16可為桌上型或筆記型計算機、微處理器、路由器、適 配卡、或可產生數據的任何其它裝置,而數據儲存裝置18可為磁碟驅動器、磁帶機、軟盤、 光碟機、磁性光碟機、數字錄像機、快閃記憶體卡、PCMCIA卡、或用於擷取為目的的可儲存數據的任何其 它裝置。在本發明的一實施例中,密碼接口 10將擷取主裝置16與數據儲存裝置18之間的 IDE/ΑΤΑ數據傳輸,以及經由密碼(cipher)引擎24 (其工作時耦接於小輸入數據緩衝器26 與小輸出數據緩衝器28之間,如圖1中的一般性顯示)的如同透明不存在地加密/解密數 據。在主裝置16與數據儲存裝置18之間的IDE/ΑΤΑ數據傳輸期間,密碼接口 10的密碼引擎 24會使用各種已知的密碼算法(如數據加密標準(Data Encryption Standard,簡稱DES)、 三重DES(Triple DES,簡稱TDES)、或先進加密標準(Advanced Encryption Standard,簡稱 AES)),來加密/解密許多標準管線階層(Pipeline Stages)中的數據。密碼引擎及/或密 碼算法的其它型式也可用來實施本發明。在本發明的另一實施例中,當數據正於主裝置16與數據儲存裝置18之間傳輸時, 密碼接口 10將IDE/ΑΤΑ數據流控制信號從主裝置16,經由主裝置側的IDE控制器30,以及 數據儲存裝置側的IDE控制器32而直接傳遞/傳送至數據儲存裝置18,而且反的亦然。IDE
6控制器30,32中的每一個是用以支持部分ATA協議,如圖1中的一般性繪示。如圖1中的 一般性顯示,密碼接口 10是通過擷取經由主裝置側的IDE控制器30的主IDE/ATA數據流 控制信號,以及重新產生經由數據儲存裝置側的IDE控制器32的用於數據儲存裝置18的 這些控制信號,而將IDE/ATA數據流控制信號從主裝置16傳送到數據儲存裝置18。同樣地,密碼接口 10是通過擷取經由數據儲存裝置側的IDE控制器32的數據儲 存裝置的IDE/ATA數據流控制信號,以及重新產生經由主裝置側的IDE控制器30的這些控 制信號,而將IDE/ATA數據流控制信號從數據儲存裝置18傳送到主裝置16。在主裝置16 與數據儲存裝置18之間的IDE/ATA數據傳輸期間,結合密碼引擎24的IDE控制器30,32 中的部分ATA協議的達成使密碼接口 10能實時的將數據進行顯明的加密/解密。密碼接 口 10是被組構成與主裝置16和數據儲存裝置18 —樣快的速度,來處理數據,以至於不會 損害整體的數據傳輸效能。在本發明的又另一實施例中,若數據未於主裝置16與數據儲存裝置18之間傳輸 時,密碼接口 10使從主裝置16至數據儲存裝置18的IDE/ATA數據流控制信號的延遲傳送, 而且反之亦然,如在此於底下配合圖7的步驟148及152所做的一般性說明。從IDE控制器12、14的功能觀點來看,IDE/ATA數據傳輸直接在主裝置16與數據 儲存裝置18之間進行,而不會有任何的密碼接口 10介入。因此,密碼接口 10不需包含如 大數據緩衝器及完整ATA協議支持的傳統的數據緩衝/數據流控制能力,如傳統上於此技 術中所實施的。此外,不需要將主裝置與數據儲存裝置之間的IDE/ATA數據傳輸分成二個 獨立的數據傳輸,如在主裝置16與密碼接口 10之間,以及在密碼接口 10與數據儲存裝置 18之間。IDE控制器12,14中的每一個是負責處理IDE/ATA數據傳輸期間的數據緩衝/數 據流控制。密碼接口 10—般是用來當作「傳送者」,或在IDE/ATA數據傳輸期間,當作主裝 置16與數據儲存裝置18之間的與IDE/ATA兼容的數據流動控制信號傳送橋接器。密碼接 口 10的IDE控制器30,32隻需要將用以進行密碼數據處理所需的那些ATA命令解譯即可。如圖1中的進一步繪示,主裝置16可經由密碼接口 10 (其會經由小輸入數據緩衝 器26、密碼引擎24、以及小輸出數據緩衝器28而實時的將進來的數據進行如同透明不存在 地加密)將數據儲存於數據儲存裝置18中。主裝置16可經由密碼接口 10 (其會經由小輸 入數據緩衝器26、密碼引擎24、以及小輸出數據緩衝器28而實時的將相同數據進行如同透 明不存在地解密),而從數據儲存裝置18中讀取儲存的加密數據。在本發明的另一實施例中,密碼接口 10是實施為特定應用集成電路 (application specific integrated circuit,簡稱 ASIC)。小輸入數據緩衝器 26 及小輸 出數據緩衝器28 (其用來保持密碼引擎24的管線階層(Pipeline Stages)的數據)是使 用栓鎖器或緩存器來實施。此種實施方式可避免使用昂貴的靜態隨機存取內存(static random access memory,簡稱SRAM)宏或類似組件。密碼接口 10的其它實施方式可使用如 符合本發明的意含的精神及範圍的其它的實施方式。圖2是高速直接內存存取(UDMA)/多重字組DMA (Multi-word DMA),(以下分別稱 為(UDMA)及(Multi-word DMA)),其數據輸出傳輸的概圖。UDMA為傳輸硬碟機,經由計算 機總線至計算機的隨機存取內存(RAM)之間的數據的協議。UDMA協議在ATA數據傳輸期 間,是以爆發模式(burst mode)來傳輸數據,並且會使用循環冗餘檢查(CRC)來保護數據。 數據爆發模式(Data burst mode)包括數據爆發初始(Data burst Initialization)、數據爆發暫停(Data burst Pausing)、以及數據爆發停止(Data burst Termination)程序。在 一例中,UDMA/Multi-word DMA數據輸出傳輸可定義為從主裝置16至數據儲存裝置18的 UDMA/Multi-word DMA數據傳輸。在另一例中,UDMA/Multi-word DMA數據輸出傳輸可定義 為從數據儲存裝置18至主裝置16的UDMA/Multi-word DMA數據傳輸。在數據爆發初始程序開始之前,密碼接口 10會讀取如數據傳輸模式、數據傳輸大 小、以及類似事物的必要IDE/ATA數據傳輸參數,用以根據這些參數,來準備主裝置16與數 據儲存裝置18之間的UDMA/Multi-word DMA數據傳輸,如圖2的步驟50中的概要顯示。在UDMA/Multi-word DMA數據輸出傳輸(其包含許多數據爆發)開始時,密碼接 口 10先與主裝置16,來進行爆發初始程序,而激活數據傳輸,並且引導進來的數據,經由小 輸入緩衝器26(顯示於圖1中)而送到密碼引擎24(顯示於圖1中)。在進來的數據進行 加密,並且傳輸到小輸出數據緩衝器28 (顯示於圖1中)的後,密碼接口 10再與數據儲存 裝置18,來進行爆發初始程序,並且將加密的數據傳送至數據儲存裝置18,如圖2的步驟52 中的概要顯示。在數據爆發的傳送期間,若主裝置16或數據儲存裝置18由於數據流控制問題,而 需使數據傳輸暫停,則密碼接口 10會立即傳送主裝置16與數據儲存裝置18之間的對應的 數據傳輸暫停命令/響應信號,而能使數據傳輸產生暫停,如圖2的步驟58中的概要顯示。 因此,在UDMA/Multi-word DMA數據輸出傳輸的期間,密碼接口 10完全不會影響數據流控 制。反而,密碼接口 10會分別經由IDE控制器30(顯示於圖1中)及密碼引擎24 (顯示於 圖1中),而如同透明不存在地介入傳送數據流控制信號及進行數據加密。如圖2的步驟54中的概要顯示,若主裝置16或數據儲存裝置18需使傳送中的數 據爆發停止,則密碼接口 10會立即傳送主裝置16與數據儲存裝置18之間的對應的數據傳 輸停止命令/響應信號,而能使數據傳輸停止。在爆發停止程序的期間,IDE控制器12(顯示於圖1中)會將來自於明文(plain text)數據中所計算的CRC值,傳送到IDE控制器30 (顯示於圖1中),用以在每次數據爆 髮結束時(at the end of each data burst)進行錯誤檢查。密碼接口 10的IDE控制器 32 (顯示於圖1中)會將來自於密文(cipher text)數據中所計算的CRC值,傳送到數據儲 存裝置18,用以在每次數據爆發結束時進行錯誤檢查。若傳送的密文的CRC值錯誤,則在數 據傳輸停止的後,數據儲存裝置18會通過CRC錯誤狀態位,而將問題回報給主裝置16,而不 會由密碼接口 10採取額外的動作。若傳送的明文的CRC值錯誤,則密碼接口 10會將CRC錯誤傳送到數據儲存裝置 18,以通過在最後一個數據爆發停止程序的期間,將預定的錯誤CRC值傳送到數據儲存裝 置18,而告知數據儲存裝置18CRC錯誤。最後一個數據爆發停止程序是一般顯示為圖2中 的步驟60。如圖2的步驟62中的概要顯示,當數據傳輸已完成時,數據儲存裝置18會傳送對 應的ATA信息至主裝置16,以告知主裝置16數據傳輸已完成。圖 3 是 UDMA/Multi-word DMA 數據輸入傳輸的概圖。在一例中,UDMA/Multi-word DMA數據輸入傳輸可定義為從數據儲存裝置18至主裝置16的UDMA/Multi-word DMA數據 傳輸。在另一例中,UDMA/Multi-word DMA數據輸入傳輸可定義為從主裝置16至數據儲存 裝置18的UDMA/Multi-word DMA數據傳輸。
8
如步驟70中的概要顯示,密碼接口 10會擷取如數據傳輸模式、數據傳輸大小、以 及類似事物的必要IDE/ATA數據傳輸參數,用以根據這些參數,來準備數據儲存裝置18與 主裝置16之間的UDMA/Multi-word DMA數據傳輸。密碼接口 10是以數據儲存裝置18,來 進行爆發初始程序,而激活數據傳輸,並且引導加密數據,經由小輸入緩衝器26(顯示於圖 1中)而送到密碼引擎24(顯示於圖1中),以進行解密。在進來的數據進行解密,並且傳 輸到小輸出數據緩衝器28 (顯示於圖1中)的後,密碼接口 10是以主裝置16,來進行爆發 初始程序,並且將解密的數據傳送至主裝置16,如圖3的步驟72中的概要顯示。在數據爆發的傳送期間,若數據儲存裝置18或主裝置16由於數據流控制問題,而 需使數據傳輸暫停,則密碼接口 10會立即傳送數據儲存裝置18與主裝置16之間的對應 的數據傳輸暫停命令/響應信號,而能使數據傳輸產生暫停,如圖3的步驟78中的概要顯 示。因此,在UDMA/Multi-word DMA數據輸入傳輸的期間,密碼接口 10完全不會影響數據 流控制。反而,密碼接口 10會分別經由IDE控制器32(顯示於圖1中)及密碼引擎24,而 在UDMA/Multi-word DMA數據輸入傳輸的期間,如同透明不存在地介入傳送數據流控制信 號及進行數據解密。若數據儲存裝置18或主裝置16需使傳送中的數據爆發停止,則密碼接口 10會立 即傳送數據儲存裝置18與主裝置16之間的對應的數據傳輸停止命令/響應信號,而能使 數據傳輸停止,如圖3的步驟74中的概要顯示。在步驟80中,密碼接口 10先與數據儲存裝置18來進行最後一個爆發停止程序。 密碼引擎24會將最後剩下的數據解密,並且將最後剩下的數據傳送到小輸出數據緩衝器 28。密碼接口 10是以主裝置16來進行爆發停止程序。若CRC錯誤發生於數據傳輸的數據 儲存裝置側,則因為在數據轉移停止的後,數據儲存裝置18會立即通過CRC錯誤狀態位,而 將此錯誤回報給主裝置16,所以密碼接口 10不會採取特別動作。若CRC錯誤發生於數據傳輸的主裝置側,則因為數據儲存裝置側的數據傳輸已停 止,所以密碼接口 10不會將此錯誤傳送到數據儲存裝置18。如步驟82中的概要顯示,為了 解決此問題,密碼接口 10會通過將CRC錯誤狀態位致能為「真」,來修改ATA信息,以告知主 裝置16,已由數據儲存裝置18已經偵測到CRC錯誤,藉此主裝置16可採取正確的動作,如 重新傳送數據。圖4是從主裝置16至數據儲存裝置18的PI0數據輸出傳輸的概圖。在PI0模式 中,數據傳輸是通過主裝置(如微處理器)來激活及進行。數據流控制包括讀取及寫入數 據觸發(read/write data strobe),其是通過主中央處理單元(CPU)或主ATA適配卡而發 送到數據儲存裝置。在一例中,PI0數據輸出傳輸可定義為從主裝置16至數據儲存裝置18 的PI0數據傳輸。在另一例中,PI0數據輸出傳輸可定義為從數據儲存裝置18至主裝置16 的PI0數據傳輸。開始時,密碼接口 10會擷取如數據傳輸模式、數據傳輸大小、以及類似事物的必 要IDE/ATA數據傳輸參數,用以根據這些參數,來準備主裝置16與數據儲存裝置18之間的 PI0數據輸出傳輸,如圖4的步驟100中的概要顯示。主裝置16會產生寫入觸發,而將數據 傳送到密碼接口 10。密碼接口 10會引導送進來的數據,經由小輸入數據緩衝器26(顯示 於圖1中),而送到密碼引擎24 (顯示於圖1中),以進行加密。密碼接口 10的IDE控制器 30 (顯示於圖1中)經由IDE控制器32 (顯示於圖1中)而傳送到數據儲存裝置18的IDE
9控制器14 (顯示於圖1中)的這些寫入觸發的延遲傳送,直到送進來的數據已加密,並且準 備好傳送到數據儲存裝置18,如圖4的步驟102中的一般顯示。如圖4的步驟104中的一般繪示,當加密數據準備好傳送到數據儲存裝置18時, 在數據傳輸的其餘持續期間,密碼接口 10的IDE控制器30(顯示於圖1中)會將寫入觸發 直接傳送至數據儲存裝置18的IDE控制器14 (顯示於圖1中)。在完成主裝置16側的數 據傳輸的後,密碼接口 10會立即產生寫入觸發,用以完成數據儲存裝置18側的數據傳輸, 如圖4的步驟106中的一般顯示。圖5是從數據儲存裝置18至主裝置16的PI0數據輸入傳輸的概圖。在一例中, PI0數據輸入傳輸可定義為從數據儲存裝置18至主裝置16的PI0數據傳輸。在另一例中, PI0數據輸入傳輸可定義為從主裝置16至數據儲存裝置18的PI0數據傳輸。開始時,密碼接口 10會擷取如數據傳輸模式、數據傳輸大小、以及類似事物的必 要IDE/ATA數據傳輸參數,用以根據這些參數,來準備數據儲存裝置18與主裝置16之間的 PI0數據輸入傳輸,如圖5的步驟110中的一般顯示。密碼接口 10會產生用於IDE控制器 32 (顯示於圖1中)的讀取觸發,而開始從數據儲存裝置18中擷取數據。數據儲存裝置18 是通過將加密數據經由小輸入數據緩衝器26 (顯示於圖1中),而傳送到密碼接口 10的密 碼引擎24,以進行解密來響應。密碼接口 10會持續產生讀取觸發,如圖5的步驟112中的 一般繪示,直到解密數據準備好經由小輸出數據緩衝器28 (顯示於圖1中),而傳送到主裝 置16。如圖5的步驟114中的一般顯示,主裝置16會產生讀取觸發,以擷取來自於密碼 接口 10的解密數據。在數據傳輸的其餘持續期間,主裝置所產生的讀取觸發會經由IDE控 制器30 (顯示於圖1中)、IDE控制器32及IDE控制器14 (顯示於圖1中),而直接傳送到 數據儲存裝置18。如圖5的步驟116中的一般繪示,在完成數據儲存裝置側的數據傳輸的後,密碼接 口 10的IDE控制器30會停止傳送主裝置側所產生的讀取觸發,而主裝置16會持續從密碼 接口 10中,讀取其餘送進來的解密數據。PI0數據輸入及數據輸出傳輸於密碼接口 10的二側的數據的總體速率實質上是 相同的,藉此可避免由於密碼接口 10的每側的觸發周期的問題,以解決傳統上需要密碼接 口 10的數據流控制支持的問題。PI0數據傳輸的開始及最終部分不會遇到數據流控制問題,即使在數據傳輸的這 些相當短的部分,未傳送數據觸發。原因的一是因為這些數據傳輸部分是相當短的。另一 種原因是因為主裝置16與密碼接口 10之間的獨自數據傳輸不需要數據流控制。密碼接口 10與數據儲存裝置18之間的獨自數據傳輸也不需要數據流控制。一般而言,當密碼接口 10的二側所傳輸的數據數量有問題時,會需要密碼接口 10的數據流控制,但是因為這些相 當短的開始/最終數據傳輸部分只會發生於主裝置側或數據儲存裝置側,所以通常不需要 密碼接口 10的數據流控制。圖6是一般地顯示圖1的實時數據加密/解密系統8的一實施例。特別而言,在偵 測出小輸出數據緩衝器28已滿後,密碼接口 10的密碼引擎24立即停止數據加密/解密。 特別而言,所有管線密碼階層(Pipeline ciphering stages)會立即停止數據處理,而不會 再接受來自於小輸入數據緩衝器26的數據。存在於密碼管線(Ciphering stages)中的任何數據不會再傳送到後面的階層。整個密碼運作會出現「凍結」,直到密碼引擎24偵測到小 輸出數據緩衝器28不再是滿的。此時,密碼引擎24會恢復數據處理,並且每個密碼管線階 層(Pipeline ciphering stages)會從先前停止處繼續運作。本領域熟練技術人員將了解 到,此密碼組成可簡化電路,且因此可簡化數據處理,以及降低製造成本。圖7是一般地繪示在IDE/ATA數據傳輸的期間,用於實時數據加密/解密的方法 的流程圖。在圖7的步驟140中,ATA信息是經由密碼接口 10(顯示於圖1中),而在主裝 置16與數據儲存裝置18之間進行交換。密碼接口 10會擷取必要的ATA參數、接收送進來 的數據、處理數據、以及將處理過的數據分別傳送至數據儲存裝置18,或主裝置16。在一例 中,數據處理可稱為數據加密,在另一例中,數據處理可稱為數據解密。在步驟142中,密碼接口 10會分別從主裝置16或數據儲存裝置18中,接收數據 流控制信號。在步驟144中,密碼接口 10判斷所有數據是否已進行處理。若所有數據已 進行處理,則主裝置16會經由IDE控制器12 (顯示於圖1中)、IDE控制器30 (顯示於圖1 中)、以及IDE控制器32 (顯示於圖1中),來檢查或讀取數據儲存裝置18的狀態(如圖7 的步驟146中的一般顯示),並且會使數據傳輸停止。若所有數據尚未進行處理,則密碼接 口 10判斷數據是否正於主裝置16與數據儲存裝置18之間傳輸,如圖7的步驟148中的一 般顯不。在步驟150中,若數據正在傳輸,則密碼接口 10立即將接收到的數據流控制信號, 從主裝置16傳送至數據儲存裝置18,或反之亦然。在步驟152中,若數據未傳輸,則密碼接 口 10接收到的數據流控制信號的傳送及重新產生延遲。實時數據加密/解密周期會持續 下去,如方向箭號154的一般顯示。圖8是一般地繪示在UDMA/Multi-word DMA數據傳輸的期間,用於實時數據加密 /解密的方法的流程圖。在步驟160中,ATA信息是經由密碼接口 10,而在主裝置16與數 據儲存裝置18之間進行交換。密碼接口 10會擷取必要的ATA參數、以主裝置16 (顯示於 圖1中)及數據儲存裝置18 (顯示於圖1中)來激活數據爆發、接收送進來的數據、處理數 據、以及將處理過的數據分別傳送至數據儲存裝置18,或主裝置16。在第一例中,數據處理 可稱為數據加密,在另一例中,數據處理可稱為數據解密。在步驟162中,密碼接口 10會分別從主裝置16或數據儲存裝置18中,接收數據 流控制信號。在步驟164中,密碼接口 10判斷是否已分別從主裝置16或數據儲存裝置18 中,接收到停止控制信號。若已接收到停止控制信號,則密碼接口 10判斷數據傳輸是否已 結束,如步驟168中的一般顯示。若數據傳輸已結束,密碼接口 10會分別以主裝置16或數 據儲存裝置18,來進行數據爆發停止程序,如步驟170中的一般顯示。在步驟172中,在UDMA/Multi-word DMA數據輸出傳輸的情況中,密碼接口 10將 ATA信息從數據儲存裝置18傳送至主裝置16,並且會使數據傳輸停止。在UDMA/Multi-word DMA數據輸入傳輸的情況中,密碼接口 10將修改的ATA信息從數據儲存裝置18傳送至主裝 置16,並且會使數據傳輸停止。若尚未接收到停止控制信號,則密碼接口 10立即將接收到的數據流控制信號,分 別從主裝置16傳送至數據儲存裝置18,或從數據儲存裝置18傳送至主裝置16,如圖8的 步驟168中的一般顯示。同樣地,若數據傳輸尚未結束,則密碼接口 10立即將接收到的數 據流控制信號,分別從主裝置16傳送至數據儲存裝置18,或從數據儲存裝置18傳送至主裝
11置16,如圖8的步驟168中的一般顯示。實時數據加密/解密周期會持續下去,如方向箭號 174的一般顯示。圖9是一般地繪示在PI0數據傳輸的期間,用於實時數據加密/解密的方法的流 程圖。在步驟180中,ATA信息是經由密碼接口 10(顯示於圖1中),而在主裝置16(顯示 於圖1中)與數據儲存裝置18 (顯示於圖1中)之間進行交換。密碼接口 10會擷取必要 的ATA參數。在步驟182中,密碼接口 10會接收送進來的初始數據,並且處理初始數據。在PI0 數據輸出傳輸的情況中,密碼接口 10使主裝置所產生的寫入觸發的延遲傳送。在PI0數據 輸入傳輸的情況中,密碼接口 10產生讀取觸發。在步驟184中,密碼接口 10會接收送進來的數據,並且處理送進來的數據。再者, 在PI0數據輸出傳輸的情況中,密碼接口 10將主裝置所產生的寫入觸發從主裝置16傳送 到數據儲存裝置18。在PI0數據輸入傳輸的情況中,密碼接口 10將主裝置所產生的讀取觸 發從主裝置16傳送到數據儲存裝置18。在步驟186中,密碼接口 10判斷數據傳輸是否已結束。若數據傳輸尚未結束,則實 時數據加密/解密周期會持續,如方向箭號190的一般顯示。若數據傳輸已結束,則在PI0 數據輸出傳輸的情況中,密碼接口 10產生寫入觸發,如步驟188中的一般顯示,並且會將相 同的事情附加於儲存裝置側的數據傳輸,如以上在此配合圖4的步驟106所述,並且會使數 據傳輸程序停止。如圖9的步驟188中的進一步的顯示,在PI0數據輸入傳輸的情況中,密 碼接口 10不會傳送主裝置所產生的讀取觸發,並且會使數據傳輸程序停止。雖然本發明已在各種特定實施例方面進行說明,但是本領域熟練技術人員將了解 到,在權利要求的精神及範圍內,可進行修改,來實施本發明。此外,如一實施例的部分所顯 示或說明的特性可用於另一實施例中,而產生又另一實施例,以致於特性不受限於上述的 特定實施例。因此,意含的是,只要這樣的實施例及變化位於後附的權利要求及其等效的範 圍內,則本發明可涵蓋所有這樣的實施例及變化。
1權利要求
一種實時數據密碼運算的方法,該方法至少包含以下步驟一密碼接口自一主裝置接收一高速直接內存存取/多重字組直接內存存取數據輸出命令(UDMA/Multi word DMA data out command);該密碼接口自所接收到的該高速直接內存存取/多重字組直接內存存取數據輸出命令讀取數據傳輸模式及數據傳輸大小;該密碼接口傳輸一第一信號至該主裝置以開始傳輸數據;該密碼接口在送出該第一信號後接收一明文數據;該密碼接口對該明文數據進行加密形成一密文數據;該密碼接口傳送一第二信號至一數據儲存裝置;以及該密碼接口在傳送該第二信號之後送出該密文數據至該數據儲存裝置。
2.如權利要求1所述的方法,其特徵在於,還包括下列步驟在接收到該高速直接內存存取/多重字組直接內存存取數據輸出命令後,設定一加密 模式。
3.一種實時數據密碼運算的方法,該方法至少包含以下步驟一密碼接口自一主裝置接收一高速直接內存存取/多重字組直接內存存取數據輸入 命令(UDMA/Multi-word DMA data-in command);該密碼接口自所接收到的該高速直接內存存取/多重字組直接內存存取數據輸入命 令讀取數據傳輸模式及數據傳輸大小;該密碼接口傳輸一第一信號至該數據儲存裝置以開始傳輸數據; 該密碼接口在送出該第一信號後自該數據儲存裝置接收一密文數據; 該密碼接口解密該密文數據以形成一解密數據; 該密碼接口送出一第二信號至一主裝置;以及 該密碼接口在送出該第二信號後傳輸該解密數據至該主裝置。
4.如權利要求3所述的方法,其特徵在於,還包括下列步驟在收到該高速直接內存存取/多重字組直接內存存取數據輸入命令後,設定一解密模式。
5.一種應用於一密碼接口的實時數據密碼運算方法,該方法至少包含以下步驟 送出一高速直接內存存取/多重字組直接內存存取數據輸入命令(UDMA/Multi-wordDMA data-in command)到一數據儲存裝置;自該數據儲存裝置接收一第一信號,且該第一信號顯示該數據儲存裝置是否準備好傳 輸一密文數據;接收該密文數據並將該密文數據導引至一輸入緩衝器; 解密該密文數據以形成一解密數據,並將該解密數據導引至一輸出緩衝器; 送出一第二信號至一主裝置,該第二信號顯示該解密數據已準備好被傳輸;以及 傳送該解密數據到該主裝置。
6.如權利要求5所述的方法,其特徵在於,還包括下列步驟傳送在該主裝置與該數據儲存裝置之間相對應的數據傳輸暫停命令/響應信號以暫 停該數據傳輸。
7.如權利要求5所述的方法,其特徵在於,還包括下列步驟傳送在該主裝置與該數據儲存裝置之間相對應的數據傳輸停止命令/響應信號以中 止該數據傳輸。
8.如權利要求5所述的方法,其特徵在於,還包括下列步驟傳輸由該密文數據所計算出的一循環冗餘檢查(CRC)值,用以在每次數據爆發結束時 進行錯誤檢查;以及向該主裝置告知一 CRC錯誤。
9.如權利要求5所述的方法,其特徵在於,還包括下列步驟傳輸由該解密數據所計算出的一循環冗餘檢查(CRC)值,用以在每次數據爆發結束時 進行檢查錯誤;以及若一 CRC錯誤發生該主裝置,則將一 CRC錯誤狀態位設成「真」。
10.一種應用於一密碼接口的實時數據密碼運算方法,該方法至少包含以下步驟自一主裝置接收一高速直接內存存取/多重字組直接內存存取數據輸出命令(UDMA/ Multi-word DMA data-out command);傳送一第一信號至該主裝置,且該第一信號顯示該密碼接口是否準備好接收一明文數據;自該主裝置接收該明文數據,並將該明文數據導至一輸入緩衝器; 於該輸入緩衝器中加密該明文數據以形成一密文數據,並將該密文數據導至一輸出緩 衝器;送出一第二信號至一數據儲存裝置,且該第二信號顯示該密文數據已準備好被傳輸;以及傳送該密文數據至該數據儲存裝置。
11.如權利要求10所述的方法,其特徵在於,還包括下列步驟傳送在該主裝置與該數據儲存裝置之間相對應的數據傳輸暫停命令/響應信號以暫 停該數據傳輸。
12.如權利要求10所述的方法,其特徵在於,還包括下列步驟傳送在該主裝置與該數據儲存裝置之間相對應的數據傳輸停止命令/響應信號以中 止該數據傳輸。
13.如權利要求10所述的方法,其特徵在於,還包括下列步驟傳輸由該密文數據所計算出的一循環冗餘檢查(CRC)值,用以在每次數據爆發結束時 進行錯誤檢查;以及向該主裝置告知一 CRC錯誤。
14.如權利要求10所述的方法,其特徵在於,還包括下列步驟傳輸由該明文數據所計算出的一循環冗餘檢查(CRC)值,用以在每次數據爆發結束時 進行錯誤檢查;以及將一預定的錯誤CRC值傳到該數據儲存裝置。
全文摘要
本發明公開了一種實時數據密碼運算的方法,包括密碼接口,操作時耦接於主裝置與數據儲存裝置之間。此密碼接口,用以在此主裝置與此數據儲存裝置之間的高速直接內存存取/多重字組直接內存存取(UDMA/Multi-word DMA)數據傳輸期間,如同透明不存在地進行實時數據密碼運算。
文檔編號H04L9/00GK101977106SQ201010517820
公開日2011年2月16日 申請日期2004年8月3日 優先權日2004年8月3日
發明者萬述寧, 莊逸堯, 石志忠, 邱伯文 申請人:伊諾瓦科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀