密碼學錯題總結

2021-10-08 00:15:37 字數 3677 閱讀 5066

古典密碼學(2023年之前)

特點:資料的安全基於演算法的保密。

方法:代換、置換(凱撒密碼)

標誌產物:enigma 密碼機

最早的密碼技術:斯巴達棒

里程碑:轉子密碼機

近代密碼學(1949~1975)

特點:資料的安全基於密匙而不是演算法的保密。

1949夏農編寫了《保密系統的通訊理論》奠定了近代密碼學的基礎。

現代密碼學(2023年以後)

特點:解決了密匙分發和管理的問題,密碼學真正在商業中廣泛應用。

2023年,羅納爾多、阿迪、里昂納多,在麻省理工推動了公鑰加密技術的革新發展。

典型應用.

資訊保安要素

特徵相應技術

機密性竊聽、非法竊取資訊、敏感***露

對稱加密、非對稱加密、混合加密、數字信封

完整性篡改、重放攻擊、破壞

訊息認證碼、雜湊函式、數字簽名、資料加密

可鑑別性

冒名口令、共享秘密、數字簽名、數字證書

不可否認性

事後否認自己行為

數字簽名、證據儲存

授權與訪問控制

非法訪問資料、越權訪問

屬性證書、訪問控制

流密碼特性

加密速度快

密匙和明文一樣長

序列密碼易被篡改

明文與密匙按位進行異或

數字證書組成加解密的並行運算

在加密時支援並行運算的有:ecb、ctr

在解密時支援並行運算的有:ecb、cbc、cfb、ctr。

分組加密

就是支援對稱加密的有

des、aes、sm4、blowfish、sm1、sm7、zuc(祖沖之)

非對稱加密:

rsa、sm2、sm9

摘要演算法;

md5、sm3、hash演算法、sha

https流程

1.瀏覽器傳送clienthello

其中包含了瀏覽器支援的tsl協議的版本,支援的加密演算法,壓縮演算法等。同時瀏覽器端生成乙個隨機數,一起傳送給伺服器。

2.伺服器返回serverhello

(1)確認tsl協議版本,確定乙個雙方都支援的加密演算法

(2)傳送伺服器的證書,傳送乙個伺服器端生成的隨機數。(如果訪問的**出於安全性的考慮,要求訪問者也提供證書的話會在這一步發出請求。)

3.瀏覽器拿到證書後驗證該證書是否是可信任的,如果證書可信任,那麼其中的公鑰也是可信的。

(1)瀏覽器生成第三個隨機數 pre key,將pre key使用伺服器的公鑰加密,傳送回伺服器

(2)編碼改變通知,告知伺服器接下來將使用選擇的加密演算法進行加密通訊

(3)將此前傳送過的所有資訊的摘要加密後傳送給伺服器,供伺服器進行加密通道驗證。最後發出客戶端握手階段結束訊號。

4.伺服器接收到對方發來的pre key後,此時通訊雙方都擁有了三個隨機數(前兩個是明文傳送的,第三個pre key 是非對稱加密傳送的),由這三個隨機數雙方可以計算得到兩個相同的對稱金鑰,伺服器使用這一金鑰驗證加密通道後,向客戶端傳送伺服器發出:

(1)編碼改變通知:告知接下來的通訊將使用加密通訊

(2)伺服器握手階段結束訊號。

至此握手階段結束,雙方接下來使用普通的http協議進行通訊,由三個隨機數生成的對稱金鑰加密內容。

1.整個過程中靠證書體系為通訊雙方提供身份信任。

2.通訊雙方共生成了三個隨機數能最大限度地避免偽隨機,保證了生成的對稱金鑰難以被暴力破解。

3.第三個隨機數的傳輸使用非對稱加密,保證了雙方對稱金鑰的私密性。

4.整個通訊中,只有pre key的傳送使用了非對稱加密,之後的加密通訊都採用對稱加密,最大限度地保證了通訊效率。

https是採用對稱加密和非對稱加密相結合的方式來進行安全認證的。對稱加密用來加密所要傳送的資訊,非對稱加密用來傳輸對稱加密的秘鑰演算法等資訊

數字證書

首先,伺服器把他的公鑰和個人資訊用hash演算法生成乙個訊息摘要,這個hash演算法有個好的特點就是只要輸入的資料有一點點變化,那麼生成的訊息摘要就會發生巨變。 這樣就可以防止別人修改原始的內容。然後再將這個訊息摘要通過認證中心(ca)的私鑰進行加密,形成數字簽名

數字證書

不過這樣做的前提是得信任ca,這些ca本身也有證書來證明自己的身份,並且ca的信用是像樹一樣分級的,高層的ca給底層的ca做信用背書,而作業系統/瀏覽器中會內建一些頂層的ca的證書,相當於你自動信任了他們。 這些頂層的ca證書一定得安全地放入作業系統/瀏覽器當中,否則世界大亂。你可以開啟瀏覽器, 從設定中可以找到「受信任的根證書」

如上圖所示

(1)第 ③ 步時,客戶端說:(咱們後續回話採用對稱加密吧,這是對稱加密的演算法和對稱金鑰)這段話用公鑰進行加密,然後傳給伺服器

(2)伺服器收到資訊後,用私鑰解密,提取出對稱加密演算法和對稱金鑰後,伺服器說:(好的)對稱金鑰加密

(3)後續兩者之間資訊的傳輸就可以使用對稱加密的方式了

遇到的問題:

(1)客戶端如何獲得公鑰

(2)如何確認伺服器是真實的而不是黑客

第四步:獲取公鑰與確認伺服器身份

(2)回話開始時,伺服器把公鑰發給客戶端(缺點:黑客冒充伺服器,傳送給客戶端假的公鑰)

2、那有沒有一種方式既可以安全的獲取公鑰,又能防止黑客冒充呢? 那就需要用到終極**了:ssl 證書

如上圖所示,在第 ② 步時伺服器傳送了乙個ssl證書給客戶端,ssl 證書中包含的具體內容有:

(1)證書的發布機構ca

(2)證書的有效期

(3)公鑰

(4)證書所有者

(5)簽名

3、客戶端在接受到服務端發來的ssl證書時,會對證書的真偽進行校驗,以瀏覽器為例說明如下:

(1)首先瀏覽器讀取證書中的證書所有者、有效期等資訊進行一一校驗

(2)瀏覽器開始查詢作業系統中已內建的受信任的證書發布機構ca,與伺服器發來的證書中的頒發者ca比對,用於校驗證書是否為合法機構頒發

(3)如果找不到,瀏覽器就會報錯,說明伺服器發來的證書是不可信任的。

(4)如果找到,那麼瀏覽器就會從作業系統中取出 頒發者ca 的公鑰,然後對伺服器發來的證書裡面的簽名進行解密

(5)瀏覽器使用相同的hash演算法計算出伺服器發來的證書的hash值,將這個計算的hash值與證書中簽名做對比

(6)對比結果一致,則證明伺服器發來的證書合法,沒有被冒充

(7)此時瀏覽器就可以讀取證書中的公鑰,用於後續加密了。

密碼學 密碼學基礎

密碼學是研究編制密碼和破譯密碼的技術科學。密碼學的安全目標至少包含三個方面 保密性 完整性 可用性。完整性 資源只有授權方以授權的方式進行修改,所有資源沒有授權則不能修改。可用性 資源只有在適當的時候被授權方訪問,並按需求使用。密碼系統由5部分組成 1 明文空間m 全體明文的集合 2 密文空間c 全...

CTF密碼學密碼特徵總結

凱撒密碼 rot族 摩斯密碼 url轉碼 柵欄密碼 進製轉換 培根加密 各種 加密 特徵 base64,32密文都有等於號 base16就是16進製制轉ascii問題不大吧 base32編碼是由大寫字母 a z 和數字234567組成與base64類似 解密 裡面也有詳細的說明,有興趣的自己看看 轉...

關於密碼學的總結

古典密碼與現代密碼 對稱加密與非對稱加密 單向雜湊函式 編碼與加密 數字簽名與數字證書 區分古典加密和現代加密的乙個很重要的因素是,古典加密一般都是比較簡單的,而現代加密基本不存在手工解密的可能 古典加密又分為以下兩種 1 置換密碼 把明文中的字母重新排列,字母本身不變,只改變其位置。2 代換密碼 ...