新四季網

加解密裝置、加密方法和解密方法與流程

2023-04-28 14:56:28 4


本發明涉及數據安全,尤指適用於數據安全中的加解密裝置、加密方法和解密方法。



背景技術:

由於目前有越來越多的運算裝置例如智能型手機、手提計算機、以及智能表可以執行兩個或更多個處理程序,因此處理程序之間的信息安全成為重要的設計考量,用於保護某個處理程序上執行的敏感信息或數據不受其他處理程序的侵害。

商用產品保證(Commercial Product Assurance,CPA)為一種增加商用產品的安全信心的方式。根據CPA規定,在單獨商品內包括多個邏輯裝置,且必須禁止其中每個邏輯裝置的設定被其他邏輯裝置存取。因此若兩個或更多個處理程序駐於相同運算裝置之內且能存取相同的數據儲存裝置時,系統必須確保其他處理程序無法擷取這些處理程序的設定數據。

因此,本發明提供一種加解密裝置、加密方法和解密方法用以在相同運算裝置上針對不同處理程序提供數據安全性。



技術實現要素:

基於上述目的,本發明公開了一種加解密裝置,包括一第一輸入接口電路、一第二輸入接口電路、一處理器、以及一第一存儲器裝置。上述第一輸入接口電路接收第一數據。上述第二輸入接口電路接收第二數據。上述處理器耦接上述第一輸入接口電路和上述第二輸入接口電路。上述第一存儲器裝置儲存控制上述處理器的執行的第一、第二、以及第三應用程式。上述第一應用程式使上述處理器產生一第一組正交向量。上述第二應用程式使上述處理器接收上述第一組正交向量的一第一正交向量並將上述第一數據乘以上述第一正交向量以產生一第一乘積。上述第三應用程式使上述處理器接收上述第一組正交向量的一第二正交向量並將上述第二數據乘以上述第二正交向量以產生一第二乘積。上述第一應用程式還使上述處理器相加上述第一和第二乘積以產生加密數據並儲存上述加密數據至一第二存儲器裝置。

本發明還公開了一種加解密裝置,該加解密裝置包括:一處理器,該處理器用以處理一第一數據及一第二數據;以及一第一存儲器裝置,該第一存儲器裝置儲存控制上述處理器的執行的一第一、一第二、以及一第三應用程式;其中,上述第一應用程式使上述處理 器產生一第一組正交向量,且上述第一組正交向量包括一第一正交向量以及一第二正交向量;上述第二應用程式使上述處理器將上述第一數據乘以上述第一正交向量以產生一第一乘積;上述第三應用程式使上述處理器將上述第二數據乘以上述第二正交向量以產生一第二乘積;以及上述第一應用程式還使上述處理器相加上述第一和第二乘積以產生一加密數據並儲存上述加密數據至一第二存儲器裝置。

本發明還公開了一種加密方法,該加密方法適用於一加密裝置,該加密方法包括:產生一第一組正交向量;將一第一數據乘以上述第一組正交向量的第一正交向量以產生一第一乘積;將一第二數據乘以上述第一組正交向量的第二正交向量以產生一第二乘積;將上述第一和第二乘積相加以產生一加密數據;以及儲存上述加密數據至一存儲器裝置;其中,上述第一數據和第二數據屬於不同數據種類。

本發明還公開了一種解密方法,該解密方法適用於一解密裝置,該解密方法包括:讀取一加密數據;將上述加密數據和一第一組正交向量的一第一正交向量相乘以產生一第一乘積;將上述加密數據和上述第一組正交向量的一第二正交向量相乘以產生一第二乘積;分別根據上述第一乘積和上述第二乘積得到一第一數據和一第二數據;其中,上述第一數據和第二數據屬於不同數據種類。

本發明使用正交向量對相同裝置上的兩種或更多種數據進行加密和解密,藉以對裝置上的各種處理動作提供數據安全保護。

附圖說明

圖1顯示本發明實施例中一種量表裝置1的框圖。

圖2顯示本發明實施例中一加密方法2的流程圖。

