• 沒有找到結果。

對稱式金鑰系統

第二章 相關研究

第二節 對稱式金鑰系統

為了要達到一個安全的溝通通道,我們常會利用一些加密的演算法來加密訊 息以達到一個安全的溝通。加解密的系統大致可分為兩大類,對稱式金鑰系統與 非對稱式金鑰系統(symmetric-key system and asymmetric-key system),而在本篇中 所使用到的,主要是以對稱式金鑰的加密系統為主,來達到一個安全的溝通管 道,在此我們會對對稱式金鑰系統做一個詳細的定義,而我們在基於儲存限制的 加密系統中,主要是利用 one-time pad 這樣的加密方法,因此我們也會詳細介紹 one-time pad 這個加解密系統。

„ 對稱式金鑰系統(Symmetric-key System)

考 慮 一 個 加 解 密 系 統 主 要 包 含 兩 個 部 份 , 加 密 及 解 密 演 算 法 {Ee:e∈K},{Dd :d∈K}1

,對稱式的系統主要是定義在加密用的金鑰與解密用的

1 K是一個金鑰空間(key space)

金鑰是相同的情況下,也就是當e=d,圖表 1 為一對稱式系統的安全通道: 1. 當攻擊者有無限的計算能 (Computational power)

?

來抵

表 2 one-time pad sys

我們考慮上面所提到的 one-time pad 系統,雖然其運算是一個很簡單的互斥 或運

擋一個不被限制計算能力的攻擊者。在 one-time pad 這種系統當中,每次要 加密並傳送一個訊息 M 時,傳送者與接收者之間必須先共同擁有一把隨機的私 密金鑰 X,稱為 one-time pad,金鑰與明文彼此之間是互相獨立的,且| X | = | M | (|⋅|表示其二進位位元長度)。當傳送者要加密訊息 M 時,只需計算 C = M ⊕ X ( ⊕ 為互斥或的運算 XOR),當接收者收到密文 C 想要對其解密時,只要計算 C ⊕ X

= M ⊕ X ⊕ X = M 就可以得到訊息 M 了,如圖表 2 所示。值得注意的是每個 X 只能對一個訊息加密,若要加密其他訊息必須再共享另一個 X。因此對於每次想 要加密訊息就必須重新溝通出一把新的 X,這在現實的實作上是 one-time pad 系 統的一個缺點。

明文 M

明文 M

Alice Bob

金鑰 X 安全通道

密文 C

圖 tem

算,但對於攻擊者而言想要分析密文 C(|C|=n),會發現所有 2n可能的明文都 有可能經過金鑰 X 的加密而成此密文,所以很清楚的它是一個 理論安全的系 統,這樣的系統雖可達到最高安全性,但是因為明文長度通常會很長,如此要獲 得一個跟明文長度相同的或更長的金鑰是一大難題。因此這個系統如果要加密長 的文件時就必須先共享一把夠長的 one-time pad,所以在一般是被認為不適用於 實際場合,但在接下來的章節裡我們所介紹到的方法,都是藉由一把短的初始金 鑰,從一個長的但是公開的隨機字串中,萃取出一把擁有足夠雜亂性的 one-time

pad X,所以我們也可以視這些方法在 one-time pad 系統下,為一個產生共享金鑰 的協定。

相關文件