混合密碼體系 --- 數字信封
????????邏輯 --- 先用快速的對稱密鑰來對消息進行加密,保證數據的機密性。然后只需要保證對稱密鑰的機密性即可,使用公鑰密鑰體系來對對稱秘鑰消息進行加密。


身份認證和數據認證技術
Hash散列
????????指紋 ---> 單向散列函數
????????Hash ---> 散列函數、散列算法、哈希算法;---> 將任意長度的輸入數據,輸出為相對較小的數據的方法,目標數據長度是不固定的,輸出為固定的長度,且過程不可逆。
????????
????????散列并不是加密,加密是可逆的,而散列是不可逆的。
? ? ? ? 不可逆
????????明文可以很長,而散列值固定長度
????????相同的明文,產生的散列值相同;不同的明文,產生的散列值一定不同。
????????雪崩效應
用途
1. 網絡傳輸的校驗和
2. 確保傳遞信息的真實性和完整性
????????MAC --- 消息認證碼 --- 類似于散列,將明文轉換為MAC值
????????對消息進行認證并確定其完整性的技術。通過使用發送者和接收者之間的共享密鑰,就可以識別是否存在偽裝和篡改行為。--->散列值確保的是消息的完整性,而MAC是在完整性的基礎上,進一步確保消息未被篡改(發出者是A而不是C)。
????????散列的輸入只有明文,而MAC會多出一個密鑰。
????????HMAC --- 基于哈希的消息認證碼 --- 使用了某個密碼學散列函數的MAC算法
3. 電子簽名
????????網絡中的“身份證”,由數字簽名算法實現。
????????數字簽名算法 ---> 需要散列函數進行計算。
4. 保存敏感資料,如密碼信息
5. 散列表 --- 快速查找 --- HashTable
????????利用key的散列值來映射到內存地址中,從而實現快速讀寫value
????????散列算法一般分為兩種 密碼學哈希 和 非密碼學哈希
????????密碼學哈希 ,指的是用于保證密碼學安全性的散列算法;指的是很難發生 哈希碰撞 ,或者很難被找出哈希前的明文數據,即哈希值表現出很強的隨機性。 密碼學哈希 關鍵指標就在于抗碰撞性。????????????????
????????非密碼學哈希 ,只是盡量避免非惡意輸入帶來的哈希碰撞 ---> CRC,又或者HashTable
? ? ????如果一個密碼學哈希算法被證實在當下計算機的計算能力內出現碰撞的可能性較高,或出現過碰撞,則該算法會成為不安全的密碼學哈希算法。
消息認證碼的局限性 ---> 無法解決“對第三方證明”和“防止否認”兩個問題。?
???????
????????生成消息簽名的行為
????????由消息發送者來完成,被稱為“對消息簽名”。
????????驗證消息簽名的行為
????????由消息接收者來完成,也可以由第三方來完成。
????????驗證該消息是否真正的屬于某一個發送者。
????????數字簽名過程中,生成簽名和驗證簽名的兩個行為需要使用各自專用的密鑰來完成 --- 即驗證簽名的密鑰無法生成簽名。--->類似于公鑰密碼體系。

數字證書
????????所謂證書,將公鑰當做是一條消息,由一個可信任的第三方對其簽名后所得到的公鑰。
證書
????????公鑰證書(PKC),與駕照很相似,里面存在姓名、組織、郵箱地址...個人信息和公鑰。并由認證機構(CA)來實施數字簽名。

認證機構對公鑰對應證書的申請者會進行身份驗證
1、通過郵箱發送郵件來確認本人身份
2、通過第三方數據庫來確認本人身份
3、通過當面認證和身份證明來確認本人身份
認證機構CA
生成密鑰對 --- 可以由用戶完成,也可以由CA機構完成。
在注冊公鑰時,對本人身份進行認證 --- RA完成
生成并頒發證書
作廢證書 --- 用戶私鑰丟失,被盜。
要作廢證書 --- 就需要認證機構制作一張證書作廢清單 --- CRL。
PKI用戶需要從認證機構獲取最新的CRL,并查詢自己要用于驗證簽名(或者用于加密)的公鑰證
書是否已經作廢。--->不是用戶完成的,而是由處理證書的軟件來完成的。