日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

近期跟新人面試溝通時,發現許多人對瀏覽器如何與服務器交互、如何進行數據傳輸等問題無法作出解答,在此特別梳理一下密碼學的基本概念,希望能對大家了解密碼學相關基礎知識有所幫助。

一、基本概念

名詞解釋:

cryptology 密碼學

plaintext 明文

cipher-text 密文

encrypt 加密

decrypt 解密

crytography 密碼

confidentiality 機密性、加密等級

Bit、byte:比特(Bit)與字節(byte)的關系是8個Bit = 1byte

編碼:將數據(文本、音頻、視頻)映射為比特序列的過程。

密鑰:固定長度的字符串。通過密鑰及加解密算法,對給定的數據進行加密和解密。

對稱加密:在加密和解密的過程中,使用相同的密鑰,稱為對稱加密。

非對稱加密:在加解密的過程中,使用不同的密鑰(私鑰、公鑰),稱為非對稱加密。

加解密流程:明文+密鑰à加密算法=>密文+密鑰à解密算法=>明文

 

二、現代分組密碼操作模式

分組模式對加解密至關重要。現代分組密碼的操作模式分為5種:電子密碼本模式(ECB),密碼分組鏈接模式(CBC),密碼反饋模式(CFB),輸出反饋模式(OFB),以及計數器模式(CTR)

ECB(Electronic Codebook)

明文按照分組密碼的分組大小(n 比特)被分為 N 個分組,對于每個分組使用相同的密鑰加密。

ECB加密過程如下:

 

如何快速搞懂密碼學

 

 

ECB解密過程如下:

 

如何快速搞懂密碼學

 

 

CBC(Cipher Block Chaining)加密過程:

 

如何快速搞懂密碼學

 

 

CBC解密過程:

 

如何快速搞懂密碼學

 

 

CFB

 

如何快速搞懂密碼學

 

 

OFB

 

如何快速搞懂密碼學

 

 

 

CTR

 

如何快速搞懂密碼學

 

 

 

三、對稱加密算法

1. DES(DataEncryptionStandard)

DES對密鑰長度的要求為56個Bit,每一個byte需要一個比特的校驗位。以DES算法的CBC分組模式講解闡述一下該算法,對于CBC分組方式,會面臨分組長度不夠的問題,具體處理方法如下:

(1)計算出要填充的字節數,例如填充為2

(2)需要填充的字節為2

(3)當密文解密時,將最后一個字節的值取出,轉換成整形數值

(4)結果(3)得到的數值就是要刪除的字節數

 

2. 3DES算法

3DES是DES加密算法的一種模式,它使用3條64Bit的密鑰對數據進行三次加密,其加密流程如下:

 

如何快速搞懂密碼學

 

 

 

3. AES

AES算法需要的密鑰長度有128、192、256Bit三種,分組長度理論上三種情況16字節、24字節、32字節。當密鑰長度為256Bit時,效率低,但機密性最高。在任何加解密算法中,分組長度和密鑰長度一定是相等的。AES采用CBC的分組模式,密鑰長度16個字節,初始化向量必須保證為16個字節。

 

四、非對稱加密

用秘鑰進行解密時,想要將密鑰安全的發送給接收者、解決密鑰配送問題,就需要采用非對稱加密技術。

非對稱加密技術的密鑰分為兩部分:公鑰與私鑰。公鑰可以公開,私鑰是隱私的,不能泄露。

非對稱加密技術,加密與解密采用不同的密鑰(公私鑰)。公鑰進行加密,需要用私鑰進行解密;私鑰加密,需要用公鑰進行解密。

非對稱加密的圖示流程:

 

 

如何快速搞懂密碼學

 

 

 

非對稱加密算法(RSA)

RSA名字的由來是由此算法的三位開發者的名字RonRivest, AdiShamir和LeonaraAdleman的姓氏首字母組成。

非對稱加密算法簡單案例:

1.公鑰加密公式:

如何快速搞懂密碼學

 

M = 2

E = 3

N = 33

明文 “2” 經過 RSA 加密后變成密文 “8”

2.私鑰解密公式:

如何快速搞懂密碼學

 

 

如何快速搞懂密碼學

 

密文 “8” 經過 RSA 解密后變成了明文 2

 

對稱加密和非對稱加密的區別:

1. 密鑰分發:對稱加密分發困難,非對稱加密分發簡單

2. 效率的問題:對稱加密效率比較高,非對稱加密效率比較低。

3. 安全等級:對稱加密的安全等級比非對稱加密的安全等級低。

對稱加密密鑰長度

非對稱加密密鑰長度

128

2304

112

1792

80

768

64

512

56

384

 

五、單向散列函數

單向散列函數有一個輸入和一個輸出,其中輸入稱為message, 輸出稱為散列值hashvalue,可以計算摘要,獲取消息的指紋。單向散列函數的特性是計算速度非常快。

(1)SHA-1單向散列函數,所計算出的散列值的長度是160Bit(20字節)

(2)應用:檢測軟件是否被篡改、消息認證碼、數字簽名、偽隨機性生成器、一次性口令等。

(3)常用的單向hash散列函數

MD4、MD5、SHA-1、SHA-2、SHA-3,其中MD4、MD5的強抗碰撞性已經被攻破,SHA-2的強抗碰撞性沒有被攻破。

 

如何快速搞懂密碼學

 

 

 

六、證書

https交互過程中,對非對稱加密+對稱加密的綜合應用。下面圖示為https請求過程:

 

如何快速搞懂密碼學

 

 

具體流程如下:

(1)client向server發送請求https://baidu.com,然后連接到server的443端口。

(2) 服務端必須要有數字證書。

(3)服務端向客戶端傳送證書。證書中包含的信息:申請者公鑰、申請者的組織信息和個人信息、簽發機構 CA 的信息、有效時間、證書序列號,另外還包含一個簽名。

 

 

如何快速搞懂密碼學

 

 

(4)客戶端解析證書

工作是由客戶端的TLS完成,首先驗證證書是否有效,比如頒發機構,過期時間等。如果發現異常,則會彈出一個警告框,提示證書存在問題;如果證書沒有問題,那么就生成一個隨即值(密鑰)。然后用公鑰對該隨機值進行加密。

(5)客戶端傳送加密信息

傳送的是用證書中公鑰加密后的密鑰,目的就是讓服務端得到這個密鑰,此后,客戶端和服務端的通信就可以通過這個隨機值(密鑰)來進行加密解密(對稱加密算法)。

(6)服務端加密解密信息

服務端用私鑰解密密鑰,得到客戶端傳過來的隨機值(密鑰),然后把內容通過該值進行對稱加密。

(7) 傳輸加密后的信息。信息是服務端用私鑰加密后的信息。

(8)客戶端解密信息。客戶端用生成的隨機值(密鑰)解密服務端傳過來的信息,獲取解密后的內容。

 

CA簽名的真實性流程示意圖如下:

 

如何快速搞懂密碼學

 

 

以上即為本次技術內容分享

分享到:
標簽:密碼
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定