加密算法

通常來講,非對稱算法安全性更高,其破解難度更大,現在的數字證書就是基於非對稱密鑰體系。
如果結合時間因素的話,再有良好的設計保障,對稱算法也相當安全,比如一次一密,密碼僅在一次很短的會話內有效。

基於“對稱密鑰”的加密算法主要有:AES、DES、TripleDES、RC2、RC4、RC5和Blowfish等。
“非對稱密鑰”的加密算法主要有:RSA、Elgamal、揹包算法、ECC(橢圓曲線加密算法)

對稱算法的代表性機構有:ibm,rsa,麻薩諸塞技術研究所...
非對稱算法的代表性機構有:rsa,麻省理工學院,sun...

加密技術通常分爲兩大類:“對稱式”和“非對稱式”。

對稱式加密技術

對稱式加密就是加密和解密使用同一個密鑰,通常稱之爲“Session Key ”這種加密技術在當今被廣泛採用,如美國政府所採用的DES加密標準就是一種典型的“對稱式”加密法,它的Session Key長度爲56bits。

非對稱式加密技術

非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱爲“公鑰”和“私鑰”,它們兩個必需配對使用,否則不能打開加密文件。這裏的“公鑰”是指可以對外公佈的,“私鑰”則不能,只能由持有人一個人知道。它的優越性就在這裏,因爲對稱式的加密方法如果是在網絡上傳輸加密文件就很難不把密鑰告訴對方,不管用什麼方法都有可能被別竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的“公鑰”是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。


主要分爲 對稱加密算法  和 非對稱加密算法兩類 

對稱加密算法:使用單個密鑰對數據進行加密或解密,其特點是計算量小,加密效率高.
代表 DES 算法

非對稱加密算法:此算法均有兩個密鑰(公用密鑰和私有密鑰),只有二者搭配使用才能完成加密和解密的全過程.
代表 DSA算法, 數字簽名算法(DSA) , MD5算法 , 安全散列算法(SHA)


加密算法

    加密技術是對信息進行編碼和解碼的技術,編碼是把原來可讀信息(又稱明文)譯成代碼形式(又稱密文),其逆過程就是解碼(解密)。加密技術的要點是加密算法,加密算法可以分爲對稱加密、不對稱加密和不可逆加密三類算法。

    對稱加密算法  對稱加密算法是應用較早的加密算法,技術成熟。在對稱加密算法中,數據發信方將明文(原始數據)和加密密鑰一起經過特殊加密算法處理後,使其變成複雜的加密密文發送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,密鑰管理成爲用戶的負擔。對稱加密算法在分佈式網絡系統上使用較爲困難,主要是因爲密鑰管理困難,使用成本較高。在計算機專網系統中廣泛使用的對稱加密算法有DES和IDEA等。美國國家標準局倡導的AES即將作爲新標準取代DES。

    不對稱加密算法不對稱加密算法使用兩把完全不同但又是完全匹配的一對鑰匙—公鑰和私鑰。在使用不對稱加密算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時採用公鑰加密,解密密文時使用私鑰才能完成,而且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)纔是唯一知道自己私鑰的人。不對稱加密算法的基本原理是,如果發信方想發送只有收信方纔能解讀的加密信息,發信方必須首先知道收信方的公鑰,然後利用收信方的公鑰來加密原文;收信方收到加密密文後,使用自己的私鑰才能解密密文。顯然,採用不對稱加密算法,收發信雙方在通信之前,收信方必須將自己早已隨機生成的公鑰送給發信方,而自己保留私鑰。由於不對稱算法擁有兩個密鑰,因而特別適用於分佈式系統中的數據加密。廣泛應用的不對稱加密算法有RSA算法和美國國家標準局提出的DSA。以不對稱加密算法爲基礎的加密技術應用非常廣泛。

    不可逆加密算法  不可逆加密算法的特徵是加密過程中不需要使用密鑰,輸入明文後由系統直接經過加密算法處理成密文,這種加密後的數據是無法被解密的,只有重新輸入明文,並再次經過同樣不可逆的加密算法處理,得到相同的加密密文並被系統重新識別後,才能真正解密。顯然,在這類加密過程中,加密是自己,解密還得是自己,而所謂解密,實際上就是重新加一次密,所應用的“密碼”也就是輸入的明文。不可逆加密算法不存在密鑰保管和分發問題,非常適合在分佈式網絡系統上使用,但因加密計算複雜,工作量相當繁重,通常只在數據量有限的情形下使用,如廣泛應用在計算機系統中的口令加密,利用的就是不可逆加密算法。近年來,隨着計算機系統性能的不斷提高,不可逆加密的應用領域正在逐漸增大。在計算機網絡中應用較多不可逆加密算法的有RSA公司發明的MD5算法和由美國國家標準局建議的不可逆加密標準SHS(Secure Hash Standard:安全雜亂信息標準)等。

