網絡安全的原則
在網絡上"不允許"傳輸用戶隱私數據的"明文"
在本地"不允許"保存用戶隱私數據的"明文"
Base64編碼
特點:可以將任意的二進制數據進行Base64編碼
結果:所有的數據都能被編碼為并只用65個字符就能表示的文本文件。65個字符:A~Z a~z 0~9 + / =
對文件進行base64編碼后文件數據的變化:編碼后的數據~=編碼前數據的4/3,會大1/3左右。
Base64編碼原理:
1. 將所有字符轉化為ASCII碼;
2. 將ASCII碼轉化為8位二進制;
3. 將二進制3個歸成一組(不足3個在后邊補0)共24位,再拆分成4組,每組6位;
4. 統一在6位二進制前補兩個0湊足8位;
5. 將補0后的二進制轉為十進制;
6. 從Base64編碼表獲取十進制對應的Base64編碼
單向散列函數的特點
1. 加密后密文的長度是定長的
2. 如果明文不一樣,那么散列后的結果一定不一樣
3. 如果明文一樣,那么加密后的密文一定一樣(對相同數據加密,加密后的密文一樣)
4. 所有的加密算法是公開的
5. 不可以逆推反算
總結:
1. 不可逆
2. 原文相同,散列值相同
3. 原文不同,散列值不同
4. 加密后密文的長度是定長的
散列函數的一些應用領域
搜索:多個關鍵字,先對每個關鍵字進行散列,然后多個關鍵字進行或運算,如果值一致則搜索結果一致
版權:對文件進行散列判斷該文件是否是正版或原版的
文件完整性驗證:對整個文件進行散列,比較散列值判斷文件是否完整或被篡改
對稱加密的特點和經典算法
特點:
1. 加密和解密使用相同的秘鑰?
2. 加密和解密的過程是可逆的
優點:
1. 性能好,效率高
經典算法:
1. DES:數據加密標準
2. 3DES:使用3個密鑰,對消息進行(密鑰1·加密)+(密鑰2·解密)+(密鑰3·加密)
3. AES:高級加密標準
ECB和CBC兩種分組加密模式
ECB模式的全稱為Electronic CodeBook模式。又稱為電子密碼本模式。
特點:使用ECB模式加密的時候,相同的明文分組會被轉換為相同的密文分組。類似于一個巨大的明文分組——密文分組的對照表。
CBC模式全稱為Cipher Block Chainning模式(密文分組鏈接模式|電子密碼鏈條)
特點:在CBC模式中,首先將明文分組與前一個密文分組進行XOR運算,然后再進行加密。
非對稱加密的特點和經典算法
非對稱加密的特點:
1. 使用一個密鑰對進行加密和解密,公鑰加密,私鑰解密
2. 公鑰是公開的,私鑰是保密的
3. 使用非對稱加密來處理加密和解密的過程高度安全,但是效率低下,性能很差
經典算法:RSA
數字簽名
應用場景:需要嚴格驗證發送方身份信息情況
數字簽名原理:
1. 客戶端處理
① 對"消息"進行 HASH 得到 "消息摘要"
② 發送方使用自己的私鑰對"消息摘要" 加密(數字簽名)
③ 把數字簽名附著在"報文"的末尾一起發送給接收方
2. 服務端處理
① 對"消息" HASH 得到 "報文摘要"
② 使用公鑰對"數字簽名" 解密
③ 對結果進行匹配
數字證書和公鑰的關系
數字證書就是對公鑰進行數字簽名,數字證書和駕照很相似,里面記有姓名、組織、地址等個人信息,以及屬于此人的公鑰,并有認證機構施加數字簽名,只要看到公鑰證書,我們就可以知道認證機構認證該公鑰的確屬于此人
數字證書的主要內容:
1. 公鑰
2. 認證機構的數字簽名