加密類型:5種加密算法以及如何選擇正確的算法

2020-12-06 Gworg

在深入探討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握手」。在此過程中,使用私鑰和公鑰驗證雙方的身份。雙方都確認了自己的身份之後,便使用臨時(會話)密鑰通過對稱加密對數據進行加密。這確保了我們每分鐘在網際網路上發送和接收的大量數據的快速傳輸。

加密方法的類型:我們介紹了什麼

如果您想知道哪種加密方法比另一種加密方法更好,那麼對稱和非對稱加密都將它們的優勢帶到了桌上,那麼就不會有任何明顯的贏家,而且我們不能只選擇一種來犧牲另一種。

從安全角度來看,非對稱加密無疑會更好,因為它可以確保身份驗證和不可否認性。但是,性能也是我們不能忽視的一個方面,這就是為什麼始終需要對稱加密的原因。

以下是我們就加密類型進行討論的摘要:

相關焦點

  • 數據加密中的DES加密算法詳解
    [摘要] 本文詳細介紹了DES數據加密算法的原理,並給出了一個例子演示了如何使用c#中的加密包進行DES算法加密,最後對DES進行了評價。常用加密算法主要用來對敏感數據、摘要、籤名等信息進行加密。按照密鑰方式劃分,可分為對稱加密算法和非對稱加密算法。一、對稱加密算法對稱加密算法有時又叫做傳統密碼算法,加密密鑰可以從解密密鑰中推導出來,解密密鑰也可以從加密密鑰中推導出來。在大多數的對稱算法中,加密密鑰和解密密鑰是相同的,因此也成為秘密密鑰算法或者單密鑰算法。
  • 基於AES算法實現對數據的加密
    分組密碼體制將數據流分成固定長度的分組,然後再用密鑰,按照一定的算法把分組加密成為密文,其數據加密單元為分組。 著名的DES標準是最常用的對稱密碼算法,由於技術的發展,逐漸暴露出密鑰相對過短的弊端(DES有效密鑰56位),另外,DES加密算法還存在弱密鑰和半弱密鑰以及其加密標準的算法還存在互補對稱性等缺點,2005建立了新的高級數據加密標準(AES)規範。
  • 從數學到物理學:加密算法簡介
    如果你要成為密碼學家,那可能是的,畢竟密碼學家的工作就是構造極難破解的加密算法。但是加密方法在當今世界的用途已經非常普遍了,從保護用戶的信用卡信息、保護遠程用戶的網絡連接,到保護智力產權、防止盜版,密碼學無處不在。我這篇文章的目的,就是把令人望而生畏的密碼學轉述成大白話,讓大家都能理解這些方法是如何用來加密數據的。
  • 常見加密算法DES、AES和RSA的原理和特點
    所謂對稱性加密,加密和解密秘鑰相同。對稱性加密一般會按照固定長度,把待加密字符串分成塊。不足一整塊或者剛好最後有特殊填充字符。常見的填充模式有:'pkcs5'、'pkcs7'、'iso10126'、'ansix923'、'zero' 類型,包括DES-ECB、DES-CBC、DES-CTR、DES-OFB、DES-CFB。2.
  • 基於小波域的二維混沌加密算法
    但是傳統的加密算法(如DES、RSA算法),雖然應用廣泛,但其相應的破譯方法已曾出不窮,更重要的是傳統的加密算法並不適用於對圖像及視頻的處理。圖像信息安全問題有著極為廣泛的含義,考慮其安全算法時,必須考慮其數據的冗餘性、對大數據量數據加密的可實現性及能否經受住常見的數據有損壓縮、格式變換等操作。
  • 區塊鏈丨非對稱加密算法,區塊鏈的加密秘訣!
    前面講到了對稱加密算法,今天講講非對稱加密算法。可以說非對稱算法是對稱算法的升級,因為非對稱算法是基於對稱算法而被研究出來的。非對稱算法與對稱算法的不同之處在於非對稱算法省去了對稱加密算法時要分發密鑰的麻煩,所以說是對稱加密算法的升級。在非對稱加密算法中同樣具有兩種密鑰:私鑰(private key)和公鑰(public key)。
  • 為什麼質數能被用於加密算法?
    直到上個世紀70年代,麻省理工學院(MIT)的三位數學家李維斯特、薩莫爾和阿德曼共同提出了一種公開密鑰加密算法,也就是後來被廣泛應用於銀行加密的RSA算法,人們才認識到了質數的巨大作用。質數為什麼能用於加密算法?這個問題就要涉及到大數的質因數分解。
  • AES加密算法的高速低功耗ASIC設計
    本文引用地址:http://www.eepw.com.cn/article/189858.htm關鍵詞:AES;ASIC;T盒;功耗管理;時鐘門控1 引言從1976年美國數據加密標準算法(DES)公布以來,到20世紀末,DES算法或其某些變形基本上主宰了對稱算法的研究與開發進程。
  • 區塊鏈加密機制的不同算法及其原理解析
    區塊鏈世界通過共識算法、加密、點對點網絡以及獎勵機制等,可以形成一個自治的社區,形成一個通過挖礦機制(POW)來達成一種不通過中心機構來達成的信任,最終實現點對點的價值流通。在EKT中Token鏈是一個並行多鏈的結構,多鏈多共識,共享用戶基礎,這也意味著使用EKT公鏈,可以把Token鏈和Dapp鏈分離,並自由的選擇共識算法和加密算法。
  • 到底什麼是DES加密算法?這樣理解試試!
    在說DES加密算法之前,我們首先了解幾個基本概念:明文:明文是指沒有經過加密的數據。一般而言,明文都是等待傳輸的數據。由於沒有經過加密,明文很容易被識別與破解,因此在傳輸明文之前必須進行加密處理。密文:密文只是明文經過某種加密算法而得到的數據,通常密文的形式複雜難以識別及理解。
  • 利用彙編語言實現DES加密算法
    DES算法是一種數據加密算法。自從1977年公布以來,一直是國際上的商用保密通信和計算機通信的最常用的加密標準。DES算法的實現一般用高級語言。
  • 從「量子霸權」到攻破現有加密算法:進度條才走了1%
    距量子計算機破解現有加密算法還有多久? 自從量子計算的概念提出以來,科學界就一直在討論能夠打破現有加密算法的量子計算機何時誕生。早在量子計算機還沒有實際建造之前很多年,就已經誕生了為量子計算機開發的最早的「算法」之一,其中之一就是旨在破壞現有加密的算法。
  • 若想世界不崩塌,先開發後量子時代加密算法
    畢竟,量子計算機在0和1之間有無數種可能,一臺真正的量子計算機運算能力可能超過現在世界上所有計算機運算能力之和。 這就意味著量子計算機一旦被率先突破,那麼現在所有的加密算法都會被馬上破解,全世界的信息將沒有安全可言。換句話說,首臺量子計算機誕生,它足以破解當代絕大多數的加密標準。
  • EKT多鏈技術談丨加密貨幣如何加密
    在EKT中Token鏈是一個並行多鏈的結構,多鏈多共識,共享用戶基礎,這也意味著使用EKT公鏈,可以把Token鏈和Dapp鏈分離,並自由的選擇共識算法和加密算法。在EKT中Token鏈是一個並行多鏈的結構,多鏈多共識,共享用戶基礎,這也意味著使用EKT公鏈,可以把Token鏈和Dapp鏈分離,並自由的選擇加密算法。在項目初期,EKT 除了默認提供的 DPOS 共識算法以外,還會陸續支持工作量證明(POW)以及股權證明機制(POS)。
  • 被證明的黎曼猜想跟區塊鏈加密算法有什麼關係?
    而區塊鏈屆跟著躁動,加密算法要被破解了。而除了研究意義外,黎曼猜想因為能揭示素數分布的統計規律,跟需要用到素數的加密算法有一定聯繫,也觸發了一些區塊鏈自媒體和幣圈人士的「G」點。查閱資料了解到,一直以來,素數的分布很難捕捉到規律,黎曼在其論文中指出素數的分布完全蘊藏在一個特殊的函數中(黎曼函數),這也構成了黎曼猜想關於素數的分布。而目前區塊鏈領域用到的加密算法,和素數的分布軌跡有一定聯繫。
  • 區塊鏈中的密碼學系列之對稱加密算法DES(六)
    前言DES是一種數據加密標準( Data Encryption Standard) , 有30多年歷史,是一種對稱密碼算法,是第一個得到廣泛應用的密碼算法,是一種分組加密算法,輸入的明文為64位,密鑰為64位(實際上只有56位,原因是每隔7個比特設置一個奇偶校驗位),生成的密文分組長度為64位。但是現在已經不再安全。課件來自我們老師上課的PPT。2.
  • 量子計算機將威脅網際網路安全基礎的不對稱加密算法
    其實,量子計算領域還有許多技術挑戰,比如量子比特的獲得以及量子糾錯。上周的2019雲棲大會上,阿里達摩院就有一個宣布,就是其量子實驗室宣布完成了第一個可控的量子比特研發工作。如果你試圖找出替換從電子郵件到世界銀行系統所使用的加密方案,這可能不是你想聽到的。為什麼我們無法給出更具體的時間表?因為影響量子計算機發展的因素非常複雜且難以衡量。數字不能說明全部我們知道,使用Shor算法的量子計算機將需要數千個量子位(量子比特,表示1或0的基本量子計算單元)才能破解RSA或ECC。
  • 牛津與劍橋競爭贏得算法加密交易大賽
    多元資產分析提供商APEX:E3宣布已在牛津大學和劍橋大學的學生之間安排了算法加密交易競賽。獲勝的團隊將保留其種子資??金和回報。根據官方公告,APEX:E3於11月16日啟動了競賽,並邀請了兩所大學的數學和計算機科學系的15個團隊參加了為期一個月的算法加密交易競賽。這些團隊將使用APEX:E3提供的API來構造算法並在CoinbasePro和FTX上執行交易。APEX:E3與其他合作夥伴一起贊助了比賽,向學生提供API,技術支持,交易指導和種子資金。
  • 量子加密是如何工作的
    直到20世紀90年代,密碼學都是基於算法的。這些算法與密鑰(通常是數字)結合使用。如果沒有合適的密鑰,幾乎不可能破譯編碼的消息,即使您知道使用什麼算法。密碼學中使用密鑰的可能性是無限的。但目前應用最廣泛的密鑰使用方法只有兩種:公鑰密碼和密鑰密碼。在這兩種方法中(以及在所有密碼學中),發送者(點A)被稱為Alice,點B被稱為Bob。
  • 後量子加密究竟是什麼?
    但這個符號其實非同小可,它代表著我們所面對的在線服務正在使用HTTPS——這是一種網絡協議,能夠對我們通過網際網路發送的數據以及收到的響應結果進行加密。目前,整個網際網路行業都在使用HTTPS以及其它一些形式的加密機制保護各類電子通信、密碼、數字籤名以及健康記錄等信息。量子計算機則可能很快摧毀這些加密防禦體系。