加密技術

    加密算法是加密技術的基礎,任何一種成熟的加密技術都是建立多種加密算法組合,或者加密算法和其他應用軟件有機結合的基礎之上的。下面我們介紹幾種在計算機網絡應用領域廣泛應用的加密技術。

    非否認(Non-repudiation)技術  該技術的核心是不對稱加密算法的公鑰技術,通過產生一個與用戶認證數據有關的數字簽名來完成。當用戶執行某一交易時,這種簽名能夠保證用戶今後無法否認該交易發生的事實。由於非否認技術的操作過程簡單,而且直接包含在用戶的某類正常的電子交易中,因而成爲當前用戶進行電子商務、取得商務信任的重要保證。

    PGP(Pretty Good Privacy)技術  PGP技術是一個基於不對稱加密算法RSA公鑰體系的郵件加密技術,也是一種操作簡單、使用方便、普及程度較高的加密軟件。PGP技術不但可以對電子郵件加密,防止非授權者閱讀信件;還能對電子郵件附加數字簽名,使收信人能明確瞭解發信人的真實身份;也可以在不需要通過任何保密渠道傳遞密鑰的情況下,使人們安全地進行保密通信。PGP技術創造性地把RSA不對稱加密算法的方便性和傳統加密體系結合起來,在數字簽名和密鑰認證管理機制方面採用了無縫結合的巧妙設計,使其幾乎成爲最爲流行的公鑰加密軟件包。

    數字簽名(Digital Signature)技術  數字簽名技術是不對稱加密算法的典型應用。數字簽名的應用過程是,數據源發送方使用自己的私鑰對數據校驗和或其他與數據內容有關的變量進行加密處理,完成對數據的合法“簽名”,數據接收方則利用對方的公鑰來解讀收到的“數字簽名”,並將解讀結果用於對數據完整性的檢驗,以確認簽名的合法性。數字簽名技術是在網絡系統虛擬環境中確認身份的重要技術,完全可以代替現實過程中的“親筆簽字”,在技術和法律上有保證。在公鑰與私鑰管理方面,數字簽名應用與加密郵件PGP技術正好相反。在數字簽名應用中,發送者的公鑰可以很方便地得到,但他的私鑰則需要嚴格保密。

    PKI(Public Key Infrastructure)技術  PKI技術是一種以不對稱加密技術爲核心、可以爲網絡提供安全服務的公鑰基礎設施。PKI技術最初主要應用在Internet環境中,爲複雜的互聯網系統提供統一的身份認證、數據加密和完整性保障機制。由於PKI技術在網絡安全領域所表現出的巨大優勢,因而受到銀行、證券、政府等核心應用系統的青睞。PKI技術既是信息安全技術的核心,也是電子商務的關鍵和基礎技術。由於通過網絡進行的電子商務、電子政務等活動缺少物理接觸,因而使得利用電子方式驗證信任關係變得至關重要,PKI技術恰好能夠有效解決電子商務應用中的機密性、真實性、完整性、不可否認性和存取控制等安全問題。一個實用的PKI體系還必須充分考慮互操作性和可擴展性。PKI體系所包含的認證中心(CA)、註冊中心(RA)、策略管理、密鑰與證書管理、密鑰備份與恢復、撤銷系統等功能模塊應該有機地結合在一起。

