你到底是對稱還是不對稱?

隱私保護?不是嚇唬大家,信息是透明的兄die,不過也要儘量去維護個人的隱私吧,今天學習對稱加密和非對稱加密。

大家先讀讀這個字"鑰",是讀"yao",還是讀"yue"。看下圖

一 、對稱加密

對稱加密,顧名思義,加密方與解密方使用同一鑰匙(鑰)。具體一些就是,發送方通過使用相應的加密算法和密鑰,對將要發送的信息進行加密;對於接收方而言,使用解密算法和相同的密鑰解鎖信息,從而有能力理解對方的信息。

1 常見的對稱加密算法

無論是數據庫的信息存儲,還是爲了避免用戶的Cookie發生泄漏,通常都會使用相應的加密算法進行加密,盡最大能力的去保護敏感信息。

DES

DES使用的密鑰表面上是64位的,然而只有其中的56位被實際用於算法,其餘8位可以被用於奇偶校驗,並在算法中被丟棄。因此,DES的有效密鑰長度爲56位,通常稱DES的密鑰長度爲56位。假設祕鑰爲56位,採用暴力破Jie的方式,其祕鑰個數爲2的56次方,那麼每納秒執行一次解密所需要的時間差不多1年的樣子。當然,沒人這麼幹。DES現在已經不是一種安全的加密方法,主要因爲它使用的56位密鑰過短。

IDEA

國際數據加密算法(International Data Encryption Algorithm)。祕鑰長度128位,優點沒有專利的限制。

AES

當DES被破解以後,沒過多久推出了AES算法,提供了三種長度供選擇,128 位、192 位和 256,爲了保證性能不受太大的影響,選擇128即可。

SM1和SM4

之前幾種都是國外的,我們國內自行研究了國密 SM1和SM4。其中S都屬於國家標準,算法公開。優點就是國家的大力支持和認可

總結下幾種

二、 非對稱算法

在對稱加密中,發送方與接收方使用相同的密鑰。那麼在非對稱加密中則是發送方與接收方使用的不同的密鑰。其主要解決的問題是防止在祕鑰協商的過程中發生泄漏。比如在對稱加密中,小藍將需要發送的消息加密,然後告訴你密碼是123balala,ok,對於其他人而言,很容易就能劫持到密碼是123balala。那麼在非對稱的情況下,小藍告訴所有人密碼是123balala,對於中間人而言,拿到也沒用,因爲沒有私鑰。所以,非對稱密鑰其實主要解決了密鑰分發的難題。如下圖

其實我們經常都在使用非對稱加密,比如使用多臺服務器搭建大數據平臺hadoop,爲了方便多臺機器設置免密登錄,是不是就會涉及到祕鑰分發。再比如搭建docker集羣也會使用相關非對稱加密算法。

1 常見的非對稱加密

RSA(RSA 加密算法,RSA Algorithm)

優勢是性能比較快,如果想要較高的加密難度,需要很長的祕鑰。

ECC

基於橢圓曲線提出。是目前加密強度最高的非對稱加密算法

SM2

同樣基於橢圓曲線問題設計。最大優勢就是國家認可和大力支持。

三種對比

三 散列算法

這個大家應該更加熟悉了,比如我們平常使用的MD5校驗,在很多時候,我並不是拿來進行加密,而是用來獲得唯一性ID。在做系統的過程中,存儲用戶的各種密碼信息,通常都會通過散列算法,最終存儲其散列值。

1 常見的散列

MD5

MD5 可以用來生成一個 128 位的消息摘要,它是目前應用比較普遍的散列算法。雖然,因爲算法的缺陷,它的唯一性已經被破解了,但是大部分場景下,這並不會構成安全問題。但是,如果不是長度受限(32 個字符),還是不推薦你繼續使用 MD5 的。

SHA

安全散列算法。SHA分爲SHA1和SH2兩個版本。該算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解爲取一串輸入碼(稱爲預映射或信息),並把它們轉化爲長度較短、位數固定的輸出序列即散列值(也稱爲信息摘要或信息認證代碼)的過程。

SM3

國密算法SM3.加密強度和SHA-256想不多。主要是收到國家的支持。

總結

至此,總結下,大部分情況下使用對稱加密,具有比較不錯的安全性。如果需要分佈式進行祕鑰分發,考慮非對稱。如果不需要可逆計算則散列算法。因爲這段時間有這方面需求,就看了一些這方面的資料,入坑信息安全,就怕以後洗髮水都不用買。謝謝大家查看!

參考連接

https://www.sdnlab.com/21145.html

https://blog.csdn.net/andylau00j/article/details/54427395

https://time.geekbang.org/

暖藍告知

跟小藍每天進步一點點,生活就會美一點!

歡迎關注,帶你進入高手如雲學習交流羣,一起成長!

[c/c++後臺開發面經系列]1 深信服面經

[c/c++後臺開發面經系列]2 京東面經(含答案)

寫簡歷這幾點一定要注意!

Linux後臺開發必看!

[c/c++後臺開發面經系列]3 bigo/映客面經(含答案)

點下面“在看”的永遠18歲喲

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章