圖3顯示本發明實施例中一種解密方法3的流程圖。

圖4顯示本發明實施例中一種正交向量產生方法4的流程圖。

圖5顯示本發明實施例中一種加密方法5的流程圖。

圖6顯示本發明實施例中一種解密方法6的流程圖。

主要組件符號說明:

1 量表裝置

10 輸入接口裝置

100 3G廣域區域網路接口電路

102 本地區域網路接口電路

104 通用串行總線接口電路

106 家庭區域網路接口電路

D1、D2、D3 量表數據

12 中央處理單元

14 第一存儲器裝置

140 水錶程序

142 瓦斯表程序

144 電錶程序

146 數據安全程序

16 第二存儲器裝置

160 加密數據

2 加密方法

S200、S202、…、S218 步驟

3 解密方法

S300、S302、…、S312 步驟

4 正交向量產生方法

S400、S402、…、S408 步驟

5 加密方法

S500、S502、…、S508 步驟

6 解密方法

S600、S602、…、S608 步驟

具體實施方式

在此必須說明的是,以下公開內容中所提出的不同實施例或範例,用以說明本發明所公開的不同技術特徵,其所描述的特定範例或排列用以簡化本發明,然而並非用以限定本發明。此外,在不同實施例或範例中可能重複使用相同的參考數字與符號,此等重複使用的參考數字與符號用以說明本發明所公開的內容,而非用以表示不同實施例或範例間的關係。

圖1顯示本發明實施例中一種量表裝置1的框圖,包括輸入接口裝置(輸入接口電路)10、中央處理單元(Central Processing Unit,CPU)12、第一存儲器裝置14、以及第二存儲器裝置16。量表裝置1可收集各種量表數據,量表數據D1、D2、和D3,接著定期或當讀取/寫入第二存儲器裝置16上的加密數據一預定次數時將加密後的量表數據儲存至第二存儲器裝置16,其中上述讀取以及寫入第二存儲器裝置16動作各一次視為一次存取動作。量表數據可為水錶、瓦斯表、或電錶數據,其代表家用水、瓦斯、或電力消耗,或可為水錶、瓦斯表、或電錶的數據設定。量表裝置1對個人數據的數據安全提供保護,使其不受未授權的數據存取侵害。

第一存儲器裝置14儲存水錶程序140、瓦斯表程序142、電錶程序144、以及數據安全程序146,每個程序可由中央處理單元12加載並執行。數據安全程序146可產生用於分配給水錶程序140、瓦斯表程序142、以及電錶程序144的正交向量。正交向量用作水錶程序140、瓦斯表程序142、和電錶程序144的加密或解密密鑰來對收集的量表數據進 行加密或解密。例如,在數據安全程序146產生第一正交向量且瓦斯表程序142接收第一正交向量後,瓦斯表程序142可以第一正交向量加密瓦斯表數據並將加密瓦斯表數據送回數據安全程序146進行進一步數據處理。

輸入接口電路10包括3G廣域區域網路(Wide Area Network,WAN)接口電路100、本地區域網路(Local Area Network,LAN)接口電路102、通用串行總線(Universal Serial Bus,USB)接口電路104、以及家庭區域網路(Home Area Network,HAN)接口電路106,且每個接口電路可從各自的測量裝置接收水錶、瓦斯表、或電錶數據,接著將水錶、瓦斯表、或電錶數據送至水錶程序140,瓦斯表程序142,或電錶程序144。

在每個預定期間或達到每個存取量表數據的預定次數時,數據安全程序146可產生一組新的正交向量。預定期間或預定次數可由製造商、販賣商、或用戶加以設定。

數據安全程序146可根據Walsh-Hadamard轉換產生一組正交向量,上述組正交向量中的每個正交向量互相正交,所以正交向量之間不會互相干擾。上述組正交向量中的每個正交向量的長度可為固定長度或不同長度。

在某些實施例中,上述組正交向量的正交向量的各自長度為固定值,且可由數據種類數量和數據加密所需的安全層級而判斷。當數據種類數量增加和/或所需安全層級增加時,正交向量的長度可隨之增加。反之,當數據種類數量降低和/或所需安全層級降低時,正交向量的長度可被降低藉以降低數據處理的複雜度。

