對稱密鑰加密(或?qū)ΨQ加密)是指使用相同的密鑰進行加密和解密的一種密碼學(xué)方案。在過去的幾十年中,這種信息加密的方式被廣泛應(yīng)用于政府和軍隊中的機密通信。如今,對稱密鑰算法也廣泛應(yīng)用于各種類型的計算機系統(tǒng)中,起到了增強數(shù)據(jù)安全性的作用。
對稱加密如何工作?
對稱加密方案依賴于兩個或多個用戶之間共享的相同密鑰。相同的密鑰被用于對所謂的明文(表示正在編碼的消息或數(shù)據(jù)段)進行加密和解密。加密過程大致概括如下:對明文(作為輸入)使用加密算法進行加密,然后加密算法會將明文生成密文(輸出)。
如果加密方案足夠強大,則人們讀取或訪問密文信息的唯一方法是使用相應(yīng)的加密密鑰對其進行解密。解密過程基本上是將密文轉(zhuǎn)換回明文。
對稱加密系統(tǒng)的安全性基于隨機猜測相應(yīng)密鑰以破解它們的難度。例如,使用普通計算機硬件破解128位的密鑰至少需要花費數(shù)十億年。加密密鑰的位數(shù)越長,破解它就越難。 256位的密鑰通常被認(rèn)為是安全度極高的,并且理論上可抵抗量子計算機的暴力攻擊。
目前使用的兩種最常見的對稱加密方案是基于塊密碼和流密碼。分組密碼將數(shù)據(jù)分組成預(yù)定大小的塊,并且使用相應(yīng)的密鑰和加密算法(例如,128位明文被加密成128位密文)對每個塊進行加密。另一方面,流密碼不按塊加密明文數(shù)據(jù),而是以1比特的流增量進行加密(即1比特明文一次加密成1比特密文)。
對稱與非對稱加密
對稱加密是現(xiàn)代計算機系統(tǒng)中加密數(shù)據(jù)的兩種主要方法之一。而另一種就是所謂的非對稱加密,有時也稱為公鑰加密。上述兩種方法的主要區(qū)別在于非對稱加密系統(tǒng)使用兩個不同的密鑰進行加解密,不同于對稱加密中所使用的相同密鑰。在非對稱加密中,其中一個密鑰用于共享(公鑰),而另一個密鑰必須保密(私鑰)。
非對稱加密算法使用兩個不同的密鑰也是其與對稱密鑰產(chǎn)生功能差異的原因。非對稱算法比對稱算法更復(fù)雜,運算速度更慢。因為非對稱加密中使用的公鑰和私鑰在某種程度上是算數(shù)相關(guān)的,所以密鑰本身也必須足夠長,以此達到與對稱加密算法(使用較短加密密鑰)相同的安全級別。
現(xiàn)代計算機系統(tǒng)中的應(yīng)用
在許多現(xiàn)代計算機系統(tǒng)中采用對稱加密算法來增強數(shù)據(jù)安全性和用戶隱私。在安全消息傳遞應(yīng)用程序和云存儲中廣泛使用的高級加密標(biāo)準(zhǔn)(AES)是對稱密碼的一個常見用例。
除軟件實現(xiàn)外,AES還可以直接在計算機硬件中實現(xiàn)?;谟布膶ΨQ加密方案通常利用AES 256,它是高級加密標(biāo)準(zhǔn)的特定變體,密鑰長度為256位。
值得注意的是,比特幣的區(qū)塊鏈并沒有像大多數(shù)人所認(rèn)為的那樣使用加密。與之相對的,它使用了一種稱為橢圓曲線數(shù)字簽名算法(ECDSA)的特殊數(shù)字簽名算法(DSA),該算法在不使用加密算法的情況下生成數(shù)字簽名。
一個常見的混淆點是ECDSA基于橢圓曲線加密(ECC),后者還可以應(yīng)用于多種不同的任務(wù),包括加密、數(shù)字簽名和偽隨機生成器。但是,ECDSA本身根本不能用于加密。
優(yōu)缺點分析
對稱加密算法可以提供相對較高的安全級別,同時支持快速加密和解密消息。對稱加密系統(tǒng)的相對便捷性在邏輯上也是一種優(yōu)勢,因為它們比非對稱系統(tǒng)消耗更少的計算資源。此外,對稱加密提供的安全性可以通過增加密鑰長度來實現(xiàn)。隨著對稱密鑰長度的增加,暴力攻擊破解加密的難度也呈指數(shù)增長。
雖然對稱加密能夠提供諸多優(yōu)勢,但是也存在一個嚴(yán)重的缺點:用于加密和解密數(shù)據(jù)的密鑰是相同的。當(dāng)這些密鑰在不安全的網(wǎng)絡(luò)連接中共享時,它們很容易被惡意的第三方攔截。如果未經(jīng)授權(quán)的用戶獲得對特定密鑰的訪問權(quán)限,則使用該密鑰加密數(shù)據(jù)安全性都會受到破壞。為了解決這個問題,許多Web協(xié)議使用對稱和非對稱加密的組合來建立安全連接。這種混合協(xié)議最常見的例子是傳輸層安全加密協(xié)議(TLS),該協(xié)議被用于保護現(xiàn)代互聯(lián)網(wǎng)上大部分的網(wǎng)絡(luò)連接。
還應(yīng)注意,由于實施的不當(dāng),所有類型的計算機加密都會受到漏洞影響。雖然足夠長的密鑰在數(shù)學(xué)上可使暴力攻擊失效,但程序員的錯誤配置,常常也會產(chǎn)生漏洞,為網(wǎng)絡(luò)攻擊者開辟新的道路。
總結(jié)思想
由于對稱加密的運算速度相對較快,易于使用和安全性較高,對稱加密被廣泛應(yīng)用于互聯(lián)網(wǎng)流量防護和云服務(wù)器上的數(shù)據(jù)保護等各種應(yīng)用中。而為了解決傳輸密鑰的安全問題,它經(jīng)常與非對稱加密配合使用,但對稱加密方案仍然是現(xiàn)代計算機安全的關(guān)鍵組成部分。