iOS安全機制和加密算法

網絡安全的原則

在網絡上"不允許"傳輸用戶隱私數據的"明文"

在本地"不允許"保存用戶隱私數據的"明文"

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. 認證機構的數字簽名

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 這篇文章主要講述在Mobile BI(移動商務智能)開發過程中,在網絡通信、數據存儲、登錄驗證這幾個方面涉及的加密...
    雨_樹閱讀 2,683評論 0 6
  • 1.數據安全 01數據安全的原則1)在網絡上"不允許"傳輸用戶隱私數據的"明文"2.)在本地"不允許"保存用戶隱私...
    陳賀閱讀 2,188評論 0 2
  • 1.數據安全 01數據安全的原則1)在網絡上"不允許"傳輸用戶隱私數據的"明文"2.)在本地"不允許"保存用戶隱私...
    小楓123閱讀 508評論 0 1
  • 閉包的介紹 閉包和OC中的block非常相似OC中的block是匿名的函數Swift中的閉包是一個特殊的函數blo...
    xiaoyouPrince閱讀 206評論 0 1
  • 小橋流水旖旎 青磚黛瓦晚霞 燈火搖曳余暉 江南淑女小曲
    雙魚座cy閱讀 405評論 16 15