• 沒有找到結果。

非對稱式加密演算法

二、 背景知識

2.3  應用密碼學

2.3.2 非對稱式加密演算法

非對稱式加密演算法共有六個主要的組成元素為:明文、密文、加密演算法、

解密演算法、公開金鑰與私密金鑰如下圖 五所示:

圖 五:非對稱加密演算法 z 明文:

是一個可閱讀的訊息或資料,用來當演算法的輸入。

11

雜湊函數(Hash Function):

對一個變動長度的訊息M 來說,一個雜湊值(Hash Value)的產生主要是由訊

12

雜湊函數需求:

對於雜湊函數在網路文件安全方面的用途,主要可作為訊息的「指紋 (fingerprint)」看待,一個雜湊函數應該滿足下列幾個特性:

一、 應用層面廣與使用簡易:

在訊息驗證方面,雜湊函數應該具有下列幾個特性:

1. 可適用於任何大小的資料區塊。

2. 產生的雜湊值要具備固定長度。

3. 不管用軟體或硬體方式運算雜湊函數,皆要容易實作。

二、單向性:

雜湊函數須具備「單向性(one-way)」,換句話說,由訊息來計算雜湊 值是很容易的,但由雜湊值來反推訊息是相當困難的。這個特性相當的重 要,由其是在傳送包含機密訊息的資訊密文時,若攻擊者可以由密文去推得 機密訊息時,那採用雜湊函數來保護機密訊息的功用便會失效。舉例來說 M:原始訊息、Skey:亂數、H:雜湊函數、C:密文運算如下所示:

C = H(M | | Skey)

如果雜湊函數非單向函數時,則攻擊方可以藉由雜湊函數的反運算以及 所竊取到的密文來推得原始訊息如下所示:

M | | Skey = H-1(C) 三、抗碰撞性:

當一個雜湊值使用編碼策略傳送時,必須要能夠抗碰撞(collision resistance),這種抗碰撞性可以分成兩種,分別是「弱抗碰撞性(weak collision resistance)」與「強抗碰撞性(strong collision resistance)」,說明如下:

弱抗碰撞性:

不管在任何區塊x 而言,當 x≠y 時,幾乎不可能找到 H(x)=H(y) 的情況出現。

13

由上述特性看來,數位簽章本身就已經具有「驗證(authentication)」的功能,

而對一個數位簽章所需要的基本需求有:

1. 產生數位簽章流程需簡易。

2. 數位簽章容易比對與核實。

3. 數位簽章必須要有傳送者的單一識別碼,以避免訊息偽造。

數位簽章可歸納出兩種不同的簽章模式,一種是「直接式數位簽章(direct digital signature)」,另一種為「仲裁式數位簽章(arbitrated digital signature)」。

直接式數位簽章(direct digital signature):

這種方式使用的是公開金鑰機制來達成,使用者利用本身私鑰(private key) 作為數位簽章的方式。此種簽章的方法若是基於雙方都是互信的狀態下,訊息認 證與數位簽章的公信力是足夠的,但是對方若是信賴關係不明者,使用此法的簽 章機制便無法有強制性的證明來源者。因對方可說私鑰遺失,以辯解該訊息並非 他所發送。

仲裁式數位簽章(arbitrated digital signature)

此種數位簽章方式,是溝通雙方透過具公信力第三方來傳遞訊息。這種仲裁

14

間簽證(Timestamps)」,並轉送訊息到 B。因此在仲裁式數位簽章協定中,訊息 傳送可分成「A→X」與「X→B」兩部分來看。