對稱加密是最快速、最簡單的一種加密方式,加密(encryption)與解密(decryption)用的是同樣的金鑰(secret key),這種方法在密碼學中叫做對稱加密演算法。
對稱加密有很多種演算法,由於它效率很高,所以被廣泛使用在很多加密協議的核心當中。對稱加密通常使用的是相對較小的金鑰,一般小於256 bit。因為金鑰越大,加密越強,但加密與解密的過程越慢。如果你只用1 bit來做這個金鑰,那黑客們可以先試著用0來解密,不行的話就再用1解;但如果你的金鑰有1 mb大,黑客們可能永遠也無法破解,但加密和解密的過程要花費很長的時間。金鑰的大小既要照顧到安全性,也要照顧到效率,是乙個trade-off。
2023年,美國學者dime和henman為解決資訊公開傳送和金鑰管理問題,提出一種新的金鑰交換協議,允許在不安全的**上的通訊雙方交換資訊,安全地達成一致的金鑰,這就是「公開金鑰系統」。相對於「對稱加密演算法」這種方法也叫做「非對稱加密演算法」。非對稱加密為資料的加密與解密提供了乙個非常安全的方法,它使用了一對金鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外洩,而公鑰則可以發給任何請求它的人。非對稱加密使用這對金鑰中的乙個進行加密,而解密則需要另乙個金鑰。比如,你向銀行請求公鑰,銀行將公鑰發給你,你使用公鑰對訊息加密,那麼只有私鑰的持有人--銀行才能對你的訊息解密。與對稱加密不同的是,銀行不需要將私鑰通過網路傳送出去,因此安全性大大提高。
下面說一下這兩種方式的使用
對稱金鑰加密我們從定義中應該就可以明白,它是資訊的傳送方和接收方都用同乙個秘鑰去加密和解密資料。這樣做它的最大優勢是加/解密速度快,適合於對大資料量進行密,但金鑰管理困難。
非對稱金鑰加密,它需要使用「一對」金鑰來分別完成加密和解密操作,乙個公開發布,即公開金鑰,另乙個由使用者自己秘密儲存,即私用金鑰。資訊傳送者用公開金鑰去加密,而資訊接收者則用私用金鑰去解密。公鑰機制靈活,但加密和解密速度卻比對稱金鑰加密慢得多。
非對稱金鑰加密的使用過程:
1. a要向b傳送資訊,a和b都要產生一對用於加密和解密的公鑰和私鑰。
2. a的私鑰保密,a的公鑰告訴b;b的私鑰保密,b的公鑰告訴a。
3. a要給b傳送資訊時,a用b的公鑰加密資訊,因為a知道b的公鑰。
4. a將這個訊息發給b(已經用b的公鑰加密訊息)。
5. b收到這個訊息後,b用自己的私鑰解密a的訊息,其他所有收到這個報文的人都無法解密,因為只有b才有b的私鑰。
6. 反過來,b向a傳送訊息也是一樣。
(1) 對稱加密加密與解密使用的是同樣的金鑰,所以速度快,但由於需要將金鑰在網路傳輸,所以安全性不高。
(2) 非對稱加密使用了一對金鑰,公鑰與私鑰,所以安全性高,但加密與解密速度慢。
(3) 解決的辦法是將對稱加密的金鑰使用非對稱加密的公鑰進行加密,然後傳送出去,接收方使用私鑰進行解密得到對稱加密的金鑰,然後雙方可以使用對稱加密來進行溝通。
標紅色的地方是重點,這是目前在通訊方面最安全的做法。還能這樣hhh.
對稱加密和非對稱加密!
主要是對稱加密和非對稱加密兩種。可供各位參考 using system using system.collections.generic using system.linq using system.text using system.security.cryptography using syst...
對稱加密和非對稱加密!
對稱加密演算法 對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,資料發信方將明文 原始資料 和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文...
對稱加密和非對稱加密
對稱加密是最快速 最簡單的一種加密方式,加密 encryption 與解密 decryption 用的是同樣的金鑰 secretkey 對稱加密有很多種演算法,由於它效率很高,所以被廣泛使用在很多加密協議的核心當中。非對稱加密為 資料的加密 與解密提供了乙個非常安全的方法,它使用了一對金鑰,公鑰 p...