以嫦娥后羿的故事,同大家聊聊加密解密
嫦娥奔月是我們耳熟能詳?shù)纳裨拏髡f,下面我們將通過嫦娥和后羿的神話故事為背景題材,和大家一起分享信息安全技術(shù)基礎(chǔ)知識。假設(shè):嫦娥想告訴后羿約他在 "9月20日一起去看一場電影" 的消息,讓通過網(wǎng)絡將這個消息發(fā)給后羿,我們?nèi)绾伪WC消息的安全傳遞?
首先我們需要思考的問題有:
- 消息怎么保證信息安全,只有后羿能夠解密,讀取加密內(nèi)容?
- 怎么保證消息是完整,不能被被篡改,如果日期或者地點被改了后羿找不到嫦娥該怎么辦?
- 如何保證消息就是嫦娥發(fā)的呢,而不是玉兔頑皮冒充嫦娥發(fā)的呢?
網(wǎng)絡可以作為信息傳遞的媒介,但是如果對所有的信息都采用明文的方式進行傳輸,如果我們的網(wǎng)絡遭到監(jiān)聽,或者遭到劫持。如果我們的聊天記錄,通話信息被泄露,我們的生活將失去隱私;如果我們的賬戶密碼被人竊取那么我們的財產(chǎn)安全將無法得到保障。所以學習安全基礎(chǔ)知識也是必要的。
對稱加密
常見的對稱加密算法:
1.DES:替換+位移、56位密鑰、64位數(shù)據(jù)塊、速度快、密鑰容易產(chǎn)生。
- 3DES(三重 DES):兩個64位的密鑰 K1、K2
- 加密:K1 加密 -> K2 解密 -> K1 加密
- 解密:K1 解密 -> K2 加密 -> k1 解密
2.RC-5: RSA 數(shù)據(jù)安全公司的很多產(chǎn)品都使用了 RC-5
3.IDEA 算法: 128 位密鑰、64位數(shù)據(jù)塊、比DES的加密性好、針對計算機功能要求低,PGP。
4.AES 算法:高級加密標準,又稱為 Rijndael 加密法,是每個政府采用的一種區(qū)塊加密標準。
缺陷:
- 加密強度不高, 但是效率非常高
- 密鑰分發(fā)困難
特點:加密解密密鑰相同
非對稱加密
常見的非對稱加密算法有:
1.RSA :2048 位(或1024位)密鑰、計算量大、難破解
2.Elgamal :安全性依賴于計算機上有限域上離散對數(shù)這一難題
3.ECC:橢圓曲線算算法
缺點:加密速度慢 特點:
1.公鑰可以公開,私鑰不能公開。
2.公鑰加密私鑰解密,私鑰加密公鑰解密。
image.png
消息摘要
信息摘要:單向散列函數(shù)、固定長度的散列值。
常用的消息摘要算法有 MD5, SHA 等,市場上廣泛使用的 MD5, SHA 算法的散列值長度分別為 128 和 160位, 由于SHA 通常采用的加密長度較長,因此安全性高于 MD5。
比如我們在某網(wǎng)站下載 “鏡像文件”的時候,上面也會給出 MD5 摘要值。我們下載下來過后可以通過文件的 MD5 值和官方給出的 MD5 值來進行對比。檢查是否文件完整正確,避免造成安全裝錯誤。
數(shù)字簽名
數(shù)字簽名(又稱公鑰數(shù)字簽名)是只有信息的發(fā)送者才能產(chǎn)生的別人無法偽造的一段數(shù)字串,這段數(shù)字串同時也是對信息的發(fā)送者發(fā)送信息真實性的一個有效證明。它是一種類似寫在紙上的普通的物理簽名,但是在使用了公鑰加密領(lǐng)域的技術(shù)來實現(xiàn)的,用于鑒別數(shù)字信息的方法。一套數(shù)字簽名通常定義兩種互補的運算,一個用于簽名,另一個用于驗證。數(shù)字簽名是非對稱密鑰加密技術(shù)與數(shù)字摘要技術(shù)的應用。
我們還是以嫦娥告訴后羿,“9.20 日我們?nèi)タ措娪?rdquo;這段信息為例子,說一下數(shù)字簽名的過程。整體流程如下圖所示:
圖示解讀:
1.嫦娥需要通過網(wǎng)絡傳遞給后羿 “9.20 日我們?nèi)タ措娪?rdquo; 這個消息首先生成加密后的消息“V7btGj2ZhQsdada /..... T1Ram6AzforA==”,發(fā)送密文;
2.然后在對原文生成 消息摘要 “2d43abe9ec71c90952101bc0d8241fba” ;
3.最后嫦娥在對 消息摘要 通過 自己私鑰 進行加密生成數(shù)字簽名。 “EDadada3432f#CC1”。然后發(fā)送數(shù)字簽名。
4.后羿收到密文后進行解密,然后得到原文并計算出摘要信息,再通過數(shù)字簽名解密出來摘要信息。最后對兩個摘要信息進行比較,如果相同表示這個消息是嫦娥發(fā)的(防止抵賴),并且消息沒有被篡改。
5.這個例子我們就很好的把消息加密,消息摘要,數(shù)字簽名等技術(shù)串起來,并且實現(xiàn)了消息安全傳遞。
綜合實踐
設(shè)計安全郵件系統(tǒng),要求如下:該郵件以加密方式傳輸,郵件最大附件內(nèi)容可達 2G, 發(fā)送者不可以抵賴,若郵件被三方截獲,三方無法篡改。
答案:參考上一個案例實現(xiàn)即可。
本文轉(zhuǎn)載自微信公眾號「運維開發(fā)故事」