在深入探討5種最常用的加密算法,以前所未有地簡化它們之前,我們將分解兩種主要的加密類型,對稱和非對稱。
加密是始終成為頭條新聞的那些網絡安全主題之一。對不同類型的加密有充分了解的任何人都可能會覺得,這種非凡的技術正處於一種不公正的狀態,而這種非凡的技術是Internet安全和隱私的核心。加密是一種將數據轉換為無法解密的格式,以便只有授權方才能訪問信息的方法。
加密密鑰與加密算法一起使加密過程成為可能。並且,基於這些密鑰的應用方式,主要主要使用兩種類型的加密方法:「對稱加密」和「非對稱加密」。這兩種方法都使用不同的數學算法(即我們剛才提到的那些加密算法)對數據進行加密。常見的加密算法列表包括RSA,ECC,3DES,AES等。
在本文中,我們將學習對稱和非對稱加密及其用於加密數據的流行加密算法。
讓我們對其進行哈希處理。
加密類型1:對稱加密
顧名思義,對稱加密方法使用單個加密密鑰來加密和解密數據。對這兩個操作使用單個鍵使其成為一個簡單的過程,因此稱為「對稱」。以下是對稱加密工作原理的直觀細分:
讓我們用一個簡單的例子來了解對稱加密過程:
紐約有兩個非常親密的朋友,分別叫鮑勃和愛麗絲。由於某種原因,愛麗絲不得不搬出這座城市。他們彼此交流的唯一方法是通過郵件。但是有一個問題:鮑勃和愛麗絲擔心有人會讀他們的信。
為了保護自己的字母免受他人的注意,他們決定以這樣的方式編寫消息:將消息中的每個字母替換為字母下方七個位置的字母。因此,與其說「 Apple」,不如說是「 hwwsl」(A-> H,P-> W,L-> S,E-> L)。為了將數據恢復為原始格式,他們必須在字母順序的七個位置替換字母。
當然,這聽起來對您來說太簡單了-的確如此。那是因為羅馬皇帝和軍事將領尤利烏斯·凱撒(Julius Caesar)幾個世紀以前就使用了這種技術。這種方法被稱為「凱撒密碼」,適用於字母替換技術。
如今的加密方法並非如此簡單。廣泛使用的加密算法是如此複雜,以至於許多超級計算機的綜合計算能力也無法破解它們。因此,我們可以放心發送信用卡信息而無後顧之憂。
是什麼使對稱加密成為一項偉大的技術
對稱加密的最突出特徵是其過程的簡單性。這種加密的這種簡單性在於使用單個密鑰進行加密和解密。結果,對稱加密算法:
比非對稱加密算法(我們將在稍後討論)快得多,需要更少的計算能力,並且不要降低網際網路速度。這意味著,當要加密的數據量很大時,對稱加密被證明是一個不錯的選擇。
3種常見的對稱加密算法
就像我們在凱撒(Caesar)的密碼中看到的那樣,每種加密數據的加密方法背後都有特定的邏輯。當今使用的加密方法依賴於高度複雜的數學函數,這些函數幾乎不可能破解它們。
您可能意識到或沒有意識到的是,存在數百種對稱密鑰算法!一些最常見的加密方法包括AES,RC4,DES,3DES,RC5,RC6等。在這些算法中,DES和AES算法是最著名的。雖然我們無法涵蓋所有不同類型的加密算法,但讓我們看一下三種最常見的加密算法。
1. DES對稱加密算法
DES(數據加密標準)於1976年推出,是最古老的對稱加密方法之一。它是由IBM開發的,用於保護敏感的,未分類的電子政府數據,並於1977年被正式採用,以供聯邦機構使用。DES使用56位加密密鑰,它基於Feistel結構,該結構由密碼學家Horst Feistel設計。DES加密算法是TLS(傳輸層安全性)版本1.0和1.1中包含的算法。
DES通過將64位純文本數據塊劃分為兩個單獨的32位塊,並對每個塊分別應用加密過程,將64位純文本數據塊轉換為密文。這涉及16個回合的各種過程(例如擴展,置換,替換或使用回合密鑰的XOR操作),數據將在加密後經歷。最終,將生成64位加密文本塊作為輸出。
如今,DES已不再使用,因為它已被許多安全研究人員破解。在2005年,DES被正式棄用,並被AES加密算法所取代,我們將在稍後進行討論。DES的最大缺點是其加密密鑰長度短,這使暴力破解變得很容易。TLS 1.2是當今使用最廣泛的TLS協議,它沒有使用DES加密方法。
2. 3DES對稱加密算法
顧名思義,3DES(也稱為TDEA,代表三重數據加密算法)是已發布的DES算法的升級版本。3DES的開發是為了克服DES算法的缺點,並於1990年代後期開始投入使用。為此,它將DES算法三次應用於每個數據塊。結果,此過程使3DES比其DES前身更難破解。它也已成為金融行業支付系統,標準和技術中廣泛使用的加密算法。它也已成為TLS,SSH,IPsec和OpenVPN等加密協議的一部分。
所有加密算法最終都屈從於時間的力量,而3DES也不例外。研究人員Karthikeyan Bhargavan和GatanLeurent發現的Sweet32漏洞消除了3DES算法中存在的安全漏洞。這一發現導致安全行業考慮棄用該算法,美國國家標準技術研究院(NIST)在2019年發布的指南草案中宣布棄用該算法。
根據該草案,到2023年之後,將在所有新應用程式中廢棄3DES的使用。值得注意的是,TLS 1.3(SSL / TLS協議的最新標準)也停止使用3DES。
3. AES對稱加密算法
AES代表「高級加密系統」,是最廣泛使用的加密算法之一,並且是DES算法的替代方法。AES也稱為Rijndael,在2001年經NIST批准後成為一種加密標準。與DES不同,AES是一組分組密碼,由不同密鑰長度和分組大小的密碼組成。
AES致力於替代和置換方法。首先,將明文數據轉換為塊,然後使用加密密鑰應用加密。加密過程由各種子過程組成,例如子字節,移位行,混合列和添加回合密鑰。根據密鑰的大小,執行10、12或14次這樣的回合。值得注意的是,上一輪不包括混合列的子過程以及為加密數據而執行的所有其他子過程。
使用AES加密算法的優勢
所有這些可以歸結為說AES是安全,快速和靈活的。與DES相比,AES是一種更快的算法。多個密鑰長度選項是您最大的優勢,因為密鑰越長,破解它們的難度就越大。
如今,AES是使用最廣泛的加密算法,它已在許多應用程式中使用,包括:
無線網絡安全,處理器安全性和文件加密,SSL / TLS協議(網站安全),Wi-Fi安全性移動應用加密VPN(虛擬專用網)等許多政府機構,包括國家安全局(NSA),都依靠AES加密算法來保護其敏感信息。
加密類型2:非對稱加密
與對稱加密方法相反,非對稱加密涉及多個密鑰,用於數據的加密和解密。非對稱加密包含在數學上彼此相關的兩個不同的加密密鑰。這些密鑰之一稱為「公共密鑰」,另一個稱為「私有密鑰」。因此,為什麼非對稱加密方法也被稱為「公鑰密碼術」。
如上例所示,當Alice和Bob想要交換信息時,對稱加密非常有用。但是,如果鮑勃想要安全地與數百個人通信,該怎麼辦?如果他為每個人使用不同的數學鍵是否可行?並非如此,因為那將是很多玩雜耍的關鍵。
為了解決此問題,Bob使用公共密鑰加密,這意味著他將公共密鑰提供給向其發送信息並保留私有密鑰給自己的每個人。他指示他們使用公鑰加密信息,以便只能使用他擁有的私鑰解密數據。這消除了密鑰洩露的風險,因為只能使用Bob擁有的私有密鑰來解密數據。
是什麼使非對稱加密成為一項偉大的技術
這種加密的第一個(也是最明顯的)優點是它提供的安全性。在這種方法中,公共密鑰(可公開使用)用於加密數據,而數據解密則使用私鑰完成,私鑰需要安全存儲。這樣可以確保數據免受中間人(MiTM)攻擊。對於每分鐘連接成千上萬個客戶端的Web /電子郵件伺服器,非對稱加密無非是一個福音,因為它們只需要管理和保護一個密鑰。另一個要點是,公鑰加密技術允許創建加密的連接,而不必先離線就可以交換密鑰。
非對稱加密提供的第二個關鍵功能是身份驗證。如我們所見,用公共密鑰加密的數據只能使用與其相關的私有密鑰解密。因此,可以確保僅由應該接收數據的實體才能看到和解密數據。簡單來說,它可以驗證您是否正在與自己認為的個人或組織進行交談。
非對稱加密算法的2種主要類型
1. RSA非對稱加密算法
由Ron Rivest,Adi Shamir和Adleman的倫納德(因此「RSA」)於1977年發明的,RSA是,迄今為止,最廣泛使用的非對稱加密算法。它的效力在於它所依賴的「素數分解」方法。基本上,此方法涉及兩個巨大的隨機質數,並將這些數字相乘以創建另一個巨數。這裡的難題是從這個巨大的乘法數確定原始素數。
事實證明,對於當今的超級計算機,這個難題實際上是不可能的-如果使用具有足夠熵的正確密鑰長度,更不用說人類了。2010年,一組研究人員進行了研究,他們花費了超過1500年的計算時間(分布在數百臺計算機上)來破解RSA-768位密鑰-遠低於使用的標準2048位RSA密鑰今天。
使用RSA加密算法的優勢
RSA提供的一個巨大優勢是它的可伸縮性。它具有各種加密密鑰長度,例如768位,1024位,2048位,4096位等。因此,即使較低的密鑰長度被成功強行強制執行,也可以使用較高的密鑰長度進行加密因為隨著密鑰長度的增加,暴力破解密鑰的難度也會增加。
RSA基於簡單的數學方法,這就是為什麼它在公鑰基礎結構(PKI)中的實現變得簡單明了的原因。PKI的這種適應性及其安全性使RSA成為當今使用最廣泛的非對稱加密算法。RSA被廣泛用於許多應用程式中,包括SSL / TLS證書,加密貨幣和電子郵件加密。
2. ECC非對稱加密算法
1985年,兩位名為Neal Koblitz和Victor S. Miller的數學家提出了在密碼學中使用橢圓曲線的方法。在將近二十年之後,當ECC(橢圓曲線密碼術)算法在2004-05年投入使用時,他們的想法變成了現實。
在ECC加密過程中,橢圓曲線表示滿足數學方程式(y 2 = x 3 + ax + b)的點集。
像RSA一樣,ECC也遵循不可逆原理。用簡單的話來說,很容易在一個方向上進行計算,但是很難逆轉並達到原始點。在ECC中,將表示曲線上一個點的數字乘以另一個數字,得出曲線上的另一個點。現在,要破解這個難題,您必須找出曲線上的新點。ECC的數學原理是這樣的,即使您知道原始點,也幾乎不可能找到新點。
使用ECC加密算法的優勢
與RSA相比,ECC非常複雜(相對於當前的破解方法),它提供了更高的安全性。它提供與RSA類似的保護級別,但是使用的密鑰長度短得多。結果,使用更大長度的密鑰應用的ECC將使用蠻力攻擊花費相當多的時間來破解。
ECC中較短密鑰的另一個優點是性能更快。較短的密鑰需要較少的網絡負載和計算能力,這對於存儲和處理能力有限的設備來說非常有用。在SSL / TLS證書中使用ECC時,可大大減少執行SSL / TLS握手所需的時間,並有助於您更快地加載網站。ECC加密算法用於加密應用,偽隨機數生成器等中以應用數字籤名。
但是,使用ECC的挑戰在於,許多伺服器軟體和控制面板尚未添加對ECC SSL / TLS證書的支持。我們希望這種情況將來會改變,但這意味著RSA在此期間將繼續成為使用更廣泛的非對稱加密算法。
混合加密:對稱+非對稱加密
首先,讓我澄清一下,混合加密不是像對稱和非對稱加密一樣的「方法」。它從這兩種方法中汲取了最大的優勢,並產生了協同作用以構建強大的加密系統。
與對稱和非對稱加密一樣,它們都有缺點。對稱加密方法非常適合大數據的快速加密。不過,它不提供身份驗證,這是網際網路安全所需要的時間。另一方面,由於使用了公鑰/私鑰對,因此非對稱加密可確保您的預期收件人可以訪問數據。但是,這種驗證使加密過程在大規模實施時非常緩慢。
在許多應用程式中,例如網站安全性,需要高速加密數據,並且還需要驗證身份以確保用戶與目標實體進行對話。這就是混合加密思想的誕生。
混合加密技術用於SSL / TLS證書等應用程式。SSL / TLS加密是在伺服器和客戶端(Web瀏覽器)之間的一系列來回通信過程中應用的,此過程稱為「 TLS握手」。在此過程中,使用私鑰和公鑰驗證雙方的身份。雙方都確認了自己的身份之後,便使用臨時(會話)密鑰通過對稱加密對數據進行加密。這確保了我們每分鐘在網際網路上發送和接收的大量數據的快速傳輸。
加密方法的類型:我們介紹了什麼
如果您想知道哪種加密方法比另一種加密方法更好,那麼對稱和非對稱加密都將它們的優勢帶到了桌上,那麼就不會有任何明顯的贏家,而且我們不能只選擇一種來犧牲另一種。
從安全角度來看,非對稱加密無疑會更好,因為它可以確保身份驗證和不可否認性。但是,性能也是我們不能忽視的一個方面,這就是為什麼始終需要對稱加密的原因。
以下是我們就加密類型進行討論的摘要: