對稱加密體制
A. 對稱密碼體制
1.對稱密鑰密碼體系
對稱密鑰密碼體系也叫密鑰密碼體系,它是指消息發送方和消息接收方必須使用相同的密鑰,該密鑰必須保密。發送方用該密鑰對待發消息進行加密,然後將消息傳輸至接收方,接收方再用相同的密鑰對收到的消息進行解密。這一過程可用數學形式來表示。消息發送方使用的加密函數encrypt有兩個參數:密鑰K和待加密消息M,加密後的消息為E,E可以表示為E=encrypt(K,M)消息接收方使用的解密函數decrypt把這一過程逆過來,就產生了原來的消息:
M=decrypt(K,E)=decrypt(K,encrypt(K,M))
2.非對稱密鑰密碼體系
非對稱密鑰密碼體系又叫公鑰密碼體系,它使用兩個密鑰:一個公共密鑰PK和一個私有密鑰SK。這兩個密鑰在數學上是相關的,並且不能由公鑰計算出對應的私鑰,同樣也不能由私鑰計算出對應的公鑰。這種用兩把密鑰加密和解密的方法表示成如下數學形式。假設M表示一條消息,pub—a表示用戶a的公共密鑰,prv—a表示用戶a的私有密鑰,那麼:
M=decrypt(pub—a,encrypt(prv—a,M))
B. 對稱加密演算法的加密演算法主要有哪些
1、3DES演算法
3DES(即Triple DES)是DES向AES過渡的加密演算法(1999年,NIST將3-DES指定為過渡的加密標准),加密演算法,其具體實現如下:設Ek()和Dk()代表DES演算法的加密和解密過程,K代表DES演算法使用的密鑰,M代表明文,C代表密文,這樣:
3DES加密過程為:C=Ek3(Dk2(Ek1(M)))
3DES解密過程為:M=Dk1(EK2(Dk3(C)))
2、Blowfish演算法
BlowFish演算法用來加密64Bit長度的字元串。
BlowFish演算法使用兩個「盒」——unsignedlongpbox[18]和unsignedlongsbox[4,256]。
BlowFish演算法中,有一個核心加密函數:BF_En(後文詳細介紹)。該函數輸入64位信息,運算後,以64位密文的形式輸出。用BlowFish演算法加密信息,需要兩個過程:密鑰預處理和信息加密。
分別說明如下:
密鑰預處理:
BlowFish演算法的源密鑰——pbox和sbox是固定的。我們要加密一個信息,需要自己選擇一個key,用這個key對pbox和sbox進行變換,得到下一步信息加密所要用的key_pbox和key_sbox。具體的變化演算法如下:
1)用sbox填充key_sbox
2)用自己選擇的key8個一組地去異或pbox,用異或的結果填充key_pbox。key可以循環使用。
比如說:選的key是"abcdefghijklmn"。則異或過程為:
key_pbox[0]=pbox[0]abcdefgh;
key_pbox[1]=pbox[1]ijklmnab;
…………
…………
如此循環,直到key_pbox填充完畢。
3)用BF_En加密一個全0的64位信息,用輸出的結果替換key_pbox[0]和key_pbox[1],i=0;
4)用BF_En加密替換後的key_pbox,key_pbox[i+1],用輸出替代key_pbox[i+2]和key_pbox[i+3];
5)i+2,繼續第4步,直到key_pbox全部被替換;
6)用key_pbox[16]和key_pbox[17]做首次輸入(相當於上面的全0的輸入),用類似的方法,替換key_sbox信息加密。
信息加密就是用函數把待加密信息x分成32位的兩部分:xL,xRBF_En對輸入信息進行變換。
3、RC5演算法
RC5是種比較新的演算法,Rivest設計了RC5的一種特殊的實現方式,因此RC5演算法有一個面向字的結構:RC5-w/r/b,這里w是字長其值可以是16、32或64對於不同的字長明文和密文塊的分組長度為2w位,r是加密輪數,b是密鑰位元組長度。
(2)對稱加密體制擴展閱讀:
普遍而言,有3個獨立密鑰的3DES(密鑰選項1)的密鑰長度為168位(三個56位的DES密鑰),但由於中途相遇攻擊,它的有效安全性僅為112位。密鑰選項2將密鑰長度縮短到了112位,但該選項對特定的選擇明文攻擊和已知明文攻擊的強度較弱,因此NIST認定它只有80位的安全性。
對密鑰選項1的已知最佳攻擊需要約2組已知明文,2部,2次DES加密以及2位內存(該論文提到了時間和內存的其它分配方案)。
這在現在是不現實的,因此NIST認為密鑰選項1可以使用到2030年。若攻擊者試圖在一些可能的(而不是全部的)密鑰中找到正確的,有一種在內存效率上較高的攻擊方法可以用每個密鑰對應的少數選擇明文和約2次加密操作找到2個目標密鑰中的一個。
C. 典型的對稱加密體制有哪些
數據加密是用加密演算法E和加密密鑰K1將明文P變換成密文C,表示為:C=EK1(P)。 按照加密密鑰K1和解密密鑰K2的異同,有兩種密鑰體制。 (1)秘密密鑰加密體制(K1=K2):加密和解密採用相同的密鑰,因而又稱為對稱密鑰體制。針對DES密鑰短的問題,科學家又研製了80位的密鑰,以及在DES的基礎上採用三重DES和雙密鑰加密的方法,即用兩個56位的密鑰K1、K2。(2)公開密鑰加密體制(K1≠K2):又稱不對稱密鑰體制,其加密和解密使用不同的密鑰,其中一個密鑰是公開的,另一個密鑰是保密的。
D. 什麼是對稱密碼和非對密碼,分析這兩種密碼體系的特點和應用領域
一、對稱密碼
1、定義:採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。
2、特點:演算法公開、計算量小、加密速度快、加密效率高。
3、應用領域:由於其速度快,對稱性加密通常在消息發送方需要加密大量數據時使用。
二、非對密碼
1、定義:非對稱密碼指的是非對稱密碼體制中使用的密碼。
2、特點:
(1)是加密密鑰和解密密鑰不同 ,並且難以互推 。
(2)是有一個密鑰是公開的 ,即公鑰 ,而另一個密鑰是保密的 ,即私鑰。
3、應用領域:很好的解決了密鑰的分發和管理的問題 ,並且它還能夠實現數字簽名。
(4)對稱加密體制擴展閱讀
對稱加密演算法特徵
1、加密方和解密方使用同一個密鑰;
2、加密解密的速度比較快,適合數據比較長時的使用;
3、密鑰傳輸的過程不安全,且容易被破解,密鑰管理也比較麻煩
E. 對稱密碼體制的內容和典型演算法
內容:在對稱加密系統中,加密和解密採用相同的密鑰。因為加解密密鑰相同,需要通信的雙方必須選擇和保存他們共同的密鑰,各方必須信任對方不會將密鑰泄密出去,這樣就可以實現數據的機密性和完整性。
演算法:DES(Data Encryption Standard數據加密標准)演算法及其變形Triple DES(三重DES),GDES(廣義DES);歐洲的IDEA;日本的FEAL N、RC5等。
Triple DES使用兩個獨立的56bit密鑰對交換的信息進行3次加密,從而使其有效長度達到112bit。RC2和RC4方法是RSA數據安全公司的對稱加密專利演算法,它們採用可變密鑰長度的演算法。通過規定不同的密鑰長度,,C2和RC4能夠提高或降低安全的程度。
(5)對稱加密體制擴展閱讀:
密碼體制的基本模式:
通常的密碼體制採用移位法、代替法和代數方法來進行加密和解密的變換,可以採用一種或幾種方法結合的方式作為數據變換的基本模式,下面舉例說明:
移位法也叫置換法。移位法把明文中的字元重新排列,字元本身不變但其位置改變了。
例如最簡單的例子:把文中的字母和字元倒過來寫。
或將密文以固定長度來發送
5791ECNI SYLDIPAT DEVLOBES AHYTIRUC ESATAD**。
F. 試比較對稱加密演算法與非對稱加密演算法在應用中的優缺點傳統密碼體制與公鑰密碼體制的優缺點
1、對稱加密演算法
優點
加解密的高速度和使用長密鑰時的難破解性。
缺點
對稱加密演算法的安全性取決於加密密鑰的保存情況,但要求企業中每一個持有密鑰的人都保守秘密是不可能的,他們通常會有意無意的把密鑰泄漏出去。如果一個用戶使用的密鑰被入侵者所獲得,入侵者便可以讀取該用戶密鑰加密的所有文檔,如果整個企業共用一個加密密鑰,那整個企業文檔的保密性便無從談起。
2、非對稱加密演算法
優點
非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了很多。
缺點
演算法強度復雜、安全性依賴於演算法與密鑰但是由於其演算法復雜,而使得加密解密速度沒有對稱加密解密的速度快。
3、傳統密碼體制
優點
由於DES加密速度快,適合加密較長的報文。
缺點
通用密鑰密碼體制的加密密鑰和解密密鑰是通用的,即發送方和接收方使用同樣密鑰的密碼體制。
4、公鑰密碼體制
優點
RSA演算法的加密密鑰和加密演算法分開,使得密鑰分配更為方便。
RSA演算法解決了大量網路用戶密鑰管理的難題。
缺點
RSA的密鑰很長,加密速度慢。
(6)對稱加密體制擴展閱讀
W.Diffie和M.Hellman 1976年在IEEE Trans.on Information刊物上發表了「 New Direction in Cryptography」文章,提出了「非對稱密碼體制即公開密鑰密碼體制」的概念,開創了密碼學研究的新方向。
在通用密碼體制中,得到廣泛應用的典型演算法是DES演算法。DES是由「轉置」方式和「換字」方式合成的通用密鑰演算法,先將明文(或密文)按64位分組,再逐組將64位的明文(或密文),用56位(另有8位奇偶校驗位,共64位)的密鑰,經過各種復雜的計算和變換,生成64位的密文(或明文),該演算法屬於分組密碼演算法。
G. 對稱密鑰體制與公鑰密鑰體制的特點各自是什麼各有何優缺點
對稱密鑰體制是加密密鑰與解密密鑰密碼相同,兩個參與者共享同一個密鑰。
公鑰密碼體制是使用不同的加密密鑰和解密密鑰,加密密鑰是公開信息,而解密密鑰需要保密。
公鑰密碼體制有很多良好的特性,它不僅可以用來加密,還可以很方便的用於鑒別和數字簽名。但公鑰密碼演算法比對稱密鑰密碼演算法要慢好幾個數量級。
對稱密鑰體制的加解密速度快且安全強度高,但密鑰難管理和傳送,不適於在網路中單獨使用。
密鑰的產生
1、選擇兩個大素數,p和q。
2、計算:n = p * q (p,q分別為兩個互異的大素數,p,q必須保密,一般要求p,q為安全素數,n的長度大於512bit,這主要是因為RSA演算法的安全性依賴於因子分解大數問題)。有歐拉函數(n)=(p-1)(q-1)。
3、然後隨機選擇加密密鑰e,要求e和( p - 1 ) * ( q - 1 )互質。
4、最後,利用Euclid演算法計算解密密鑰d,滿足de≡1(modφ(n))。其中n和d也要互質。數e和n是公鑰,d是私鑰。兩個素數p和q不再需要,應該丟棄,不要讓任何人知道。
H. 對稱密碼體制和非對稱密碼體制的工作原理分別是什麼並說明各自的優缺點
對於加密,基本上不存在一個完全不可以被破解的加密演算法,因為只要你有足夠的時間,完全可以用窮舉法來進行試探,如果說一個加密演算法是牢固的,一般就是指在現有的計算條件下,需要花費相當長的時間才能夠窮舉成功(比如100年)。一、主動攻擊和被動攻擊數據在傳輸過程中或者在日常的工作中,如果沒有密碼的保護,很容易造成文件的泄密,造成比較嚴重的後果。一般來說,攻擊分為主動攻擊和被動攻擊。被動攻擊指的是從傳輸信道上或者從磁碟介質上非法獲取了信息,造成了信息的泄密。主動攻擊則要嚴重的多,不但獲取了信息,而且還有可能對信息進行刪除,篡改,危害後果及其嚴重。 二、對稱加密基於密鑰的演算法通常分為對稱加密演算法和非對稱加密演算法(公鑰演算法)。對成加密演算法就是加密用的密鑰和解密用的密鑰是相等的。比如著名的愷撒密碼,其加密原理就是所有的字母向後移動三位,那麼3就是這個演算法的密鑰,向右循環移位就是加密的演算法。那麼解密的密鑰也是3,解密演算法就是向左循環移動3位。很顯而易見的是,這種演算法理解起來比較簡單,容易實現,加密速度快,但是對稱加密的安全性完全依賴於密鑰,如果密鑰丟失,那麼整個加密就完全不起作用了。比較著名的對稱加密演算法就是DES,其分組長度位64位,實際的密鑰長度為56位,還有8位的校驗碼。DES演算法由於其密鑰較短,隨著計算機速度的不斷提高,使其使用窮舉法進行破解成為可能。三、非對稱加密非對稱加密演算法的核心就是加密密鑰不等於解密密鑰,且無法從任意一個密鑰推導出另一個密鑰,這樣就大大加強了信息保護的力度,而且基於密鑰對的原理很容易的實現數字簽名和電子信封。比較典型的非對稱加密演算法是RSA演算法,它的數學原理是大素數的分解,密鑰是成對出現的,一個為公鑰,一個是私鑰。公鑰是公開的,可以用私鑰去解公鑰加密過的信息,也可以用公鑰去解私鑰加密過的信息。比如A向B發送信息,由於B的公鑰是公開的,那麼A用B的公鑰對信息進行加密,發送出去,因為只有B有對應的私鑰,所以信息只能為B所讀取。牢固的RSA演算法需要其密鑰長度為1024位,加解密的速度比較慢是它的弱點。另外一種比較典型的非對稱加密演算法是ECC演算法,基於的數學原理是橢圓曲線離散對數系統,這種演算法的標准我國尚未確定,但是其只需要192 bit 就可以實現牢固的加密。所以,應該是優於RSA演算法的。優越性:ECC > RSA > DES
I. 對稱加密演算法的缺點有哪些
1、對稱加密演算法
優點
加解密的高速度和使用長密鑰時的難破解性。
缺點
對稱加密演算法的安全性取決於加密密鑰的保存情況,但要求企業中每一個持有密鑰的人都保守秘密是不可能的,他們通常會有意無意的把密鑰泄漏出去。如果一個用戶使用的密鑰被入侵者所獲得,入侵者便可以讀取該用戶密鑰加密的所有文檔,如果整個企業共用一個加密密鑰,那整個企業文檔的保密性便無從談起。
2、非對稱加密演算法
優點
非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了很多。
缺點
演算法強度復雜、安全性依賴於演算法與密鑰但是由於其演算法復雜,而使得加密解密速度沒有對稱加密解密的速度快。
3、傳統密碼體制
優點
由於DES加密速度快,適合加密較長的報文。
缺點
通用密鑰密碼體制的加密密鑰和解密密鑰是通用的,即發送方和接收方使用同樣密鑰的密碼體制。
4、公鑰密碼體制
優點
RSA演算法的加密密鑰和加密演算法分開,使得密鑰分配更為方便。
RSA演算法解決了大量網路用戶密鑰管理的難題。
缺點
RSA的密鑰很長,加密速度慢。
J. 簡述對稱密鑰密碼體制與非對稱密鑰密碼體制
對稱密鑰密碼:對稱密鑰加密又稱私鑰加密,即信息的發送方和接收方用一個密鑰去加密和解密數據。它的最大優勢是加/解密速度快, 適合於對大數據量進行加密,但密鑰管理困難。
非對稱密鑰密碼:非對稱密鑰加密又稱公鑰密鑰加密。它需要使用一對密鑰 來分別完成加密和解密操作,一個公開發布,即公開密鑰,另一 個由用戶自己秘密保存,即私用密鑰。信息發送者用公開密鑰去 加密,而信息接收者則用私用密鑰去解密。公鑰機制靈活,但加密和解密速度卻比對稱密鑰加密慢得多。