在其他實施例中,上述組正交向量的正交向量的各自長度可為不同值,且可判斷並可根據每個量表程序140、142和144中加密數據的數據種類判斷。例如,水錶程序140的數據種類為水錶數據且瓦斯表程序142的數據種類為瓦斯表數據,分派給水錶數據的正交向量可為(1,0,0)且分派給瓦斯表數據可為(0,1,0,1),兩個正交向量的前3個數值組成互相正交,而瓦斯表數據的正交向量的第4個數值為任意數,即0或1。

水錶程序140可將水錶數據與分派的正交向量相乘以產生水錶數據乘積;瓦斯表程序142可將瓦斯表數據與分派的正交向量相乘以產生瓦斯表數據乘積;電錶程序144可將可將電錶數據與分派的正交向量相乘以產生電錶數據乘積。

數據安全程序146可從水錶程序140、瓦斯表程序142、和電錶程序14接收水錶數據乘積、瓦斯表數據乘積、和電錶數據乘積,藉由將所有乘積相加以相加水錶數據乘積、瓦斯表數據乘積、和電錶數據乘積來提供加密數據160,並將加密數據160儲存於第二存儲器裝置16。由於分派了不同的正交向量給水錶程序140、瓦斯表程序142、和電錶程序144,作為結果的內積(inner product)也為互相正交,並且加密數據160中每個乘積不會干擾其他的乘積。

第一存儲器裝置14以及第二存儲器裝置16可為相同存儲器裝置的不同區塊,或是不同的存儲器裝置。第二存儲器裝置16可為量表裝置1的內建或外插存儲器裝置,並可以例如為快閃記憶體。

當水錶程序140、瓦斯表程序142、或電錶程序144需使用加密數據160時可以解密加密數據160並對解密的數據進行數據處理。例如水錶程序140、瓦斯表程序142、或電錶程序144可收集新量表數據,解密舊量表數據,並以新正交向量加密新量表數據和舊量表數據以得到新加密數據。新正交向量可由數據安全程序146在每個固定期間或當存取第二存儲器裝置16的加密數據一預定次數時產生。

在加密時水錶程序140、瓦斯表程序142、或電錶程序144可分別在執行乘積動作前執行攪亂動作以更加強數據安全。每個水錶程序140、瓦斯表程序142、或電錶程序144各有一套獨立且不公開的攪亂機制,攪亂機制由各程序的設計者所決定。舉例而言,瓦斯表程序142無法存取水錶程序140、或電錶程序144專用的攪亂機制。

在解密時,水錶程序140、瓦斯表程序142、或電錶程序144可從第二存儲器裝置16讀取加密數據160,將加密數據160乘以用於加密量表數據的正交向量藉以產生乘積,接著根據一攪亂機制對乘積進行解攪亂,以得到原始量表數據,該攪亂機制對應每個水錶程序140、瓦斯表程序142、或電錶程序144的專用攪亂機制。舊正交向量和一攪亂機制對每個水錶程序140、瓦斯表程序142、或電錶程序144來說是特定值或特定機制,其他程序無法得知,且每個程序使中央處理單元12無法存取關於其他程序的量表數據、正交向量和攪亂機制的信息,例如:水錶程序140在執行時,中央處理單元12無法存取電錶數據、對應於電錶的正交向量以及對應於電錶的攪亂機制。在本發明的實施例中,攪亂機制可以進行攪亂的動作與解攪亂的動作,並且解攪亂的動作為攪亂的動作的一反向動作,意即將攪亂後的數據還原成原始數據。在一個例子中,量表裝置1可定期加密最新更新的量表數據然後將加密數據160儲存至第二存儲器裝置16。數據安全程序146可針對水錶程序140、瓦斯表程序142、和電錶程序144定期產生一組新正交向量。水錶程序140、瓦斯表程序142、和電錶程序144可從第二存儲器裝置16接收加密數據160,分別地將加密數據160乘以對應的舊正交向量以產生第一、第二、和第三乘積,再使用對應攪亂機制解攪亂乘積藉以恢復舊水錶數據、舊瓦斯表數據、和舊電錶數據。接下來水錶程序140、瓦斯表程序142、和電錶程序144可分別從數據安全程序146接收上述組新正交向量的新第一、第二、和第三正交向量,藉由將收集到的量表數據加入舊水錶數據、舊瓦斯表數據、和舊電錶數據而產生新水錶數據、新瓦斯表數據、和新電錶數據,使用第一、第二、和第三攪亂機制攪亂新第一、新第二和新第三乘積以產生新第一、新第二和新第三攪亂數據,將新第一、新第二和新第三攪亂數據分別乘以上述組新正交向量的新第一、新第二、和新第三正交向量藉以產生新第一、新第二、和新第三乘積。接著數據安全程序146可從水錶程序140、瓦斯表程序142、和電錶程序144接收新第一、新第二、和新第三乘積,並將新第一、新第二、和新第三乘積互相相加以產生要儲存至第二存儲器裝置16的新加密數據160。

