對稱密鑰加密(或對稱加密)是指使用相同的密鑰進行加密和解密的一種密碼學方案。在過去的幾十年中,這種信息加密的方式被廣泛應用於政府和軍隊中的機密通信。如今,對稱密鑰算法也廣泛應用於各種類型的計算機系統中,起到了增強數據安全性的作用。
對稱加密如何工作?
對稱加密方案依賴於兩個或多個用戶之間共享的相同密鑰。相同的密鑰被用於對所謂的明文(表示正在編碼的消息或數據段)進行加密和解密。加密過程大致概括如下:對明文(作為輸入)使用加密算法進行加密,然後加密算法會將明文生成密文(輸出)。
如果加密方案足夠強大,則人們讀取或訪問密文信息的唯一方法是使用相應的加密密鑰對其進行解密。解密過程基本上是將密文轉換回明文。
對稱加密系統的安全性基於隨機猜測相應密鑰以破解它們的難度。例如,使用普通計算機硬件破解128位的密鑰至少需要花費數十億年。加密密鑰的位數越長,破解它就越難。 256位的密鑰通常被認為是安全度極高的,並且理論上可抵抗量子計算機的暴力攻擊。
目前使用的兩種最常見的對稱加密方案是基於塊密碼和流密碼。分組密碼將數據分組成預定大小的塊,並且使用相應的密鑰和加密算法(例如,128位明文被加密成128位密文)對每個塊進行加密。另一方面,流密碼不按塊加密明文數據,而是以1比特的流增量進行加密(即1比特明文一次加密成1比特密文)。
對稱與非對稱加密
非對稱加密算法使用兩個不同的密鑰也是其與對稱密鑰產生功能差異的原因。非對稱算法比對稱算法更複雜,運算速度更慢。因為非對稱加密中使用的公鑰和私鑰在某種程度上是算數相關的,所以密鑰本身也必須足夠長,以此達到與對稱加密算法(使用較短加密密鑰)相同的安全級別。
現代計算機系統中的應用
在許多現代計算機系統中採用對稱加密算法來增強數據安全性和用戶隱私。在安全消息傳遞應用程序和雲存儲中廣泛使用的高級加密標準(AES)是對稱密碼的一個常見用例。
除軟件實現外,AES還可以直接在計算機硬件中實現。基於硬件的對稱加密方案通常利用AES 256,它是高級加密標準的特定變體,密鑰長度為256位。
一個常見的混淆點是ECDSA基於橢圓曲線加密(ECC),後者還可以應用於多種不同的任務,包括加密、數字簽名和偽隨機生成器。但是,ECDSA本身根本不能用於加密。
優缺點分析
對稱加密算法可以提供相對較高的安全級別,同時支持快速加密和解密消息。對稱加密系統的相對便捷性在邏輯上也是一種優勢,因為它們比非對稱系統消耗更少的計算資源。此外,對稱加密提供的安全性可以通過增加密鑰長度來實現。隨著對稱密鑰長度的增加,暴力攻擊破解加密的難度也呈指數增長。