1. 程式人生 > >數據的加密與解密

數據的加密與解密

數據機密解密基礎

數據的加密與解密基礎 系統安全實現的目標: 1)機密性:保證數據信息不泄露; 2)完整性:保證數據信息不被篡改; 3)可用性:保證數據信息的內在信息; 威脅系統安全的行為: 1)威脅機密性的攻擊行為:竊聽,嗅探,通信量分析; 2)威脅完整性的攻擊行為:篡改,偽裝,重放,否認; 3)威脅可用性的攻擊行為:拒絕服務,分布式拒絕服務; 安全解決方案: 1)技術:加密和解密 傳統的加密算法: 置換加密 替代加密 現代的加密算法: 塊加密 2)服務(用於抵禦攻擊而特別設計的安全服務) 身份認證 訪問控制 加密方案: 因素: 1)加密算法和協議 2)加密的密鑰 加密的算法和協議: 1)對稱加密算法 2)公鑰加密算法(非對稱的加密算法) 3)單項加密算法(數據指紋算法) 4)認證協議 1)對稱加密算法:加密解密使用同一個密鑰 DES:64bits塊,密鑰長度56bits AES: 密鑰長度128/192/256bits 算法特性:1.通信雙方都需持有唯一密鑰 2.將數據分割成固定大小的塊,逐個加密 3.加密速度快 缺點:1.同一臺主機上保留的密鑰可能會很多 2密鑰的分發非常困難 2)公鑰加密算法(密鑰由私鑰和私鑰抽取生成的公鑰組成) RSA:加密,數字簽名 DSA:數字簽名算法 。。。 算法特性:1.使用密鑰加密或解密時,私鑰加密的數據必須由與之對應的公鑰才能解密,公鑰加密的數據需與之對應的私鑰才能解密; 2.私鑰長度較長,加密後安全等級較高 缺點: 加密數據時,消耗系統資源和時間較多,速度慢; 算法用途: 1.發送數據一方利用接收數據一方的公鑰對對稱加密算法的密鑰進行加密,後將加密結果發送給接收方; 2.數字簽名:確保數據傳輸過程中發送方身份的準確性 3)單向加密算法:只能加密不能解密又稱數據指紋算法,數據指紋即特征碼, md5:128bits定長輸出 sha系列:sha1 sha224 sha256 ... 算法特性:1.定長輸出 2.雪崩效應 4)認證協議: 密鑰交換算法: 1.公鑰加密 2.DH算法:在通信雙方間生成一對用於公鑰加密算法的密鑰對; 加密算法的應用: 1.通信雙方互相交換各自的證書到信任的CA進行認證 2.如果證書有效,發送方使用某種協商好的對稱加密算法進行數據加密,對數據進行特征值抽取,再用自己的私鑰對抽取的特征值 進行加密,以證數據來源的可靠性,發送發利用接收方的公鑰加密對稱加密算法的密鑰; 3.發送方接收到數據後,先用自己的私鑰解密對稱加密算法的密鑰,然後用發送方的公鑰解密被加密的特征值,以證可靠性,再利用 相同的單向加密算法計算數據的特征值,比較兩個特征值來證明數據的完整性,再用對稱密鑰解密加密的數據即可;

數據的加密與解密