圖2顯示本發明實施例中一加密方法2的流程圖,適用於一加密裝置,例如圖1中量表裝置1。為了解釋目的,加密方法2使用程序A、程序B和數據安全程序用以顯示其動作。程序A、程序B、和數據安全程序可儲存於第一存儲器裝置之內,並由處理器加載和執行。加密方法2可在開機時或當加密程序初始時開始動作。

在加密方法2開始後,程序A接收第一數據(S200)且程序B接收第二數據(S202)。程序A可在每個期間a內收集第一數據且程序B可在每個期間b內收集第二數據,其中期間a和b可大致相同或不同。第一和第二數據可為以二進位形式表示的向量組成,該二進位形式包括0或1。一旦收到第一數據或第二數據之後,程序A或程序B可轉換第一或第二數據中的「0」至「-1」以進行後續動作。第一數據和第二數據屬於不同數據種類和/或由不同程序運作。第一數據和第二數據為用戶輸入的數據或由測量裝置從周圍環境中測量的數據,該測量裝置可例如為瓦斯表或電錶。在一個例子中,第一數據或第二數據可為水錶數據、瓦斯表數據、和電錶數據其中之一,且程序A和程序B可處理水錶數據、瓦斯表數據、和電錶數據其中之一。在另一個例子中,第一數據或第二數據可為skype數據和facebook數據其中之一,且程序A或程序B可處理數據以執行skype和facebook其中的一種應用程式。

同時數據安全程序可使用例如Walsh-Hadamard轉換來產生一組正交向量,並派送上述組正交向量中的第一正交向量至程序A以及上述組正交向量中的第二正交向量至程序B。作為響應,程序A接收第一正交向量(S204)且程序B接收第二正交向量(S206)。程序A和B可將收到的第一和第二正交向量儲存於各自的本地存儲器裝置。在每個預定期間(例如每3小時)或達到每個存取量表數據的預定次數(例如每10次)存取動作發生時,數據安全程序可產生一組新正交向量。預定期間或預定次數可由製造商、販賣商、或用戶設定。上述組正交向量的正交向量的長度可以是固定的或由數據種類數量和數據加密所需的安全層級判斷。當數據種類數量增加和/或所需安全層級增加時,正交向量的長度可隨之增加。反之,當數據種類數量降低和/或所需安全層級降低時,正交向量的長度可以降低以降低數據處理的複雜度。

下一步,程序A可使用第一攪亂機制攪亂第一數據以產生第一攪亂數據(S208)且程序B使用第二攪亂機制攪亂第二數據以產生第二攪亂數據(S210)。攪亂動作可包括一個或多個邏輯運作,例如XOR、NOR以及位置換運作。第一攪亂機制和第二攪亂機制由程序開發者設定,且每個攪亂機制只有程序A或程序B知道。即加密裝置上的程序B、數據安全程序、以及其他程序無法存取第一攪亂機制,且加密裝置上的程序A、數據安全程序、以及其他程序無法存取第二攪亂機制。藉由這個機制數據攪亂程序對加密數據提供進一步數據安全。

