180 likes | 330 Views
應用加密技術. A0943327 譚惠心 指導教授:梁明章教授. 加密的基本原理. 僅使用演算法 取代加密法 : 對應表 置換加密法 : 置換規則 演算法 + 金鑰 對稱金鑰系統 非對稱金鑰系統 任何加密法都必須具備可逆性 . 對稱金鑰系統. 加密與解密都使用同一金鑰 DES 3DES IDEA RC2/RC4/RC5/RC6 AES. DES(Data Encryption Standard) 資料加密標準.
E N D
應用加密技術 A0943327譚惠心 指導教授:梁明章教授
加密的基本原理 • 僅使用演算法 • 取代加密法:對應表 • 置換加密法:置換規則 • 演算法+金鑰 • 對稱金鑰系統 • 非對稱金鑰系統 • 任何加密法都必須具備可逆性
對稱金鑰系統 • 加密與解密都使用同一金鑰 • DES • 3DES • IDEA • RC2/RC4/RC5/RC6 • AES
DES(Data Encryption Standard) 資料加密標準 • DES是由美國國防部於80年代制定的資料加密標準。它是一種區塊加密方法,它將欲加密的信息分割成64位元的區塊,用56位元的密鑰加密。 • 由於密鑰長度不長,再加上電腦運算速度愈來愈快,利用窮舉法破解密鑰已非遙不可及的事,美國政府已規定從1998年11月起,不得再使用DES加密技術。 • 其替代方案有3DES、RC2及RC4
RC2/RC4 • RC2與RC4則是美國RSA公司提出的對稱加密技術,RC2是用64位元的區塊加密,RC4將密鑰長度變成一個變數,可以隨需要增長密鑰位元,用串流式加密方法,一次計算一個位元組 (bite ) 。
3DES(Data Encryption Standard )三重加密標準 • 使用三階段DES所改良的加密方式,較DES更為安全 • 是國內金融IC提款卡採用的安全機制
AES • AES是一種比DES碼還要先進的加密標準 • AES的數字碼長達128位元 (bit ) 、192位元以及256位元,而DES碼只有56位元,因此在嚴謹度上自然比DES要高出許多 • 已成為對稱金鑰加密方法中最流行的演算法之一
非對稱金鑰系統 • 1976年被提出概念,1978年第一個實作「RSA」誕生 • 三位美國麻省理工學院學者李瓦士(Rivest)、夏米爾(Shamir) 、以及艾道曼(Adleman)率先公開RSA加密 演算法並取得專利權 • 這個專利2000年9月21日失效。由於該演算法在申請專利前就已經被發表了,在世界上大多數其它地區這個專利權不被承認。
非對稱金鑰系統 • 金鑰必須是一對,分成公鑰與私鑰,金鑰之產生不能太困難 • 即使獲取其中一鑰,也無法推算出另外一鑰 • 使用公鑰加密的資料只能用私鑰解密,使用私鑰加密的資料只能用公鑰解密
RSA原理 • 選擇相異大質數 p & q • n= p x q • Φ(n) = ( p – 1 ) x ( q – 1 ) • 隨機選擇e,e須與Φ(n) 互質 • 根據金鑰e,計算出解密金鑰d • ( e x d ) mod Φ(n) = 1 • 於是獲得一對金鑰 • 公鑰 ( e , n ) • 私鑰 ( d , n )
RSA加解密 • 把需加密的資訊視為連續的2進位stream「M」 • 將 M 以長度 k 切成 M1 , M2 , Mi …… • 2 ^ k <= n ( k 需盡量大) • 加密文 Ci = ( Mi ^ e ) mod ( n ) • 解密文 Mi = ( Ci ^ d ) mod ( n )
Example • p = 3, q =11 • n = 3 x 11 = 33 • Φ(n) = ( 3 – 1 )x( 11 – 1 ) = 20 • 選一與20互質的 e,e = 3 • 根據( e x d ) mod Φ(n) = 1 求出 d • ( 3 * d ) mod ( 20 ) = 1,故d = 7 • 公鑰( 3, 33 ) • 私鑰( 7, 33 )
Example • 設 Mi = 19 • 密文 Ci = Memod n = 193 mod 33 = 6859 mod 33 = 28 • 密文Mi = Cd mod n = 287 mod 33 = 19
安全性 • 計算兩個質數乘積在快速運算電腦的協助下,就算質數很巨大,也不會是很困難的事 • 但是要將一個巨大的數分解成兩個質數的成積,儘管用最快速的電腦來算,也需要很長久的時間 • 所以 RSA 密碼法在目前雖然稱不上絕對安全,但算是夠安全了
檢測 • 為了檢測 RSA 技術的安全性,一家專門研究RSA 技術的公司 RSA Security 提出了 8 個巨大合成數讓數學家作質數分解。這些合成數都是由兩個巨大的質數相乘積,要分解它們並不一件簡易的事 • RSA-576 是 8 個合成數中最小的一個,其餘 7 個合成數的位數分別有 193 ~617 個 • RSA-576 是指這個合成數寫成二進位時有 576 個位。其他七個巨大的合成數分別是RSA-640、RSA-704、RSA-768、RSA-896、RSA-1024、RSA-1536、RSA-2048
檢測 • RSA-576=1881 9881292060 7963838697 2394616504 3980716356 3379417382 7007633564 2298885971 5234665485 3190606065 0474304531 7388011303 3967161996 9232120573 4031879550 6569962213 0516875930 7650257059,它總共有174位數。
檢測 • 在2003年12月3日,一個德國機構成功的將它分解成3980750 8642406493 7397125500 5503864911 9906436234 2526708406 3851895759 4638895726 1768583317和 4727721 4610743530 2536223071 9730482246 3291469530 2097116459 8521711305 2071125636 3590397527,並獲得RSA Security 所提供的獎金10000美金
未來 • 到2008年為止,世界上還沒有任何可靠的攻擊RSA演算法的方式。只要其鑰匙的長度足夠長,用RSA加密的信息實際上是不能被解破的