Post on 06-Jan-2016
description
應用加密技術
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 年第一個實作「 R
SA 」誕生 三位美國麻省理工學院學者李瓦士( Rives
t )、夏米爾( 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 = Me mod 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 23
94616504 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 加密的信息實際上是不能被解破的