第1章 簡介
近年來資訊安全逐漸成為資訊時代的重要議題之一,其中資訊安全的保密 基礎源自於密碼學的發展。隨著時代發展,開發出各類密碼系統,如對稱 式加密、公鑰加密、RSA…等,都是現今常見的加密器。在這些加密技術 的應用下,使得通訊擁有更安全的管道,密碼學的重要也因此開始被重視。
在本論文中將重點擺在公鑰加密系統上因數分解攻擊法中的解 0-1 線性方 程組演算法設計。
1.1 常見的密碼系統介紹
近代資安的議題開始被重視,資訊安全的保密基礎在於密碼學的應 用。各式公鑰密碼系統因此被開發,像是 Diffie-Hellman Key Exchange[4]、
ElGamal encryption[5]、RSA[6]、到近代出現的 ECC,這些系統的加密模 式皆建立在不同的數學架構下,公鑰加密系統包含解 DLP 與解因數分解兩 大類數學架構。離散對數問題最早是用模運算的特性,可將指數藏在模運 算下使他人無法輕易知道正確的指數,而因數分解則是在兩個大質數相乘 後的值很難去分解,其理論由 Fermat 定理與 Euler ϕ 函數所導入,而使 用因數分解問題所產生的加密系統 RSA 是目前最廣為使用的加密系統。
2
Diffie-Hellman Key Exchange 於 1976 年由 Diffie 與 Hellman 提出,此 系統是第一個公開交換金鑰的加密系統,主要建立在指數難度的離散對數 問題上。Diffie-Hellman Key Exchange 的目的在於兩位使用者可以安全交 換金鑰,此金鑰做為加解密與防偽之用,但是無法抵擋從中進行主動攻擊 的攻擊者,攻擊者可以從中截取訊息做竄改。
ElGamal encryption 於 1985 年被提出,此演算法為第一個以離散對數 問題建立的公鑰加密系統在 RSA 密碼系統之後提出,並廣泛應用在數位簽 章。其特色在於採用隨機加密技術,擁有相同明文每次加密對應不同密文,
但其密文長度為明文的兩倍,乍看之下演算法整體速度似乎比 RSA 演算法 慢一倍,但其中可包含事先計算的技巧先將某些指數次方儲存,以此來加 速加密過程。
ECC(Elliptic Curve Cryptography)最初是由費馬最後定理衍生的代數數 論所發展出來的橢圓曲線方程式,至 1985 年提出以橢圓曲線建立密碼系 統,稱作橢圓曲線密碼學,加密原理同樣是離散對數問題,不同之處在於 所藏的密鑰不再是指數而是乘數,在這前題之下便可將原有的密碼系統轉 移至橢圓曲線上,但目前 ECC 還未發展至普及使用。
3
RSA 密碼系統由 R.Rivest、A.Shamir、A.Adleman 三位教授於 1978 年 發表,並以三人姓氏之字首命名,其加密原理建立在次指數難度的因數分 解問題之上,是目前被廣為接受並作為一般用途的加密演算法並能延伸做 數位簽章及認證協定。
RSA Algorithm
Create Public/Private Key:
Input:𝑝, 𝑞 which is two large prime Output:𝑛, 𝑒, 𝑑
Step1.𝑛 = 𝑝 × 𝑞
Step2.ϕ(𝑛) = (𝑝 − 1)(𝑞 − 1) Step3.𝑒 ∋ GCD(𝑒, ϕ(𝑛)) = 1 Step4.𝑒𝑑 = 1 mod ϕ(𝑛)
𝑛, 𝑒 is the public key.𝑑 is the private key.
Encryption:
Step1.userB use RSA algorithm create Public and Private key.
Step2.userA send the message
𝑚 to userB.Step3.userA compute
𝑚𝑒
≡ 𝐶 mod 𝑛, send 𝐶 to userB.Decryption:
Step1.userB gets and compute
𝐶𝑑
≡ 𝑚 mod 𝑛,get message 𝑚RSA 為目前使用最廣泛的密碼系統,包括瀏覽器、網路身份認證、數 位簽章、信用晶片卡…等都是由 RSA 密碼系統加密,其安全性也是備受關 注的焦點,同時也是我們研究的方向。