500 likes | 758 Views
PARTⅡ. 密碼學的基礎、技術與應用. PARTⅡ-03. 數的世界. 導讀. 資訊安全 (Information Security) 技術的基礎是密碼學 (Cryptography) ,而密碼學的核心數學則是數論 (Number Theory) 。 在本章中,我們針對較基本與常用資訊軟體有直接關係的數論與常用密碼機制演算法部份做介紹。. 基本數論 ( 一 ). 模數運算 模數算數 ( Modular Arithmetic) 在密碼學中的理論一般是以模數運算 (Modular Operation) 為基礎以對訊息進行安全機則的演算法設計。
E N D
PARTⅡ 密碼學的基礎、技術與應用
PARTⅡ-03 數的世界
導讀 • 資訊安全(Information Security)技術的基礎是密碼學(Cryptography),而密碼學的核心數學則是數論(Number Theory)。 • 在本章中,我們針對較基本與常用資訊軟體有直接關係的數論與常用密碼機制演算法部份做介紹。
基本數論(一) • 模數運算 • 模數算數( Modular Arithmetic) • 在密碼學中的理論一般是以模數運算(Modular Operation)為基礎以對訊息進行安全機則的演算法設計。 • 定理1:模數算術的性質:+,-,*
練習:模數 用 小算盤 幫忙計算! • 計算 32 mod 13 • 計算 -3 mod 11 • 計算 (135273 + 261909) mod 9 • 計算 (74 + 68) mod 37 • 計算 (74 - 68) mod 37 • 計算 (74 * 68) mod 37 • 計算 [74 * (68 + 3)] mod 37 使用二元模數計算程式試試看!
基本數論(二) • 平方再乘法(Square-multiplication Method ) • 對於高指數的運算可採平方再乘法的方式來降低計算成本。原理說明如下 :
練習: Square-multiplication Method • 計算 35 mod 7 • 35 全部算完再 mod 7 • 計算過程中持續 mod 7
同餘 Congruence • 令 a,b,n 為整數,其中,n≠0,若 a mod n = b mod n 記為 a≡nb • a-b=kn,k 為常數 • a 與 b 同餘於整數 n • acongruent to bmodulon • b 是 a mod n 的一個殘數(residue) • bis a residue of a modulo n
殘數集合 residue set • 對於每一個整數 a ,且存在 ri使得a nri • {r1, r2, …, rn} 稱為在模數 n 下的殘數集合(Residue Set) • 例: • 11 的(完整)殘數集合是 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
反元素 inverse • 給定一整數 a [0, n-1],且令 gcd(a, n) = 1 (a 與 n 互質),則存在一個唯一的整數 x [0, n-1] 使得 a * x mod n = 1 • x 是 a 在模數 n 下的反元素 • 記為 x = a-1 mod n • 例: • x = 6-1 mod 13 的解為 x = 11 • 驗算: 6 * 11 mod 13 = 66 mod 13 = 1
定理 2: Euler Totient Function(尤拉函數) • 對於任意整數 n • 其中 t 是 n 質因數的個數
練習:尤拉函數 Ф (n) • 計算 Ф (7) • 計算 Ф (36)
Fermat’s Little Theorem費瑪小定理 • 令 p 為質數,且 gcd(a, p) = 1 • 則
求算最大公因數 GCD • 輾轉相除法(Euclidean Algorithm) • 若 r 是 a ÷ b 的餘數, 則gcd(a,b) = gcd(b,r) • a 和其倍數之最大公因數為 a。
資料來源: http://hk.geocities.com/mathsworld2001/themes/ea.htm
練習 • 計算 gcd(51, 30)
Euler’s Generalization Theorem尤拉廣義定理 • 給定整數 a 與 n,若 gcd(a, n)=1 • 則
計算反元素 a-1 mod n • 若 a 和 n 都不大,且gcd(a, n)=1,可以利用尤拉廣義定理: • 如果 n 是質數,則
計算反元素 a-1 mod n(續) • 如果 a 或 n 很大,或 gcd(a, n)≠1
計算反元素 a-1 mod n(續) • 例:計算 3-1 mod 7
練習 • 求算 6-1 mod 13 • 求算 12-1 mod 13 • 求算 35-1 mod 3 • 求算 21-1 mod 5 • 求算 15-1 mod 7
定理 5 • 在整數系中,質數有無限多個。 • 反證法 • 若質數的數量有限,令 {P1, P2, …, Pn} 為所有質數所形成的集合(共 n 個) • 令 Q = (P1*P2*…*Pn) + 1,則 Q 可能是質數也可能不是質數 • 若 Q 為質數,則與命題矛盾 • 若 Q 不為質數,則至少存在一個質因數 Fn可整除 Q,但因P1, P2, …, Pn都無法整除 Q,因此 Fn必然不在{P1, P2, …, Pn}之中
質數的測試 • 某數 n 是否為質數? • 暴力法:以 [2, n-1] 區間內的數逐一除 n • 從費瑪小定理: • 若 gcd(a, p) = 1,使得 ap-1 mod p ≠ 1 • 則 p 不是質數
Finite Field 有限場 • 一個定義域的組成元素為有限個,我們稱這種定義「場」(Field),且這些有限元素的個數稱為維度(Order)。 • 定理6: • 若且唯若 p = qn,其中 q 為質數,n N,則有限場具有維度 p
Finite Field 有限場 • 維度 p=qn , n>1 的有限場,若q為質數,則稱為Galois Field (高斯有限場)。一般以GF(p)或者Fp來加以表示(在整數系中一般Zp表示)。 • 一般而言,對於GF(qn)有兩種運用: • n=1, GF(p)=GF(q) ,即用於一般的數字運算系統mod p。 • n>1, GF(p)=GF(qn) 。GF(qn) 表示在最高項為 n-1 的多項式 f(x) 係數皆 mod q。
Finite Field 有限場 • 在 GF(qn) 之中,若 q=2,則相當於二進位運算 • GF(2n) 表示最高項為 n-1 的多項式f(x)=an-1xn-1+…+a2x2+a1x+a0 • 相當於二進位數字(二進位向量)(an-1,an-2,…,a1,a0) 共 n 個位元
練習 • 在 GF(23) 之中
Irreducible Polynomial不可再分解的多項式 在 GF(25) 下 g(x) 無法再因式分解是為不可再分解的多項式。
GF(2n) 下的多項式反元素 • 在 GF(2n) 之中計算 mod p(x) • p(x) 為最高 n 次的多項式 • 若 p(x) 為不可分解的多項式,則Ф(p(x))=2n-1 • 例: • p(x)=x3+x+1=1011(x) • 與 p(x) 互質的多項式集合為:{0001, 0010, 0011, 0100, 0101, 0110, 0111} 共七個元素
練習 • 驗算: • 在 GF(23) 之下,f(x) 為 (g(x))-1 mod p(x)
中國餘數定理( Chinese Reminder Theorem,CRT) • CRT在現代資訊/網路安全與密碼學(加密與解密技巧)的應用亦是扮演極重要的角色。本節的編排定位在對此一定理作概念性/傳載性的介紹與基本原理說明,讀者在未來的需求應用可輔以本節的介紹取其所需。 • 「今有物不知其數,三三數之賸(剩)二,五五數之賸(剩)三,七七數之賸(剩)二,問物為何?」。這個問題俗稱為「韓信點兵」,也就是數論中的「不定方程問題」(Indeterminate equations)。
定理7 中國餘數定理 • 令 r1, r2 ,…, rn為整數。則存在一整數C滿足下列的條件: r1 C (mod p1), r2 C (mod p2), …,與 rn C (mod pn), 其中 :
練習:韓信點兵 • 今有物不知其數,三三數之賸(剩)二,五五數之賸(剩)三,七七數之賸(剩)二,問物為何?
韓信點兵口訣 • 三人同行七時稀(70) • 五樹梅花廿一枝(21) • 七子團圓正月半(15) • 除百零五便得知(105)
算經口訣 • 三三數之剩二,置一百四十 • 五五數之剩三,置六十三 • 七七數之剩二,置三十 • 并之得二百三十三,以二百一十減之,即得 • 三三數之剩一,置七十 • 五五數之剩一,置二十一 • 七七數之剩一,置十五 • 一百六以上,以一百零五減之,即得
密碼系統 • 四大功能 • 秘密性(Secrecy) • 只有 Bob 能解密 • 鑑定性(Authentication) • 確實是 Alice 發送的 • 完整性(Integrity) • 未經竄改 • 不可否認性(Non-Repudiation) • Alice 不能抵賴他曾經發送過
密碼系統加解密機制 k1=k2:對稱式/傳統式/單一金鑰 k1≠k2:非對稱式/公開式/雙金鑰
密碼系統通訊 • 點對點加密(End-to-End) • 中間節點只負責傳送,不參與加解密
密碼系統通訊(續) • 連結加密(Link Encryption)
結語 • 本章期藉由所安排數論基礎知識的瞭解,採循序漸進的方式作介紹,相信讀者對於模數世界的運作,應能有較深的認知與學習,也因此對現代密碼的數學基礎/應用不再陌生。