2. 預備知識
2.1 近代密碼學
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
7
2. 預備知識
在第二章我們會介紹一些與本研究相關的密碼學基礎知識。以及說明同態定義及其 相關演算法,並且在最後為一些安全性定義做出介紹。
2.1 近代密碼學
密碼學最重要的課題就是安全且秘密的傳遞兩方或是多方彼此擁有的私密資訊。首 先一個完整的密碼系統(Cryptosystem)必須由明文(plaintext)、金鑰(key)、加密演算法 (encryption algorithm)、解密演算法(decryption algorithm)以及密文(ciphertext)等五項元素 所組成。明文一般為加密前的原始資料,通常為加密過程中的輸入之一、解密結果的輸 出。密文則代表加密過後的資料,將其轉換後成為難以理解的訊息,通常代表加密過程 的輸出,解密過程的輸入。而加密演算法則是利用金鑰對明文進行加密的演算法。解密 演算法則是剛好相反,則是利用金鑰對密文進行解密的演算法。架構圖如下:
圖 3
加解密基本流程圖一般而言密碼系統分為兩大類,分別稱為對稱式金鑰密碼系統以及非對稱式金鑰密碼 系統。
2.1.1 對稱式金鑰密碼系統 (Symmetric Key Cryptosystem)
在對稱式金鑰密碼系統中,會有兩方角色分別為發送者以及接受者。在確定彼此的
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
8
雙方的通訊之前,必須決定一把雙方都擁有的共同金鑰。再確定金鑰選定後,發送者會 使用這把雙方都擁有的金鑰對明文進行加密(Encryption)算出密文,(Ek(m) = C,其中 E 為加密演算法、k 為雙方都擁有的密鑰,C 為密文)並且將其結果傳送至接收者。接收者 收到密文訊息後,利用相同的金鑰進行解密(Decryption)得出明文
(Dk(c) = m,其中 D 為解密演算法),簡單的說,對於對稱式金鑰密碼系統而言所使用的 加解密金鑰皆為同一把,像 AES[7]、DES[4]都為著名的對稱式加密系統。
對稱式金鑰密碼系統最大的優點在於計算方面較為簡單及快速,但是相對來說其缺 點為金鑰的管理以及傳送上的困難,如何成功的設計出一個安全性機制可將金鑰安全的 分送到所要進行通訊的另一方或是保證這把雙方都擁有的密鑰不會有洩漏的疑慮,以上 兩點都是相當困難去實行及驗證。然而對稱式密碼最讓人詬病的則是金鑰數量上的管理,
假設現在有 N 方要進行兩兩之間的通訊,對每一個使用者而言則需要C2N把金鑰,這樣 的數量對於管理或是儲存都是會對使用者造成莫大的負擔。
圖 4
對稱式金鑰密碼系統2.1.2 非對稱式金鑰密碼系統 (Asymmetric Key Cryptosystem)
此密碼系統又稱做公開金鑰密碼系統,顧名思義與對稱式金鑰密碼系統最大的差別 為加密和解密要使用不同的金鑰。
對於非對稱式金鑰密碼系統,每個使用者擁有一對公私鑰對(public key and secret
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
9
key),兩把金鑰為數學相關。在加密過程中,訊息由公開金鑰進行加密後,其密文必須 以私密金鑰才可解密,其中公開金鑰與加密演算法皆可公開,其中只需對私密金鑰進行 隱密的儲存,像 RSA[22]、ElGamal[9]都為著名的非對稱式加密系統。
與對稱式金鑰密碼系統相較,雖然使用非對稱式金鑰加密在加密過程中的計算效率 較低,但是最大的優點為公開金鑰是允許被公開的,因此沒有像對稱式系統上安全傳送 密鑰的問題。若是進行 N 方兩兩通訊,也並不用C2N這麼多把金鑰即可解決彼此通訊的 問題。