加密解密基礎知識

密碼算法和協議:

    對稱加密:加密和解密方使用同一個密鑰.

    公鑰加密:加密和解密使用不同的密鑰,密鑰是分爲公鑰和私鑰,成對出現公鑰隱含在私鑰中.

    單向加密:也成數據完整性算法,抽取數據的特徵碼,二次抽取都和單詞進行比較,以驗證數據完整性.

    認證協議:基於某些算法來驗證某些通信實體的真實性.


對稱加密:

具體算法:

    DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。

特點:

    優點:算法公開、計算量小、加密速度快、加密效率高。

    缺點:安全性差、每次使用都需要一個唯一的密鑰,導致密鑰維護困難。


公鑰加密:(非對稱加密)

具體算法:

    RSA、ElGamal、揹包算法、Rabin(Rabin的加密法可以說是RSA方法的特例)、Diffie-Hellman (D-H) 密鑰交換協議中的公鑰加密算法、Elliptic Curve Cryptography(ECC,橢圓曲線加密算法)。

具體解釋:

    公鑰是指一對加密密鑰與解密密鑰,這兩個密鑰是數學相關,用某用戶密鑰加密後所得的信息,只能用該用戶的解密密鑰才能解密。如果知道了其中一個,並不能計算出另外一個。因此如果公開了一對密鑰中的一個,並不會危害到另外一個的祕密性質。稱公開的密鑰爲公鑰;不公開的密鑰爲私鑰。

    如果加密密鑰是公開的,這用於客戶給私鑰所有者上傳加密的數據,這被稱作爲公開密鑰加密(狹義)。例如,網絡銀行的客戶發給銀行網站的賬戶操作的加密數據。

    如果解密密鑰是公開的,用私鑰加密的信息,可以用公鑰對其解密,用於客戶驗證持有私鑰一方發佈的數據或文件是完整準確的,接收者由此可知這條信息確實來自於擁有私鑰的某人,這被稱作數字簽名,公鑰的形式就是數字證書。例如,從網上下載的安裝程序,一般都帶有程序製作者的數字簽名,可以證明該程序的確是該作者(公司)發佈的而不是第三方僞造的且未被篡改過(身份認證/驗證)。


安全傳輸數據流程舉例:

wKiom1TKLdfxRFgsAAQmhhsEIns418.jpg

    這個模型中有一個問題就是怎麼保證Arya使用的Bran的公鑰是可靠的公鑰,解決方法就是通過一個可靠的機構發佈,就是CA。


數字證書認證中心:

    Certificate Authority簡稱爲CA。CA是PKI系統中通信雙方都信任的實體,被稱爲可信第三方(Trusted Third Party,簡稱TTP)。CA是指發放、管理、廢除數字證書的機構。CA的作用是檢查證書持有者身份的合法性,並簽發證書(在證書上簽字),以防證書被僞造或篡改,以及對證書和密鑰進行管理。


通過CA驗證數據可靠的的流程舉例:

wKiom1TKNs2R253NAAPMw475xcI543.jpg


CA的證書格式:

    CA證書的通用格式爲X509。

wKiom1TK7v-Adka7AALUwZV-WMI484.jpg

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