通用金鑰密碼體制
通用金鑰密碼體制的加密金鑰Ke和解密金鑰Kd是通用的,即傳送方和接收方使用同樣金鑰的密碼體制,也稱之為“傳統密碼體制”。
例如,人類歷史上最古老的“愷撒密碼”演算法,是在古羅馬時代使用的密碼方式。由於無論是何種語言文字,都可以透過編碼與二進位制數字串對應,所以經過加密的文字仍然可變成二進位制數字串,不影響資料通訊的實現。
現以英語為例來說明使用愷撒密碼方式的通用金鑰密碼體系原理。
例如:愷撒密碼的原理是,對於明文的各個字母,根據它在26個英文字母表中的位置,按某個固定間隔n變換字母,即得到對應的密文。這個固定間隔的數字n就是加密金鑰,同時也是解密金鑰。例cryptograsphy是明文,使用金鑰n=4,加密過程如圖所示:
明文: C R Y P T O G R A P H Y
| | |
| |................. | 金鑰:n=4
密文: F U B S W R J U D S K B
說明如下:
明文的第一個字母C在字母表中的位置設為1,以4為間隔,往後第4個字母是F,把C置換為F;同樣,明文中的第二個字母R的位置設為1,往後第4個字母是U,把R置換為U;依此類推,直到把明文中的字母置換完畢,即得到密文。密文是意思不明的文字,即使第三者得到也毫無意義。通訊的對方得到密文之後,用同樣的密文n=4,對密文的每個字母,按往前間隔4得到的字母進行置換的原則,即可解密得到明文。
愷撒密碼方式的金鑰只有26種,只要知道了演算法,最多將金鑰變換26次做試驗,即可破解密碼。因此,愷撒密碼的安全性依賴於演算法的保密性。
在通用密碼體制中,目前得到廣泛應用的典型演算法是DES演算法。DES是由“轉置”方式和“換字”方式合成的通用金鑰演算法,先將明文(或密文)按64位分組,再逐組將64位的明文(或密文),用56位(另有8位奇偶校驗位,共64位)的金鑰,經過各種複雜的計算和變換,生成64位的密文(或明文),該演算法屬於分組密碼演算法。
DES演算法可以由一塊積體電路實現加密和解密功能。該演算法是對二進位制數字化資訊加密及解密的演算法,是通常資料通訊中,用計算機對通訊資料加密保護時使用的演算法。DES演算法在1977年作為數字化資訊的加密標準,由美國商業部國家標準局制定,稱為“資料加密標準”,並以“聯邦資訊處理標準公告”的名稱,於1977年1月15日正式公佈。使用該標準,可以簡單地生成DES密碼。
在公開金鑰密碼體制中,加密金鑰(即公開金鑰)PK是公開資訊,而解密金鑰(即秘密金鑰)SK是需要保密的。加密演算法E和解密演算法D也都是公開的。雖然秘密金鑰SK是由公開金鑰PK決定的,但卻不能根據PK計算出SK。
與傳統的加密方法不同,該技術採用兩個不同的金鑰來對資訊加密和解密,它也稱為"非對稱式加密方法。每個使用者有一個對外公開的加密演算法E和對外保密的解密演算法D, 它們須滿足條件: (1)D是E的逆,即D[E(X)]=X; (2)E和D都容易計算。 (3)由E出發去求解D十分困難。 從上述條件可看出,公開金鑰密碼體制下,加密金鑰不等於解密金鑰。加密金鑰可對外公開,使任何使用者都可將傳送給此使用者的資訊用公開金鑰加密傳送,而該使用者唯一儲存的私人金鑰是保密的,也只有它能將密文復原、解密。雖然解密金鑰理論上可由加密金鑰推算出來,但這種演算法設計在實際上是不可能的,或者雖然能夠推算出,但要花費很長的時間而成為不可行的。所以將加密金鑰公開也不會危害金鑰的安全。 數學上的單向陷門函式的特點是一個方向求值很容易,但其逆向計算卻很困難。許多形式為Y=f(x)的函式,對於給定的自變數x值,很容易計算出函式Y的值;而由給定的Y值,在很多情況下依照函式關係f(x)計算x值十分困難。例如,兩個大素數p和q相乘得到乘積n比較容易計算,但從它們的乘積n分解為兩個大素數p和q則十分困難。如果n為足夠大,當前的演算法不可能在有效的時間內實現。
特點:
(1) 傳送者用加密金鑰 PK 對明文 X 加密後,在接收者用解密金鑰 SK 解密,即可恢復出明文,或寫為:
Dsk(Epk(X)) = X
解密金鑰是接收者專用的秘密金鑰,對其他人都保密。
此外,加密和解密的運算可以對調,即
Epk(Dsk(X)) = X
(2) 加密金鑰是公開的,但不能用它來解密,即
Dpk(Epk(X)) ? X
(3) 在計算機上可容易地產生成對的 PK 和 SK。
(4) 從已知的 PK 實際上不可能推匯出 SK,即從 PK 到 SK 是“計算上不可能的”。
(5) 加密和解密演算法都是公開的。
通用金鑰密碼體制
通用金鑰密碼體制的加密金鑰Ke和解密金鑰Kd是通用的,即傳送方和接收方使用同樣金鑰的密碼體制,也稱之為“傳統密碼體制”。
例如,人類歷史上最古老的“愷撒密碼”演算法,是在古羅馬時代使用的密碼方式。由於無論是何種語言文字,都可以透過編碼與二進位制數字串對應,所以經過加密的文字仍然可變成二進位制數字串,不影響資料通訊的實現。
現以英語為例來說明使用愷撒密碼方式的通用金鑰密碼體系原理。
例如:愷撒密碼的原理是,對於明文的各個字母,根據它在26個英文字母表中的位置,按某個固定間隔n變換字母,即得到對應的密文。這個固定間隔的數字n就是加密金鑰,同時也是解密金鑰。例cryptograsphy是明文,使用金鑰n=4,加密過程如圖所示:
明文: C R Y P T O G R A P H Y
| | |
| |................. | 金鑰:n=4
| | |
密文: F U B S W R J U D S K B
說明如下:
明文的第一個字母C在字母表中的位置設為1,以4為間隔,往後第4個字母是F,把C置換為F;同樣,明文中的第二個字母R的位置設為1,往後第4個字母是U,把R置換為U;依此類推,直到把明文中的字母置換完畢,即得到密文。密文是意思不明的文字,即使第三者得到也毫無意義。通訊的對方得到密文之後,用同樣的密文n=4,對密文的每個字母,按往前間隔4得到的字母進行置換的原則,即可解密得到明文。
愷撒密碼方式的金鑰只有26種,只要知道了演算法,最多將金鑰變換26次做試驗,即可破解密碼。因此,愷撒密碼的安全性依賴於演算法的保密性。
在通用密碼體制中,目前得到廣泛應用的典型演算法是DES演算法。DES是由“轉置”方式和“換字”方式合成的通用金鑰演算法,先將明文(或密文)按64位分組,再逐組將64位的明文(或密文),用56位(另有8位奇偶校驗位,共64位)的金鑰,經過各種複雜的計算和變換,生成64位的密文(或明文),該演算法屬於分組密碼演算法。
DES演算法可以由一塊積體電路實現加密和解密功能。該演算法是對二進位制數字化資訊加密及解密的演算法,是通常資料通訊中,用計算機對通訊資料加密保護時使用的演算法。DES演算法在1977年作為數字化資訊的加密標準,由美國商業部國家標準局制定,稱為“資料加密標準”,並以“聯邦資訊處理標準公告”的名稱,於1977年1月15日正式公佈。使用該標準,可以簡單地生成DES密碼。
在公開金鑰密碼體制中,加密金鑰(即公開金鑰)PK是公開資訊,而解密金鑰(即秘密金鑰)SK是需要保密的。加密演算法E和解密演算法D也都是公開的。雖然秘密金鑰SK是由公開金鑰PK決定的,但卻不能根據PK計算出SK。
與傳統的加密方法不同,該技術採用兩個不同的金鑰來對資訊加密和解密,它也稱為"非對稱式加密方法。每個使用者有一個對外公開的加密演算法E和對外保密的解密演算法D, 它們須滿足條件: (1)D是E的逆,即D[E(X)]=X; (2)E和D都容易計算。 (3)由E出發去求解D十分困難。 從上述條件可看出,公開金鑰密碼體制下,加密金鑰不等於解密金鑰。加密金鑰可對外公開,使任何使用者都可將傳送給此使用者的資訊用公開金鑰加密傳送,而該使用者唯一儲存的私人金鑰是保密的,也只有它能將密文復原、解密。雖然解密金鑰理論上可由加密金鑰推算出來,但這種演算法設計在實際上是不可能的,或者雖然能夠推算出,但要花費很長的時間而成為不可行的。所以將加密金鑰公開也不會危害金鑰的安全。 數學上的單向陷門函式的特點是一個方向求值很容易,但其逆向計算卻很困難。許多形式為Y=f(x)的函式,對於給定的自變數x值,很容易計算出函式Y的值;而由給定的Y值,在很多情況下依照函式關係f(x)計算x值十分困難。例如,兩個大素數p和q相乘得到乘積n比較容易計算,但從它們的乘積n分解為兩個大素數p和q則十分困難。如果n為足夠大,當前的演算法不可能在有效的時間內實現。
特點:
(1) 傳送者用加密金鑰 PK 對明文 X 加密後,在接收者用解密金鑰 SK 解密,即可恢復出明文,或寫為:
Dsk(Epk(X)) = X
解密金鑰是接收者專用的秘密金鑰,對其他人都保密。
此外,加密和解密的運算可以對調,即
Epk(Dsk(X)) = X
(2) 加密金鑰是公開的,但不能用它來解密,即
Dpk(Epk(X)) ? X
(3) 在計算機上可容易地產生成對的 PK 和 SK。
(4) 從已知的 PK 實際上不可能推匯出 SK,即從 PK 到 SK 是“計算上不可能的”。
(5) 加密和解密演算法都是公開的。