密碼學體系目前主要分為兩大主要研究領域:對稱密碼學和非對稱密碼學。對稱密碼學通常是對稱加密的同義詞,非對稱密碼學包括兩個主要用例:非對稱加密和數位簽章。
因此,我們可以將這些概念分組如下:
本文將重點放在對稱和非對稱加密演算法。
加密演算法通常分為兩類,稱為對稱和非對稱加密。這兩種加密演算法之間的根本區別在於對稱加密演算法使用單一金鑰,而非對稱加密使用兩個不同但相關聯的金鑰。這種區別的描述,雖然非常簡單,但卻明確解釋了兩種加密技術之間的功能和使用方式上的差異。 .
在密碼學中,加密演算法產生幾位元的字元密鑰用於加密和解密一段資訊。這些金鑰的使用方式也很好的說明了對稱和非對稱加密之間的差異。
雖然對稱加密演算法使用同一個金鑰來執行加密和解密,反之,非對稱加密演算法使用一個金鑰來加密數據,再使用另一個金鑰來解密它。在非對稱加密系統中,用於加密的金鑰稱為公鑰,可以與他人分享。另一方面,用於解密的金鑰是私鑰,應該記性保密。
例如,如果Alice向Bob發送使用對稱演算法加密過的訊息,則她需要與Bob共用她用於加密的加密金鑰,以便他可以解密該訊息。這意味著如果惡意行為者攔截了金鑰,他們就能夠輕鬆存取加密過的資訊。
但是,如果Alice使用非對稱加密演算法,她會使用Bob的公鑰對訊息進行加密,Bob可以使用其私鑰對訊息進行解密。因此,非對稱加密提供了更高層級的安全性,因為即使有人攔截了他們的訊息並獲得了Bob的公鑰,他們也無法解密該訊息。
對稱和非對稱加密之間的另一個功能差異與密鑰的長度有關,密鑰的長度以位元為單位,並且與每個加密演算法提供的安全等級直接相關。
在對稱加密中,金鑰是隨機選擇的,其長度通常設定為128或256位,長度取決於所需的安全等級。然而,在非對稱加密中,公鑰和私鑰之間在數學上相關聯,這意味著兩者之間存在算術聯繫。攻擊者可能利用該模式破解密文,因此非對稱金鑰需要更長的金鑰長度,才能提供相同等級的安全性。密鑰長度的差異是如此明顯,以至於128位元的對稱密鑰和2,048位元非對稱密鑰才能提供大致相同的安全等級。
這兩種不同類型的加密演算法之間,優缺點各異。對稱加密演算法運算速度快,並且需要較少的運算資源,但它的主要缺點是金鑰的分發。因為在加密和解密資訊時,使用相同的金鑰,所以必須將該金鑰分發給需要存取資料的人,這也隨之帶來了安全風險(如前所述)。
相反,非對稱加密使用公鑰加密,私鑰進行解密,來解決金鑰分發的問題。然而,需要權衡的是,與對稱加密相比,非對稱加密系統運作得非常緩慢,並且由於它們的金鑰長度非常長,因此需要更多的計算資源。
鑑於其具有更快的運算速度,對稱加密在現代電腦系統中被廣泛用於保護資訊。例如,美國政府使用高級加密標準(AES)來加密和分類和感資訊。 AES取代了先前的資料加密標準(DES),後者是在1970年代開發的,一直是對稱加密的標準。
非對稱加密通常用於大量使用者需要同時加密和解密在訊息或資料的系統中,尤其是在運算速度和計算資源充足的情況下。該系統的一個常用案例是加密電子郵件,其中公鑰可以用於加密訊息,私鑰可以用於解密。
在許多應用中,對稱和非對稱加密會一起使用。這種混合系統的典型案例是安全通訊端層(SSL)和傳輸層安全性(TLS)加密協議,該協議被用於在網際網路內提供安全通訊。 SSL協定現在被認為是不安全的,應該停止使用。相比之下,TLS協定目前被認為是安全的,並且已被主流的網頁瀏覽器所廣泛使用。
許多加密貨幣中使用的加密技術向終端用戶提供了更高等級安全性。例如,當使用者為其加密錢包設定密碼時,這時就會用到加密演算法,透過密碼學使用於存取軟體的檔案被加密。
然而,由於比特幣和其他加密貨幣使用了公鑰和私鑰,因此存在一種常見的誤解,即區塊鏈系統使用非對稱密碼學演算法。如前所述,非對稱加密和數位簽章是非對稱密碼學(公鑰加密)的兩個主要用例。
因此,並非所有數位簽章系統都使用加密技術,即使它們使用了公鑰和私鑰。實際上,可以僅對訊息進行數位簽名而不進行加密。 RSA是用於對加密訊息進行簽署的範例演算法,但比特幣使用的數位簽章演算法(名為ECDSA)根本沒有用到加密功能。
在現如今的數位化時代中,對稱和非對稱加密在保護敏感資訊和網路通訊中扮演著重要角色。雖然兩者都十分有用,但它們也各具優缺點,因此適用於不同的應用場景。隨著密碼學的不斷發展,利用密碼學能夠更好的抵禦各類全新和複雜的威脅,對稱和非對稱加密也與電腦安全緊密相關。