加密問題詳解

2021-08-28 02:13:11 字數 1101 閱讀 2131

(一)對稱加密(symmetric cryptography)

對稱加密是最快速、最簡單的一種加密方式,加密(encryption)與解密(decryption)用的是同樣的金鑰(secret key),這種方法在密碼學中叫做對稱加密演算法。對稱加密有很多種演算法,由於它效率很高,所以被廣泛使用在很多加密協議的核心當中。 

對稱加密通常使用的是相對較小的金鑰,一般小於256 bit。因為金鑰越大,加密越強,但加密與解密的過程越慢。金鑰的大小既要照顧到安全性,也要照顧到效率,是乙個trade-off。對稱加密的一大缺點是金鑰的管理與分配,換句話說,如何把金鑰傳送到需要解密你的訊息的人的手裡是乙個問題。在傳送金鑰的過程中,金鑰有很大的風險會被黑客們攔截。現實中通常的做法是將對稱加密的金鑰進行非對稱加密,然後傳送給需要它的人。

對稱加密經典演算法:aes,des,3des,tdea,blowfish,rc5,idea。

(二)非對稱加密(asymmetric cryptography)

2023年,美國學者dime和henman為解決資訊公開傳送和金鑰管理問題,提出一種新的金鑰交換協議,允許在不安全的**上的通訊雙方交換資訊,安全地達成一致的金鑰,這就是「公開金鑰系統」。相對於「對稱加密演算法」這種方法也叫做「非對稱加密演算法」。 

非對稱加密為資料的加密與解密提供了乙個非常安全的方法,它使用了一對金鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外洩,而公鑰則可以發給任何請求它的人。非對稱加密使用這對金鑰中的乙個進行加密,而解密則需要另乙個金鑰。

雖然非對稱加密很安全,但是和對稱加密比起來,它非常的慢,所以我們還是要用對稱加密來傳送訊息,但對稱加密所使用的金鑰我們可以通過非對稱加密的方式傳送出去。

非對稱加密經典演算法:rsa、elgamal、揹包演算法、rabin、d-h、ecc(橢圓曲線加密演算法)。

(三)總結

(1) 對稱加密加密與解密使用的是同樣的金鑰,所以速度快,但由於需要將金鑰在網路傳輸,所以安全性不高。 

(2) 非對稱加密使用了一對金鑰,公鑰與私鑰,所以安全性高,但加密與解密速度慢。 

(3) 解決的辦法是將對稱加密的金鑰使用非對稱加密的公鑰進行加密,然後傳送出去,接收方使用私鑰進行解密得到對稱加密的金鑰,然後雙方可以使用對稱加密來進行溝通。

mcrypt加密詳解

安裝和使用php的mcrypt擴充套件 程式設計師們在編寫 程式時,除了要保證 的高效能之外,還有一點是非常重要的,那就是程式的安全性保障。php除了自帶的幾種加密函式外,還有功能更全面的php加密擴充套件庫和。其中,mcrypt擴充套件庫可以實現加密解密功能,就是既能將明文加密,也可以密文還原。p...

mcrypt加密詳解

安裝和使用php的mcrypt擴充套件 程式設計師們在編寫 程式時,除了要保證 的高效能之外,還有一點是非常重要的,那就是程式的安全性保障。php除了自帶的幾種加密函式外,還有功能更全面的php加密擴充套件庫和。其中,mcrypt擴充套件庫可以實現加密解密功能,就是既能將明文加密,也可以密文還原。p...

pycrypto AES加密詳解

最近在寫介面自動化指令碼,需要的payload引數需要加密,而採用的加密標準為aes,因此特地去學了一下,發現專門有加密演算法庫支援這種加密演算法,就是pycrypto pycrypto是乙個免費的加密演算法庫,支援常見的des aes 以及md5 sha等各種hash運算 這篇博文只對aes加密進...