加密的未來趨勢

    儘管雙鑰密碼體制比單鑰密碼體制更爲可靠,但由於計算過於複雜,雙鑰密碼體制在進行大信息量通信時,加密速率僅爲單鑰體制的1/100,甚至是 1/1000。正是由於不同體制的加密算法各有所長,所以在今後相當長的一段時期內,各類加密體制將會共同發展。而在由IBM等公司於1996年聯合推出的用於電子商務的協議標準SET(Secure Electronic  Transaction)中和1992年由多國聯合開發的PGP技術中,均採用了包含單鑰密碼、雙鑰密碼、單向雜湊算法和隨機數生成算法在內的混合密碼系統的動向來看,這似乎從一個側面展示了今後密碼技術應用的未來。

    在單鑰密碼領域,一次一密被認爲是最爲可靠的機制,但是由於流密碼體制中的密鑰流生成器在算法上未能突破有限循環,故一直未被廣泛應用。如果找到一個在算法上接近無限循環的密鑰流生成器,該體制將會有一個質的飛躍。近年來,混沌學理論的研究給在這一方向產生突破帶來了曙光。此外,充滿生氣的量子密碼被認爲是一個潛在的發展方向,因爲它是基於光學和量子力學理論的。該理論對於在光纖通信中加強信息安全、對付擁有量子計算能力的破譯無疑是一種理想的解決方法。

    由於電子商務等民用系統的應用需求,認證加密算法也將有較大發展。此外,在傳統密碼體制中,還將會產生類似於IDEA這樣的新成員,新成員的一個主要特徵就是在算法上有創新和突破,而不僅僅是對傳統算法進行修正或改進。密碼學是一個正在不斷髮展的年輕學科,任何未被認識的加/解密機制都有可能在其中佔有一席之地。

    目前,對信息系統或電子郵件的安全問題,還沒有一個非常有效的解決方案,其主要原因是由於互聯網固有的異構性,沒有一個單一的信任機構可以滿足互聯網全程異構性的所有需要,也沒有一個單一的協議能夠適用於互聯網全程異構性的所有情況。解決的辦法只有依靠軟件代理了,即採用軟件代理來自動管理用戶所持有的證書(即用戶所屬的信任結構)以及用戶所有的行爲。每當用戶要發送一則消息或一封電子郵件時,代理就會自動與對方的代理協商,找出一個共同信任的機構或一個通用協議來進行通信。在互聯網環境中,下一代的安全信息系統會自動爲用戶發送加密郵件,同樣當用戶要向某人發送電子郵件時,用戶的本地代理首先將與對方的代理交互,協商一個適合雙方的認證機構。當然,電子郵件也需要不同的技術支持,因爲電子郵件不是端到端的通信,而是通過多箇中間機構把電子郵件分程傳遞到各自的通信機器上,最後到達目的地。

加密理解

Posted on 2012-01-07 13:11 xiao張 閱讀(229) 評論(0編輯 收藏

私鑰加密(對稱加密)

原理:

有一個密碼,加密文本,而後使用這個密碼再解密文本,獲得原文。

通俗實例:

小明給小王發一封信,不想讓別人知道其中內容。小明將郵件內容使用密碼進行加密後,發送給小王。然後將密碼通過其他途徑告訴小王,小王收到郵件後,通過密碼解密郵件,獲得原始郵件內容。

實際應用:

將一些信息加密存儲在數據庫中,使用時再解密。這樣即使黑客盜取了數據庫,不知道密碼也無法知道內容。

問題:

加密和解密使用同一密碼。如密碼泄漏給其他人,那麼有密碼的人就都可以解密或加密了。比如小張知道了密碼,就可以解密郵件,並且可以冒充小明給小王發郵件。

公鑰加密(不對稱加密)

原理:

我有個私鑰,還有一個公鑰,我將公鑰發給別人,別人通過公鑰加密文本,發給我,我使用私鑰解密獲得原文。公鑰只能加密,不能解密。

通俗實例:

小王嫌上面的加密方式不安全,他告訴小明瞭一個密碼(公鑰),讓小明把他的郵件加密後發給他,這個密碼只負責加密,沒有解密功能。小王收到郵件後使用自己的密碼(與公鑰對應的私鑰)進行解密,獲得郵件內容。這樣操作後,即使給小明的密碼(公鑰)泄漏,別人也無法解密郵件。頂多只能加密郵件給小王發送。

實際應用:

給服務器提交信息時,客戶端使用公鑰對數據加密,傳輸到服務器後,服務器使用自己的私鑰對數據進行解密處理。這樣就保證了傳輸安全。

也可用作身份確認,通過公鑰加密指定文本後,發送給接收方,接收方收到數據後使用自己的私鑰解密,後將內容回發。發送方比較自己發送的內容和收到的內容就知道接受方是否是真的了。

通訊雙方都使用此種加密方式,擁有各自的公鑰和私鑰,就可以保證相互通訊安全了。

哈希值

原理:

MD5 SHA1 SHA2 的目的是驗證數據,在發送時,進行MD5(原文+密碼)生成唯一值,接受方,使用同樣方法MD5(原文+密碼)生成唯一值和發送的唯一值比較,就可知道數據是否是原始數據。

MD5加密是不可逆的。(現在所謂的MD5解密,只是窮舉了MD5的值,進行批對,找到原始值。)

通俗實例:

小明給小王發信,不想在發信途中被人更改。他將信件原文和他們兩都知道的密碼進行了MD5加密,將生成的md5值隨郵件也發給小王,小王在收到郵件後使用同樣方法獲得md5值,經過比較就可知道信件是否在傳輸途中被人修改。

實際應用:

一般文件下載站,提供文件的MD5哈希值,用戶將文件下載後,通過計算文件的哈希值,和下載源提供的哈希值比較就可知道下載的文件是否爲原始文件。

因爲MD5的不可逆行(無法通過MD5哈希值得到原文),經常將用戶密碼經過MD5加密後存儲在數據庫。

對於用戶的敏感數據如賬戶餘額等數據爲防止直接更改,也可將賬戶餘額+密碼,進行MD5加密存儲,防止對餘額的非法修改。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章