1、密碼學的術語、分類
一、術語
密碼體制:明文空間、密文空間、密鑰空間、加密算法和解密算法五部分構成。
密碼協議:有時稱爲安全協議,指以密碼學爲基礎的消息交換的通訊協議,目的是在網絡環境
中提供各類安全服務,密碼協議和密碼算法同等重要,是密碼學研究的兩大課題。
密碼系統:用於加密解密的系統,加密時,經過輸入明文和密鑰,加密後輸出密文;解密時,通
過輸入密文和解密密鑰,輸出明文。一個密碼系統,由信源、加密變換、解密變換、信宿和攻擊
者組構成。
柯克霍夫原則:數據的安全基於密鑰而不是算法的保密。系統的安全信,取決於密鑰,對密鑰保
密,對算法公開。柯克霍夫原則是現代密碼學設計的基本原則。
二、分類
2.一、按時間劃分:
古典密碼、現代密碼;古典密碼以字符爲基本加密單元,現代密碼:以信息塊爲基本加密單元。
2.二、按密鑰劃分:
受限制的算法、基於密鑰的算法;
受限制的算法:算法的保密性基於保持算法的祕密,通常不建議;
基於密鑰的算法:算法的保密基於密鑰的保密,正是現代密碼學的主要特徵。
2.三、按密碼體制劃分:
對稱密碼體制、非對稱密碼體制;
對稱密碼體制:加密與解密密鑰相同,
非對稱密碼體制:加密密鑰和解密密鑰不一樣,密鑰分爲公鑰與私鑰,公鑰對外公開,
私鑰對外保密。
2.四、按明文的處理方法劃分:
分組密碼、流密碼;
分組密碼:用同一密鑰算法對每一塊加密,輸出的也是固定長度的密文,多用於網絡加密。
流密碼:又稱序列密碼,加密時每次加密一位或一個字節的明文,通常在手機系統中使用,
比較著名的流密碼有RC4.
2、散列函數
一、概念
在對稱密碼體制中,以流密碼實現的方式,須要驗證信息的完整性,這種技術
就是散列函數提供的消息認證技術。
二、做用
散列函數主要做用不是完成數據的加密和解密的,只用來驗證數據的完整性,
經過給數據建立「數字指紋」(散列值)若是消息在傳遞過程當中被篡改,則該消息不能與
得到的數字指紋匹配。
三、特性:散列函數特性
一、消息的長度不受限制。
二、對於給定的消息,其散列值計算是很容易的。
三、若是兩個散列值不相同,則這兩個散列值的原始消息也不一樣,這個特性使得散列函數有肯定性的結果。
四、散列函數的運算過程是不可逆的,這個特性稱爲函數的單向性。
五、對於一個已知的消息及其散列值,要找到另外一個消息使其得到相同的散列值是不可能的,這種特性稱爲抗弱碰撞性,防止信息被僞造。
六、任意兩個不一樣消息的散列值必定不一樣,這個特性稱爲抗強碰撞性。
四、應用
散列函數普遍用於信息完整性的驗證,是數據簽名的核心技術,散列函數的經常使用算法有MD(消息摘要算法)
、 SHA(安全散列算法)、以及Mac(消息認證碼算法)
3、數字簽名
一、概念
經過散列函數能夠保證數據內容的完整性,但這遠遠不夠,此外還須要保證數據來源的可認證性和數據發送行爲的不能否認性。
完整性、可認證性和不能否認性正是數字簽名的主要特徵。
數字簽名離不開非對稱密碼體制,簽名算法受私鑰控制,且由簽名者保密;
驗證算法受公鑰控制,且對外公開。
二、數字簽名知足如下三個條件
一、簽名者任什麼時候候都沒法否定本身曾經簽發的數字簽名
二、信息接收者可以驗證和確認收到的數字簽名,但任何人沒法僞造信息發送者的數字簽名
三、當收發雙方對數字簽名的真僞產生爭議時,經過仲裁機構(可信賴的第三方)進行仲裁。
三、數字簽名規範
私鑰用於簽名,公鑰用於驗證,私鑰和公鑰成對出現,公鑰加密的消息只能用私鑰來解,
私鑰加密的消息只能由公鑰來解。
四、單向認證和雙向認證
一、單向認證:因爲算法、密鑰公開,任何一個已得到公鑰的竊聽者均可以截獲到乙方發送的消息,
替換成本身的消息發送給甲方,而甲方沒法辨別消息是否來自乙方。這種認證方式屬於單向認證。
二、雙向認證:若是有兩套公私鑰,甲乙雙方都對數據進行簽名及驗證就能夠避免這一問題,這種
認證方式屬於雙向認證。
4、PKI加密和簽名
一、簽名
使用私鑰加密,公鑰解密
二、加密
用公鑰加密,私鑰解密
三、使用情景
若是A想給B發一個安全的保密的數據,那麼應該AB各自有一個私鑰,
A先用B的公鑰加密這段數據,再用本身的私鑰加密這段加密後的數據。
最後再發給B,這樣確保了內容即不會被讀取,也不會被篡改。
加解密過程:
1. A用B的公鑰加密數據 --加密
2. A用本身的私鑰加密這段加密後的數據 --簽名
3. B用A的公鑰解密 --驗證簽名
4. B用本身的私鑰解密數據 --解密
5、公鑰基礎設施和密碼學的將來
一、概念
公鑰基礎設施(Public Key Infrastructure,PKI)是一個基於X.509的、用於建立、分配和撤回證書的模型。
PKI能爲全部網絡應用提供加密和數字簽名服務。
PKI由公鑰密碼技術、數字證書、證書認證中心和關於公鑰的安全策略等基本成分共同組成,對密鑰和證書進行管理。
二、PKI的標準
RSA公司定義了PKCS(Public Key Cryptography Standard,公鑰加密標準),並定義了許多
加密組件,如數字簽名和證書請求格式:IETF(Internet Engineering Task Force,互聯網
工程任務組)和PKIWG(Public KeyInfrastructure Working Group)PKI工做組,PKCS共
有15項標準。
比較經常使用的標準:
PKICS#7:加密消息語法標準
PKICS#10:證書請求語法
PKICS#12:我的信息交換語法標準
三、PKI系統的組成
PKI系統由認證中心(Certifiate Authority,CA)、數字證書庫(Certificate
Respository,CR)、密鑰備份及恢復系統、證書做廢系統、應用程序接口五部分組成。
認證中心CA和數字證書庫CR是PKI技術的核心。
一、認證中心CA功能:
證書發放、證書更新、證書撤銷、證書驗證
二、數字證書庫CR功能:
存儲已簽發的數字證書及公鑰、包括LDAP(Light Direct Access Protocol輕量級目錄訪
問協議)目錄服務器和數據庫。
四、數字證書
一、概念
數字證書是網絡用戶身份的標識,包括ID、公鑰和頒發機構的數字簽名等內容。其形式主要有X.509公鑰證書、SPKI(Simple
Public Key Infrastructure,簡單PKI)證書、PGP(Pretty Good Privacy)證書和屬性(Attribute)證書。
其中X.509證書最爲常見,一般所說的數字證書就是指X.509公鑰證書。
二、PGP、OpenPGP與GPG
PGP使得通常人能夠很容易的對數據文件、郵件進行加密,其主要特色是在非安全的網絡環境下,使得從未謀面的人取得信任。相比與PKI,
PGP不須要HTTPS、也不須要CA,僅僅須要一個可信賴的密鑰託管服務器。
因爲PGP的普遍應用,造成一個最終的開放標準-OpenPGP。
GPG是實現了OpenPGP的免費開源程序。
三、X.509和PGP的區別
X.509 依賴CA的信任鏈,即羣簽名,PGP不依賴於CA,依賴可信任的環簽名。
X.509主要應用於可信任的、安全的環境中,如電子商務平臺等;PGP可用於不安全的網絡環境中,如郵件等。
PGP依賴於非公鑰體制,即公鑰對數據加密,私鑰對數據解密。
PKI是經過非公鑰體制進行密鑰交換,轉而使用對稱密鑰完成加密操做。
四、密碼學的將來
1998年DES方式加密的密鑰被破解。
2004年破解了MD五、HAVAL-12八、MD4和RIPEMD被山東大學王曉雲教授團隊破解,MD5的破解預示着SHA-1算法的末日。
MD5和SHA-1的破解,動搖了目前數字簽名的理論根基,從理論上說數字簽名能夠僞造。
密碼學在信息安全中愈來愈重要,已成爲信息安全中不可或缺的一部分。密碼學的發展以密碼算法被破解而引起。