深圳龍華大浪做網(wǎng)站公司知乎營銷平臺(tái)
密碼學(xué)基礎(chǔ)-對(duì)稱密碼/公鑰密碼
- 加解密說明
- 1.加密解密必要因素
- 加密安全性說明
- 什么是對(duì)稱密碼
- 圖示說明
- 對(duì)稱密碼詳解
- 什么是DES?
- 舉例說明
- 什么是3DES
- 什么是AES?
- 公鑰密碼
- 什么是RSA?
- 對(duì)稱密鑰和公鑰密碼優(yōu)缺點(diǎn)對(duì)比
- 對(duì)稱密碼
- 對(duì)稱密碼算法總結(jié)
- 對(duì)稱密碼存在的問題?
- 公鑰密碼
- 公鑰密碼存在的問題:
- 混合密碼系統(tǒng)
- 混合密碼加密過程
- 混合密碼解密過程
加解密說明
1.加密解密必要因素
1)一個(gè)加密/解密的過程,必須包含以下基本因素:
- 明文文件+加密算法+加密密鑰=密文文件
- 密文文件+加密算法的逆運(yùn)算+加密密鑰=明文文件
2)依據(jù)密鑰的使用方法,可以將密碼分為兩種:
- 對(duì)稱密碼:相同的密鑰加解密,別稱‘共享密鑰密碼
- 公鑰密碼:不同的密鑰加解密,別稱‘非對(duì)稱密碼’
- 混合密碼系統(tǒng),就是將這兩種算法的優(yōu)點(diǎn)提取出來,形成的一個(gè)密碼算法。
說明:不管對(duì)稱密碼,還是公鑰密鑰,這兩種算法都存在自己的優(yōu)缺點(diǎn),
加密安全性說明
1.完整性
為了確保數(shù)據(jù)包在傳輸過程中沒有被惡意修改,可通過單向散列函數(shù)機(jī)制來實(shí)現(xiàn)完整性檢查。
2.認(rèn)證
基于消息認(rèn)證碼,能夠?qū)崿F(xiàn)認(rèn)證 認(rèn)數(shù)據(jù)包為真實(shí)的對(duì)等體設(shè)備所發(fā)送的數(shù)據(jù)包
3.數(shù)字簽名
防止抵賴,通過簽名證實(shí)確實(shí)是該設(shè)備發(fā)送的數(shù)據(jù)包
什么是對(duì)稱密碼
圖示說明
對(duì)稱密鑰即使用相同的密鑰
進(jìn)行加密和解密
對(duì)稱密碼詳解
需要掌握的“對(duì)稱密碼’有以下幾種
- DES
- 3DES
- AES
什么是DES?
1.DES是數(shù)據(jù)加密標(biāo)準(zhǔn),IBM開發(fā)于1975年
2.將數(shù)據(jù)包劃分為等長的64比特,從而進(jìn)行加密的對(duì)稱密碼算法
1)塊大小為64比特
2)密鑰長度為64比特,實(shí)際長度為56比特,8位為校驗(yàn)位(奇偶校驗(yàn)位,用來校驗(yàn)密鑰完整性的)
3.DES由于密鑰長度原因已不再安全,因?yàn)槊艽a長度太短,通過遍歷就可以試出密碼,以下是之前的一些破解的案例:
1)在1997年,96天破解密鑰 明文
2)在1998年,41天破解密鑰(98年第一次) 128比
3)在1998年,56小時(shí)破解密鑰(98年第二次) 特
4)在1999年,22小時(shí)破解密鑰
那么現(xiàn)在的話,破解是分鐘級(jí)別的
4.DES僅作為系統(tǒng)學(xué)習(xí)的知識(shí)點(diǎn),不再使用該算法進(jìn)行加解密
舉例說明
如圖所示,假如一個(gè)數(shù)據(jù)包是128比特,那么DES加密時(shí),會(huì)將數(shù)據(jù)包劃分為等長的64比特進(jìn)行加密,密鑰長度為64比特,實(shí)際長度為56比特,8位為校驗(yàn)位,最后得到密文128比特
什么是3DES
1.基于DES密鑰長度導(dǎo)致的安全問題,IBM在1999年創(chuàng)建了3DES
2.3DES密鑰長度放大3倍,為 168bit (56*3)
3.說明
1)當(dāng)3DES中加解密密鑰全部相同,則3DES=DES,3DES兼容DES
-密鑰長度為64比特,實(shí)際密鑰長度為56比特
2)當(dāng)3DES中有兩把密鑰不同,3DES=DES-EDE2
-密鑰長度為128比特,實(shí)際密鑰長度為112比特
3) 只有3DES中三把密鑰全部不同時(shí),3DES=3DES
4.3DES由于處理速度不高,較少用于新的用途
如圖所示,3DES會(huì)做三個(gè)加密,每一次的密鑰都不一樣:加密、解密、加密,分別使用不同密鑰,但是效率不高
什么是AES?
1.高級(jí)加密標(biāo)準(zhǔn)。NIST于2002年研發(fā)
2.將數(shù)據(jù)包劃分為等長的128比特,從而進(jìn)行加密的對(duì)稱密碼算法
- 1)塊大小為128比特
- 2)密鑰長度有三種:128、192、256比特
3.AES安全,快速,是現(xiàn)在主流的密碼算法
說明:
密鑰長度有三種:128、192、256比特,密鑰長度越長,安全性越強(qiáng),資源浪費(fèi)越多
公鑰密碼
1.不同的密鑰進(jìn)行加密和解密
1)私鑰
2)公鑰
2.使用公鑰/私鑰加密,就必須使用私鑰/公鑰解密
3.需要掌握的“公鑰密碼’有以下幾種:
1)DH
2) RSA
如圖所示:
公鑰密鑰:會(huì)產(chǎn)生一對(duì)密鑰
- 使用公鑰加密,誰都可以拿到
- 私鑰解密,保留在本地
用公鑰加密數(shù)據(jù)包,只能用私鑰解密
什么是RSA?
1.公共密鑰加密系統(tǒng),1979年由Rivest,Shamir,Adelman三人開發(fā)
2.支持密鑰長度為1024、2048位甚至更長
3.如圖,解釋了為何RSA被稱為“公共密鑰加密系統(tǒng)”
對(duì)稱密鑰和公鑰密碼優(yōu)缺點(diǎn)對(duì)比
對(duì)稱密碼
對(duì)稱密碼算法總結(jié)
- 優(yōu)點(diǎn):加解密速度極快
- 缺點(diǎn):需要解決密鑰共享問題!
對(duì)稱密碼存在的問題?
- 1.我們?nèi)绾伟踩膶⒚荑€傳遞給對(duì)方?
- 2.如果有絕對(duì)安全的傳遞方法,還需要加密嗎?如果有絕對(duì)安全的方法,那使用安全的方法加密數(shù)據(jù)是不是就可以了,也不需要對(duì)稱密碼了。。。。
公鑰密碼
- 優(yōu)點(diǎn):解決了密鑰共享的問題
- 缺點(diǎn):處理速度遠(yuǎn)低于對(duì)稱密碼,這意味著公鑰密碼對(duì)大型文件的處理效率較低
公鑰密碼存在的問題:
- 如何證明你的“公鑰”就是你的‘公鑰’?(中間人攻擊)
混合密碼系統(tǒng)
混合密碼加密過程
1.如圖,為混合密碼系統(tǒng)加密過程
2.中間的虛線將方框分成左右兩個(gè)部分:
1)右邊使用對(duì)稱密碼加密明文信息
2)左邊使用接收者公鑰加密會(huì)話密鑰
會(huì)話密鑰由偽隨機(jī)數(shù)臨時(shí)產(chǎn)生,用于加密對(duì)稱密碼
3)最后組合,就成了輸出的密文
3.會(huì)話密鑰是對(duì)稱密碼的密鑰,同時(shí)也是公鑰的明文
說明:
明文->使用對(duì)稱密碼加密
會(huì)話密鑰->加密對(duì)稱密碼
接收者公鑰->加密會(huì)話密鑰
最終得到了三部分的加密包,發(fā)給接收者
其中會(huì)話密鑰是使用偽隨機(jī)函數(shù)產(chǎn)生了,這樣每一次會(huì)話都會(huì)產(chǎn)生一個(gè)隨機(jī)數(shù),避免被破解
混合密碼解密過程
解密過程:
使用接收者的私鑰,先接觸會(huì)話密鑰,
再使用會(huì)話密鑰解出對(duì)稱密碼,
根據(jù)對(duì)稱密碼最終解出明文
必須經(jīng)過這三步