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