程序A可將第一攪亂數據乘以第一正交向量以產生第一乘積(S212)並傳送第一乘積至數據安全程序,且程序B可將第二攪亂數據乘以第二正交向量以產生第二乘積(S214) 並傳送第一乘積至數據安全程序。具體來說,程序A可對第一攪亂數據和第一正交向量執行內乘積乘法,且程序B可對攪亂第二數據和第二正交向量執行內乘積乘法。

接著數據安全程序可相加第一和第二乘積藉由將第一和第二乘積相加以產生加密數據(S216),並將加密數據存入本地存儲器裝置(S218)。

圖3顯示本發明實施例中一種解密方法3的流程圖,適用於一解密裝置,例如圖1中量表裝置1。為了解釋目的,解密方法3使用程序A、程序B和數據安全程序用以顯示其動作。程序A、程序B、和數據安全程序可儲存於第一存儲器裝置之內,並由處理器加載和執行。解密方法3可在開機時或當加密程序初始時開始動作。

解密方法3開始後,程序A和B可從本地存儲器讀取加密數據(S300)。隨後程序A可將加密數據乘以第一正交向量以產生第一乘積(S302),且程序B可將加密數據乘以第二正交向量以產生第二乘積(S304)。程序A可對加密數據和舊第一正交向量執行內乘積乘法以產生第一乘積,且程序B可對加密數據和舊第二正交向量執行內乘積乘法以產生第二乘積。由於第一和第二正交向量的正交性,上述程序A可排除相關於程序B的數據,相同地,程序B可排除相關於程序A的數據。第一和第二正交向量為用於加密的正交向量。根據圖1和圖2的實施例,數據安全程序可在每個預定期間(例如每3小時)或達到每個存取量表數據的預定次數(例如每10次)存取動作發生時產生一組新正交向量。因此程序A和B可在每次數據安全程序產生上述組新正交向量時分別接收新第一和第二正交向量。程序A和B可分別將舊第一和第二正交向量以及新第一和第二正交向量儲存於本地存儲器裝置例如緩衝器或寄存器之內。程序A和B可讀取舊第一和第二正交向量以解密加密數據以及讀取新第一和第二正交向量以加密數據。

下一步,程序A可根據第一攪亂機制解攪亂第一乘積以恢復第一數據(S306),且程序B可根據第二攪亂機制解攪亂第二乘積以恢復第二數據(S308)。之後程序A和B可分別執行進一步數據處理,例如加密第一和第二數據。第一攪亂機制和第二攪亂機制由程序開發者設定,且每個攪亂機制只有程序A或程序B知道。即加密裝置上的程序B、數據安全程序、以及其他程序無法存取第一攪亂機制,且加密裝置上的程序A、數據安全程序、以及其他程序無法存取第二攪亂機制。藉由這個機制數據攪亂程序對加密數據提供進一步數據安全。

圖4顯示本發明實施例中一種正交向量產生方法4的流程圖,在加密方法2和解密方法3中使用,藉以以隨機數方式生成一組正交向量。向量產生方法4加密兩種或更多種數據,並可在數據安全程序內實現,且在加密方法2或解密方法3開始時初始化。數據安全程序可儲存於第一存儲器裝置,並由處理器加載和執行。

在初始化後正交向量產生方法4可根據Walsh-Hadamard轉換產生上述組正交向量(S400)。上述組正交向量中的每個向量都互相正交,即上述組正交向量中的兩個或更多 個向量的點乘積為0。上述組正交向量的正交向量的長度可為固定的或由數據種類數量和數據加密所需的安全層級判斷。當數據種類數量增加和/或所需安全層級增加時,正交向量的長度可隨之增加。反之,當數據種類數量降低和/或所需安全層級降低時,正交向量的長度可以降低以降低數據處理的複雜度。

