㈠ 現代的信息加密方式是怎樣的
首先題主提到的小說里說Enigma採用迴旋加密能夠做到永遠無法暴力破解,這是嚴重錯誤的,因為從密碼學理論上說,不會存在一個絕對安全無法破解的加密演算法。一個真正理想的安全加密方案是一次一密(one-time pad),也就是使用隨機的和明文等長的密鑰進行抑或操作生成密文,密鑰使用一次之後即作廢。這個方案雖然很安全,但是因為在密鑰的生成和分發上存在較大的困難,所以在實際應用中並不是很廣泛。這也就催生了研究密碼學演算法的必要性。現在密碼演算法的設計都遵從了Kerckhoff加密原則,即加密系統的保密性不依賴於對加密體制或演算法的保密,而依賴於密鑰,這一原則現也被普遍承認為傳統密碼與現代密碼的分界線。依據密碼體制的不同原理,分成對稱(單鑰)密碼體制和非對稱(公鑰)密碼體制兩大類。DES(Data Encryption Standard)的產生,是現代密碼的第一個標志,它在1977年被美國政府正式採納為數據加密的標准,密鑰長度為64位,但在1997年的一次破譯挑戰中被人用96天(以1999年超級計算機的計算能力,破解只用22小時)破解之後,逐漸開始被廢棄。代替DES的是AES(Advanced Encryption Standard),其密鑰長度可選擇128位、192位、256位,該標准依舊是對稱密鑰加密中最流行的演算法。非對稱加密的思想非常有趣,它主要依賴了單向函數的計算特性,也就是正向求解很容易而逆向求解卻會非常困難。生活中的例子,比如覆水難收、破鏡難圓都可以看做單向函數,你把鏡子打碎很容易,但是把碎片重新恢復成圓鏡卻不現實;在數學中這樣的函數也有很多,比如大數因子分解(RSA演算法的原理基礎)、橢圓曲線離散對數問題(ECC演算法原理基礎)。相比較對稱加密體制,非對稱加密的主要優點是密鑰的分發比較方便。單鑰密碼體制在進行加密前,要求通信雙方必須擁有相同的密鑰,並且這個密鑰不能被第三方知曉,這就常常需要藉助不可信的網路環境以外的其它方式(如人工方式)進行密鑰傳遞,代價比較大。而非對稱加密體制卻不存在這個問題,通信的接收方可以將其公鑰(PK)在網路上公開,任何一個想和他通信的發送方都可以用他的公鑰將信息加密後發送給他,而不必擔心被他人截獲之後破解,因為只有接收方的私鑰(SK)才能將其解密(其中公鑰和私鑰的選擇是可以對換的,也就是兩個密鑰任何一個做公鑰或私鑰都可以)。既然非對稱密鑰如此方便,是否意味著使用非對稱體制完全代替對稱體制就好了?答案肯定不是,非對稱體制也有自身的缺點,最大的缺點比如加解密的效率非常低,以至於可能會影響正常通信的體驗。所以在加密通信的實踐中,經常使用數字信封技術將二者的優點結合使用,即用非對稱加密傳遞對稱加密的密鑰,然後再在實際的通信過程中使用對稱加密的密鑰加密真正要發送的信息。除此之外,非對稱加密的另一大類應用是數字簽名,所謂簽名,就是要讓人確信這個消息真的是你產生的,而不是別人偽造的,具體操作和加密傳遞會話信息的過程恰好相反,首先消息的產生者用自己的私鑰對要簽名的信息進行加密,然後發送給接收者,接收者用消息產生者的公鑰進行解密,若得到正確的信息,則證明是真實的,因為只有消息產生者私鑰加密的信息才能唯一被消息產生者的公鑰解密。
㈡ 網路現代加密技術分幾種
1 數據加密原理
1.1數據加密
在計算機上實現的數據加密,其加密或解密變換是由密鑰控制實現的。密鑰(Keyword)是用戶按照一種密碼體制隨機選取,它通常是一隨機字元串,是控制明文和密文變換的唯一參數。
例:明文為字元串:
AS KINGFISHERS CATCH FIRE
(為簡便起見,假定所處理的數據字元僅為大寫字母和空格符)。
假定密鑰為字元串: ELIOT
加密演算法為:
(1)將明文劃分成多個密鑰字元串長度大小的塊(空格符以″+″表示)
AS+KI NGFIS HERS+ CATCH +FIRE
(2)用00~26范圍的整數取代明文的每個字元,空格符=00,A=01,...,Z=26:
0119001109 1407060919 0805181900 0301200308 0006091805
(3) 與步驟2一樣對密鑰的每個字元進行取代:
0512091520
(4) 對明文的每個塊,將其每個字元用對應的整數編碼與密鑰中相應位置的字元的整數編碼的和模27後的值取代:
(5) 將步驟4的結果中的整數編碼再用其等價字元替換:
FDIZB SSOXL MQ+GT HMBRA ERRFY
理想的情況是採用的加密模式使得攻擊者為了破解所付出的代價應遠遠超過其所獲得的利益。實際上,該目的適用於所有的安全性措施。這種加密模式的可接受的最終目標是:即使是該模式的發明者也無法通過相匹配的明文和密文獲得密鑰,從而也無法破解密文。
1.2數字簽名
密碼技術除了提供信息的加密解密外,還提供對信息來源的鑒別、保證信息的完整和不可否認等功能,而這三種功能都是通過數字簽名實現。
數字簽名是涉及簽名信息和簽名人私匙的計算結果。首先,簽名人的軟體對發送信息進行散列函數運算後,生成信息摘要(message digest)--這段信息所特有的長度固定的信息表示,然後,軟體使用簽名人的私匙對摘要進行解密,將結果連同信息和簽名人的數字證書一同傳送給預定的接收者。而接收者的軟體會對收到的信息生成信息摘要(使用同樣的散列函數),並使用簽名人的公匙對簽名人生成的摘要進行解密。接收者的軟體也可以加以配置,驗證簽名人證書的真偽,確保證書是由可信賴的CA頒發,而且沒有被CA吊銷。如兩個摘要一樣,就表明接收者成功核實了數字簽名。
2 加密體制及比較
根據密鑰類型不同將現代密碼技術分為兩類:一類是對稱加密(秘密鑰匙加密)系統,另一類是公開密鑰加密(非對稱加密)系統。
2.1對稱密碼加密系統
對稱鑰匙加密系統是加密和解密均採用同一把秘密鑰匙,而且通信雙方都必須獲得這把鑰匙,保持鑰匙的秘密。
對稱密碼系統的安全性依賴於以下兩個因素。第一,加密演算法必須是足夠強的,僅僅基於密文本身去解密信息在實踐上是不可能的;第二,加密方法的安全性依賴於密鑰的秘密性,而不是演算法的秘密性。因為演算法不需要保密,所以製造商可以開發出低成本的晶元以實現數據加密。這些晶元有著廣泛的應用,適合於大規模生產。
對稱加密系統最大的問題是密鑰的分發和管理非常復雜、代價高昂。比如對於具有n個用戶的網路,需要n(n-1)/2個密鑰,在用戶群不是很大的情況下,對稱加密系統是有效的。但是對於大型網路,當用戶群很大,分布很廣時,密鑰的分配和保存就成了大問題。對稱加密演算法另一個缺點是不能實現數字簽名。
對稱加密系統最著名的是美國數據加密標准DES、AES(高級加密標准)和歐洲數據加密標准IDEA。1977年美國國家標准局正式公布實施了美國的數據加密標准DES,公開它的加密演算法,並批准用於非機密單位和商業上的保密通信。DES成為全世界使用最廣泛的加密標准。
但是,經過20多年的使用,已經發現DES很多不足之處,對DES的破解方法也日趨有效。AES將會替代DES成為新一代加密標准。DES具有這樣的特性,其解密演算法與加密演算法相同,除了密鑰Key的施加順序相反以外。
2.2 公鑰密碼加密系統
公開密鑰加密系統採用的加密鑰匙(公鑰)和解密鑰匙(私鑰)是不同的。由於加密鑰匙是公開的,密鑰的分配和管理就很簡單,比如對於具有n個用戶的網路,僅需要2n個密鑰。公開密鑰加密系統還能夠很容易地實現數字簽名。因此,最適合於電子商務應用需要。在實際應用中,公開密鑰加密系統並沒有完全取代對稱密鑰加密系統,這是因為公開密鑰加密系統是基於尖端的數學難題,計算非常復雜,它的安全性更高,但它實現速度卻遠趕不上對稱密鑰加密系統。在實際應用中可利用二者的各自優點,採用對稱加密系統加密文件,採用公開密鑰加密系統加密″加密文件″的密鑰(會話密鑰),這就是混合加密系統,它較好地解決了運算速度問題和密鑰分配管理問題。
根據所基於的數學難題來分類,有以下三類系統目前被認為是安全和有效的:大整數因子分解系統(代表性的有RSA)、橢圓曲線離散對數系統(ECC)和離散對數系統(代表性的有DSA)。
當前最著名、應用最廣泛的公鑰系統RSA是由Rivet、Shamir、Adelman提出的(簡稱為RSA系統),它加密演算法使用了兩個非常大的素數來產生公鑰和私鑰。現實中加密演算法都基於RSA加密演算法。pgp演算法(以及大多數基於RSA演算法的加密方法)使用公鑰來加密一個對稱加密演算法的密鑰,然後再利用一個快速的對稱加密演算法來加密數據。這個對稱演算法的密鑰是隨機產生的,是保密的,因此,得到這個密鑰的唯一方法就是使用私鑰來解密。
RSA方法的優點主要在於原理簡單,易於使用。隨著分解大整數方法的進步及完善、計算機速度的提高以及計算機網路的發展(可以使用成千上萬台機器同時進行大整數分解),作為RSA加解密安全保障的大整數要求越來越大。為了保證RSA使用的安全性,其密鑰的位數一直在增加,比如,目前一般認為RSA需要1024位以上的字長才有安全保障。但是,密鑰長度的增加導致了其加解密的速度大為降低,硬體實現也變得越來越難以忍受,這對使用RSA的應用帶來了很重的負擔,對進行大量安全交易的電子商務更是如此,從而使得其應用范圍越來越受到制約。
DSA(DataSignatureAlgorithm)是基於離散對數問題的數字簽名標准,它僅提供數字簽名,不提供數據加密功能。它也是一個″非確定性的″數字簽名演算法,對於一個報文M,它的簽名依賴於隨機數r ?熏 這樣,相同的報文就可能會具有不同的簽名。另外,在使用相同的模數時,DSA比RSA更慢(兩者產生簽名的速度相同,但驗證簽名時DSA比RSA慢10到40倍)。
2.3 橢圓曲線加密演算法ECC技術優勢
安全性更高、演算法實現性能更好的公鑰系統橢圓曲線加密演算法ECC(EllipticCurveCryptography)基於離散對數的計算困難性。
㈢ SSL常見加密演算法
一、加密演算法常見分類
根據密鑰類型不同將現代密碼技術分為兩類:對稱加密演算法(秘密鑰匙加密)和非對稱加密演算法(公開密鑰加密)。
對稱鑰匙加密系統是加密和解密均採用同一把秘密鑰匙,而且通信雙方都必須獲得這把鑰匙,並保持鑰匙的秘密。
非對稱密鑰加密系統採用的加密鑰匙(公鑰)和解密鑰匙(私鑰)是不同的。
1)對稱加密演算法
DES(Data Encryption Standard):數據加密標准,速度較快,適用於加密大量數據的場合。
3DES(Triple DES):是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高。
AES(Advanced Encryption Standard):高級加密標准,是下一代的加密演算法標准,速度快,安全級別高;
2)非對稱加密演算法
RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的;
DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准);
ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學。
3)單向加密演算法
BASE64 嚴格地說,屬於編碼格式,而非加密演算法
MD5(Message Digest algorithm 5,信息摘要演算法)
SHA(Secure Hash Algorithm,安全散列演算法)
HMAC(Hash Message Authentication Code,散列消息鑒別碼)
二 .特點
DES,3DES,AES 加密數據,只有一個密碼,密鑰長度不同。
PBE Password-based encryption 對稱加密中基於密碼加密,口令用戶掌管不藉助任何物理媒介,採用隨機數雜湊多重加密保證數據安全。
RSA 即能用戶數據加密也能用於數字簽名,同時有公鑰和私鑰。數字簽名的意義在於,對傳輸過來的數據進行校驗確保傳輸過程中不被修改。
單向加密中MD5,SHA,HMAC為非可逆加密,單向散列一般用於產生信息摘要。通常作為加密的基礎。單向加密主要用途為校驗傳輸過程中是否被修改過。
三.演算法比較
在管理方面:公鑰密碼演算法只需要較少的資源就可以實現目的,在密鑰的分配上,兩者之間相差一個指數級別(一個是n一個是n2)。所以私鑰密碼演算法不適應廣域網的使用,而且更重要的一點是它不支持數字簽名。
在安全方面:由於公鑰密碼演算法基於未解決的數學難題,在破解上幾乎不可能。對於私鑰密碼演算法,到了AES雖說從理論來說是不可能破解的,但從計算機的發展角度來看。公鑰更具有優越性。
-從速度上:AES的軟體實現速度已經達到了每秒數兆或數十兆比特。是公鑰的100倍,如果用硬體來實現的話這個比值將擴大到1000倍。
四、參考
http://www.willrey.com/support/ssl_DES.html