接著正交向量產生方法4可以隨機數方式生成旋轉角度θ(S402)。旋轉角度θ介於0和180度之間的範圍。當需要一組新正交向量來加密或解密時,依據新旋轉角度θ即可產生一組新正交向量。根據前面段落說明,在每個預定期間或達到存取加密或解密的數據的每個預定次數時會需要一組新正交向量。預定期間或預定次數可由製造商、販賣商、或用戶設定。

隨後正交向量產生方法4可以旋轉角度θ旋轉上述組正交向量中的每個向量(S404)。例如當旋轉角度θ為30度時,上述組正交向量中的每個向量都會旋轉30度,具體來說,上述組正交向量中的每個向量都會沿著一特定維度的坐標軸旋轉30度,例如:X軸、Y軸或Z軸等等。

然後正交向量產生方法4可判斷旋轉後的向量是否有所改變(S406)。若旋轉後的向量有改變,正交向量產生方法4可輸出旋轉後的向量作為該組新正交向量(S408)。若旋轉後的向量維持相同,正交向量產生方法4可回到步驟S402重新產生另一旋轉角度θ。

圖5顯示本發明實施例中一種加密方法5的流程圖,適用於一加密裝置,例如圖1中量表裝置1。加密方法5可由儲存在第一存儲器裝置的軟體碼實現,並由處理器加載和執行,其中軟體碼可包括三個或更多個程序,如數據安全程序、第一程序和第二程序。加密方法5可在開機時或當加密程序初始時開始動作。第一和第二程序可分別由用戶輸入或由測量裝置從周圍環境中測量的第一數據和第二數據獲取。

在開始後,加密方法5可藉由數據安全程序產生一組正交向量(S500),並派送上述組正交向量中的第一正交向量至第一程序以及派送上述組正交向量中的第二正交向量至第二程序。上述組正交向量可根據正交向量產生方法4產生。第一和第二程序可分別將第一和第二正交向量儲存至本地緩衝器。第一和第二正交向量分別只對第一和第二程序公開,從而其他程序無法存取第一和第二正交向量。

接著加密方法5可將第一數據乘以上述組正交向量中的第一正交向量以產生第一乘積(S502),將第二數據乘以上述組正交向量中的第二正交向量以產生第二乘積(S504),並相加第一和第二乘積以產生加密數據(S506)。步驟S502和S504可分別由第一和第二程序執行,且步驟S506可由數據安全程序執行。具體來說數據安全程序可將第一和第二乘積相加以形成加密數據。由於正交向量互不相關且互相獨立,第一和第二乘積加總內的第一和第二乘積不會互相干擾。此外由於原始乘積受到加總程序的掩飾,第一和第二乘積的加總結果可提供進一步數據隱私。最後,加密方法5可將加密數據儲存至本地數據儲存 裝置例如快閃盤。

在某些實施例中,在產生第一和第二乘積之前加密方法5可還包括分別以第一和第二攪亂機制攪亂第一和第二數據。攪亂機制為第一和第二程序獨有,且每個程序無法存取其他程序的攪亂機制。攪亂動作可包括一個或多個邏輯運作,例如XOR、NOR以及位置換運作。第一和第二攪亂機制可由程序開發者設定。

在一個例子中,數據安全程序產生第一正交向量[1 1 1 1]和第二正交向量[1 1 -1 -1]且分別將第一正交向量和第二正交向量派送給第一程序和第二程序(S500),且第一程序從水錶獲得的測量值接收第一數據[1 0 1]且第二程序從瓦斯表獲得的測量值接收第二數據[1 1 0]。第一程序將第一數據[1 0 1]轉換為第一數據[1 -1 1]且第二程序將第二數據[1 1 0]轉換為第二數據[1 1 -1]。接著第一程序接收第一正交向量[1 1 1 1]且第二程序接收第二正交向量[1 1 -1 -1]。第一程序將第一數據[1 -1 1]乘以第一正交向量[1 1 1 1]以產生第一乘積[1 1 1 1 -1 -1 -1 -1 1 1 1 1](S502),且第二程序將第二數據[1 1 -1]乘以第二正交向量[1 1 -1 -1]以產生第二乘積[1 1 -1 -1 1 1 -1 -1 -1 -1 1 1](S504)。接著數據安全程序相加第一乘積[1 1 1 1 -1 -1 -1 -1 1 1 1 1]以及第二乘積[1 1 -1 -1 1 1 -1 -1 -1 -1 1 1]以產生加密數據[2 2 0 0 0 0 2 2 0 0 2 2]並將加密數據[2 2 0 0 0 0 2 2 0 0 2 2]存入本地數據儲存裝置。

圖6顯示本發明實施例中一種解密方法6的流程圖,適用於一解密裝置,例如圖1中量表裝置1。解密方法6可解密儲存於本地數據儲存裝置的加密數據,該數據儲存裝置可例如為快閃盤,其中儲存於本地數據儲存裝置的加密數據會根據圖5的加密方法5被事先加密。加密數據可包括兩種或更多種數據,例如水錶數據和電錶數據。解密方法6可由儲存在第一存儲器裝置的軟體碼實現,並由處理器加載和執行,其中軟體碼可包括三個或更多個程序,如數據安全程序。解密方法6可在開機時或當加密程序初始時開始動作。

在開始後,解密方法6可從本地數據儲存裝置接收加密數據(S600),藉由數據安全程序產生一組正交向量(S602),解密方法6步驟S602中提供的上述組正交向量對應加密方法5步驟S500所產生的上述組正交向量,且步驟S500和S602可共享並使用相同的上述組正交向量。接著數據安全程序將上述組正交向量中的第一正交向量派送至第一程序以及將上述組正交向量中的第二正交向量派送至第二程序。步驟S600可由第一和第二程序執行,且步驟S602可由數據安全程序執行。

上述組正交向量可根據正交向量產生方法4產生,用於加密和解密數據。即上述組正交向量已用於加密儲存在本地數據儲存裝置的加密數據。第一和第二程序可分別將第一和第二正交向量儲存至本地緩衝器。第一和第二正交向量分別只對第一和第二程序公開,從而其他程序無法存取第一和第二正交向量。

下一步解密方法6可將加密數據乘以上述組正交向量中的第一正交向量以產生第一乘積(S604),將加密數據乘以上述組正交向量中的第二正交向量以產生第二乘積(S606), 並分別根據第一乘積和第二乘積判斷第一數據和第二數據(S608)。步驟S604和S606可分別由第一和第二程序執行,且步驟S608可由第一和第二程序執行。具體來說第一和第二程序可分別將第一和第二乘積除以每個正交向量的強度以恢復第一和第二數據。

在某些實施例中,在恢復第一和第二數據後,解密方法6可還分別根據第一和第二攪亂機制解攪亂第一和第二數據。攪亂機制為第一和第二程序獨有,且每個程序無法存取其他程序的攪亂機制。攪亂動作可包括一個或多個邏輯運作,例如XOR、NOR以及位置換運作。第一和第二攪亂機制可由程序開發者設定。

在一個例子中,第一和第二程序從本地數據儲存裝置接收加密數據[2 2 0 0 0 0 2 2 0 0 2 2](S600),且數據安全程序產生第一正交向量[1 1 1 1]和第二正交向量[1 1 -1 -1]並分別將第一正交向量和第二正交向量派送至第一程序和第二程序(S602)。第一程序將加密數據[2 2 0 0 0 0 2 2 0 0 2 2]乘以第一正交向量[1 1 1 1]以產生第一乘積[4 -4 4](S604)且第二程序將加密數據[2 2 0 0 0 0 2 2 0 0 2 2]乘以第二正交向量[1 1 -1 -1]以產生第二乘積[4 4 -4](S606)。最後第一程序藉由將第一乘積[4 -4 4]除以向量強度4判斷第一數據以恢復第一數據[1 -1 1],同樣第一程序藉由將第二乘積[4 4 -4]除以向量強度4判斷第一數據以恢復第二數據[1 1 -1]。

圖1到圖6的加密裝置、解密裝置、加密方法、以及解密方法使用正交向量對相同裝置上的兩種或更多種數據進行加密和解密,藉以對裝置上的各種處理動作提供數據安全保護。

雖然實施例使用兩種或三種程序上的兩種或三種數據來說明加密裝置、解密裝置、加密方法、以及解密方法的動作,本領域的技術人員可知其他數量的數據或程序可依照本發明的原理來進行加密或解密。

本領域的技術人員可理解信息和信號可使用各種不同的技術來表現。例如說明書中描述的數據、指令、信息、信號、位、符號以及晶片可由電壓、電流、電磁波、磁場或顆粒、光場或顆粒、或以上的任意組合來表示。

本領域的技術人員可還理解說明書中所述的各個邏輯區塊、模塊、處理器、執行裝置、電路和算法步驟可由電路硬體(例如數字實現硬體、模擬實現硬體,或兩者的結合,其可由來源碼或其他相關技術加以設計實現),使用指令的各種形式的程序代碼或設計碼(這裡可另外稱為軟體或軟體模塊),或上述兩者的結合而加以實現。為了清楚顯示上述軟體和硬體的互換性,說明書描述的各種圖示組件、區塊、模塊、電路、及步驟通常以其功能進行描述。這些功能要以軟體或硬體實現會和完整系統的特定應用和設計限制有關。本領域的技術人員可針對每個特定應用而以各種方式實現描述的功能,但是實現方式的決定不會偏離本發明的精神和範圍。

另外,本發明描述的各種邏輯區塊、模塊、以及電路可以使用集成電路(Integrated Circuit,IC)實現或由接入終端或存取點執行。集成電路可包括通用處理器、數位訊號處理器(Digital Signal Processor,DSP)、特定用途集成電路(Application Specific Integrated Circuit,ASIC)、現場可編程邏輯門陣列(Field programmable Gate Array,FPGA)或其他可編程控制邏輯組件、離散式邏輯電路或電晶體邏輯門、離散式硬體組件、電性組件、光學組件、機械組件或用於執行本發明所描述的執行的功能的其任意組合,其可執行集成電路內駐、外部,或兩者皆有的程序代碼或程序指令。通用處理器可以為微處理器,或者,該處理器可以為任意商用處理器、控制器、微處理器、或狀態機。處理器也可由計算裝置的結合加以實現,例如DSP和微處理器、多個微處理器、一個或多個微處理器以及DSP核心、或其他各種設定的結合。

本領域的技術人員可理解本發明公開程序步驟的特定順序或序列僅為舉例。根據設計偏好,本領域的技術人員可理解只要不偏離本發明的精神和範圍,本發明公開程序步驟的特定順序或序列可以以其他順序重新排列。本發明實施例的方法和要求所伴隨的各種步驟順序只是舉例,而不限定於本發明公開程序步驟的特定順序或序列。

所述的方法或算法步驟可以以硬體或處理器執行軟體模塊,或以兩者結合的方式實現。軟體模塊(例如包括可執行指令和相關數據)及其他數據可內駐於數據存儲器之內,如RAM存儲器、快閃記憶體、ROM存儲器、EPROM存儲器、EEPROM存儲器、緩存器、硬碟、軟盤、光碟片、或是任何其他機器可讀取(如計算機可讀取)儲存媒體。數據儲存媒體可耦接至機器,如計算機或處理器(其可稱為「處理器」),處理器可從儲存媒體讀取及寫入程序代碼。數據儲存媒體可整合至處理器。處理器和儲存媒體可內駐ASIC之內。ASIC可內駐在用戶設備。或者處理器和儲存媒體可以以離散組件的形式駐在用戶設備之內。另外,適用的電腦程式產品可包括計算機可讀取媒體,包括關於一個或多個說明書公開的程序代碼。在一些實施例中,適用的電腦程式產品可包括封裝材料。

本發明雖然以較佳實施例公開如上,然而其並非用以限定本發明,任何本領域的技術人員,在不脫離本發明的精神和範圍的情況下,應當可作些許的更動與潤飾,因此,本發明的保護範圍應當視所附的權利要求書所界定者為準。

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