加密類型:對稱或不對稱? RSA或AES
塊密碼是用於加密或解密的方案,其中明文塊被視為一個塊,用於獲得相同尺寸的密文塊. 如今,AES(高級加密標準)是最常用的塊加密算法之一. 它已由NIST(國家標準技術研究所)在2001年進行了標準化,以取代DES和3DES,並在此期間進行加密。. AES塊的大小為128位,而加密密鑰的大小可以為128、192或256位. 請注意,鑰匙中有三個長度,但是加密塊的大小始終為128位. 塊密碼算法應啟用具有大小的明文加密,這也與一個塊的定義大小不同. 當明文不夠的塊(例如PKCS5或PKCS7)時,我們可以使用一些算法進行填充塊,如果我們使用ECB或CBC模式,它也可以防禦PA攻擊. 或者我們可以使用支持純文本的AES模式,例如CFB,OFB,CTR模式.
AES加密算法中五個模式的差異
最近,我在TDE上與Sawada-san合作. 所以我研究了加密算法. 到目前為止,我在AES中學習五個模式. 在本文檔中,我將介紹五種模式的差異.
一般的
塊密碼是用於加密或解密的方案,其中明文塊被視為一個塊,用於獲得相同尺寸的密文塊. 如今,AES(高級加密標準)是最常用的塊加密算法之一. 它已由NIST(國家標準技術研究所)在2001年進行了標準化,以取代DES和3DES,並在此期間進行加密。. AES塊的大小為128位,而加密密鑰的大小可以為128、192或256位. 請注意,鑰匙中有三個長度,但是加密塊的大小始終為128位. 塊密碼算法應啟用具有大小的明文加密,這也與一個塊的定義大小不同. 當明文不夠的塊(例如PKCS5或PKCS7)時,我們可以使用一些算法進行填充塊,如果我們使用ECB或CBC模式,它也可以防禦PA攻擊. 或者我們可以使用支持純文本的AES模式,例如CFB,OFB,CTR模式.
現在讓我們介紹AES的五個模式.
- 歐洲央行模式:電子代碼簿模式
- CBC模式:密碼塊鍊式模式
- CFB模式:密碼反饋模式
- OFB模式:輸出反饋模式
- CTR模式:計數器模式
攻擊模式:
- PA:填充攻擊
- CPA:選擇的明文攻擊
- CCA:選擇的CI
歐洲央行模式
歐洲央行(電子代碼簿)模式是最簡單的. 由於明顯的弱點,通常不建議使用. 該模式的塊方案在圖中列出. 1.
我們可以在無花果中看到. 1,將明文分為塊,作為AES塊的長度,128. 因此,歐洲央行模式需要填充數據,直到它與塊的長度相同. 然後,每個塊將使用相同的鍵和相同的算法加密. 因此,如果我們加密相同的明文,我們將獲得相同的密文. 因此,這種模式有很高的風險. 而明文和密文塊是一對一的信件. 因為加密/解密是獨立的,因此我們可以並行加密/解密數據. 而且,如果一塊明文或密文被打破,它不會影響其他塊.
由於歐洲央行的特徵,馬洛里也可以發動攻擊,即使他們沒有明白. 例如,如果我們加密有關銀行帳戶的數據,則是這樣的:CIPHertext:C1:21 33 4E 5A 35 44 90 4B(帳戶)C2:67 78 45 22 AA CB D1 E5(密碼),然後是購物者可以將C1中的數據複製到C2. 然後,他可以用帳戶作為密碼登錄系統,這很容易獲取.
在數據庫加密中,我們可以使用ECB對錶,索引,WAL,TEMP文件和系統目錄進行加密. 但是有了安全性問題,我們不建議使用此模式.
CBC模式
CBC(密碼塊鏈)模式(無花果. 2)通過使用初始化向量 – IV提供此功能. IV的大小與加密的塊相同. 通常,IV通常是一個隨機數,而不是nonce.
我們可以在圖2中看到它,純文本分為塊,需要添加填充數據. 首先,我們將使用IV使用明文塊XOR. 然後,CBC將將結果加密到Ciphertext塊. 在下一個塊中,我們將使用“加密結果”將其與純文本塊一起使用,直到最後一個塊. 在此模式下,即使我們加密相同的明文塊,我們也會得到不同的密文塊. 我們可以並行解密數據,但是在加密數據時不可能. 如果純文本或密文塊被打破,它將影響所有以下塊.
馬洛里可以更改IV以攻擊系統. 即使在靜脈內有點錯誤,所有數據都被損壞了. 馬洛里還可以進行填充甲骨文攻擊. 他們可以使用密文的一部分來粘貼密文塊. 這將返回有關明文的一些消息. 它可以免受CPA的侵害,但是CCA和PA很容易察覺.
為了確保安全性,我們需要在加密2^((n+1)/2)時更改密鑰(n是塊的長度).
CFB模式
CFB(密碼反饋)操作模式允許塊加密器用作流密封器. 它也需要一個IV.
首先,CFB將加密IV,然後將使用明文塊進行XOR以獲取Ciphertext. 然後,我們將加密加密結果以XOR授權. 因為此模式不會直接直接加密純文本,所以它僅將Ciphertext使用授權使用XOR來獲取Ciphertext. 因此,在這種模式下,它不需要添加數據.
它可以並行解密數據,而不是加密. 此模式類似於CBC,因此,如果塊破裂,它將影響所有以下塊.
可以通過重播攻擊來攻擊此模式. 例如,如果您使用其他密文來替換新的密文,則用戶將獲得錯誤的數據. 但是他不會知道數據是錯誤的. 它可以免受CPA的侵害,但是CCA很容易觸及.
為了確保安全性,需要每2^((n+1)/2)加密塊,需要更改此模式的鍵.
OFB模式
OFB(輸出反饋)操作模式(無花果. 4)還可以使塊加密人用作流程加密. 它也不需要填充數據.
在此模式下,它將首次加密IV並加密每位. 然後,它將使用加密結果來XOR授權以獲取Ciphertext. 它與CFB不同,它總是加密IV. 它不能並行加密/解密IV. 請注意,我們不會解密IV加密結果以解密數據. 它不會受到破損的影響. 它可以免受CPA的侵害,但是CCA和PA很容易察覺.
馬洛里可以更改一些密文來損害明文.
為了確保安全性,每2^(n/2)加密塊中需要更改此模式中的鍵.
CTR模式
在CTR(計數器)操作模式,如圖所示. 5,作為加密器(加密)的輸入塊,i.e. 作為IV,使用計數器的值(計數器,計數器 + 1,…,計數器 + n – 1). 這也是流程的.
櫃檯的大小與用過的塊相同. 如圖所示. 5,帶有純文本塊的XOR操作是從Encryptor上執行輸出塊的. 所有加密塊都使用相同的加密密鑰. 作為此模式,它不會受到破損的影響. 這很像ofb. 但是CTR將使用計數器每次被加密而不是IV加密. 因此,如果您可以直接獲得計數器,則可以並行加密/解密數據.
馬洛里可以更改一些密文來打破明文. 在數據庫加密中,我們可以使用CBC加密所有文件.
為了確保安全性,每2^(n/2)加密塊中需要更改此模式中的鍵.
概括
這是數據庫需求?
對象名稱 | 結盟 | 並行寫 | 並行閱讀 | 加密模式 |
---|---|---|---|---|
索引 | 是的 | 是的 | 是的 | CTR |
沃爾 | 不 | 不 | 不 | CFB,OFB,CTR |
系統目錄 | 不 | 不 | 是的 | CBC,CTR,CFB |
臨時文件 | 是的 | 不 | 不 | CBC,CTR,CFB,OFB |
表 | 是的 | 不 | 是的 | CBC,CTR,CFB |
最後,我認為CTR模式是PostgreSQL的最佳模式.
肖恩·王(Shawn Wang)是PostgreSQL數據庫核心的開發人員. 他已經在Highgo軟件工作了大約八年.
他為完整的數據庫加密,甲骨文兼容功能,PostgreSQL的監視工具做了一些工作.
現在,他加入了Highgo社區團隊,並希望將來為社區做出更多貢獻.
加密類型:對稱或不對稱? RSA或AES?
如果您想加密數據來保護它,則可能會發現有不同的加密方法和加密算法可以從中選擇. 從RSA到AE,您的選擇應通過上下文告知.
2021年6月15日
對稱與不對稱是一種比較,通常在密碼學和計算機安全世界中使用. 對稱加密涉及使用單個密鑰來加密和解密數據,而非對稱加密使用兩個鍵 – 一個公共和一個私人 – 對數據進行加密和解密數據. 每種類型的加密都有其自身的優點和劣勢,兩者之間的選擇取決於用戶的特定需求.
在流行文化中,電影和電視節目中經常探索對稱與不對稱加密的概念,這些概念涉及黑客和間諜. 例如,在電視節目中. 機器人,“主角埃利奧特(Elliot)使用不對稱加密來保護他的數據免受黑客和其他對手的侵害.
什麼是數據加密?
數據加密是一個過程,如果您知道要實現的目標,可以像在開關上翻轉一樣容易. 讓我們回顧一下此數據安全資產的基礎知識. 加密數據是獲取一條信息,並將其轉換為另一個無法識別的信息. 該最終產品稱為 密文.
要獲取密文,您可以運行通過加密算法加密的信息. 該算法獲取原始信息,並基於隨機規則將信息轉換為新的,不可掩蓋的數據. 將其視為“翻譯”.
加密算法的作用是 創建一種新語言, 並通過將其轉換為此秘密代碼來隱藏敏感數據,如果您知道規則或所謂的一個,您只能解密並轉回授權。 鑰匙. 鍵代表算法將您的文本從“ Hello world”轉換為“ XJTG920KL#AJFJ”%*�*fk的數學步驟。. 沒有它,您將無法解密數據,因此可以保護它免於未經授權的訪問.
加密系統的類型
有許多不同類型的加密算法和方法可供選擇,因此您如何知道哪種是最安全的網絡安全需求選擇? 讓我們從最常見的加密系統類型開始: 對稱 vs 不對稱加密.
對稱加密
在這種類型的加密中,只有一個密鑰,所有有關方面都使用相同的密鑰來加密和解密信息. 通過使用一個鍵,該過程很簡單,按照以下示例:您加密具有唯一鍵的電子郵件,將電子郵件發送給您的朋友湯姆,他將使用 相同的對稱鍵 解鎖/解密電子郵件.
什麼是對稱鍵?
對稱鍵是可以用於加密和解碼數據的密鑰. 這意味著為了解密信息,必須使用用於加密的密鑰. 實際上,鑰匙代表了兩個或更多人共享的共同秘密,這些秘密可能被用來維護機密信息鏈接.
探索日常技術中的對稱加密示例
對稱加密是一種廣泛使用的方法,用於在各種應用程序中保護數據,從而提供機密性和完整性. 通過利用單個鑰匙進行加密和解密,對稱加密示例展示了該技術在保護敏感信息方面的速度和效率. 從確保在線通信到加密敏感文件,對稱加密仍然是現代網絡安全的重要組成部分.
三個實用的對稱加密示例:
- 安全消息傳遞應用程序(E.G., WhatsApp,信號): 這些消息傳遞平台使用對稱加密(例如信號協議)來確保端到端加密消息,僅允許預期的收件人讀取內容.
- 文件加密軟件(E.G., veracrypt,axcrypt): 文件加密軟件採用了對稱加密算法(例如AES)來保護存儲在設備上的敏感數據,即使設備丟失或被盜,數據也保持安全.
- bitlocker: 當您在Windows計算機上激活BitLocker以加密所有硬盤驅動器. 通過用他/她的密碼解鎖PC,用戶將解密數據,而不會暴露其秘密加密密鑰的風險.
不對稱加密
另一方面,創建了不對稱加密來解決對稱加密的固有問題:需要共享用於加密和解密數據的單個加密密鑰.
什麼是不對稱的鑰匙?
不對稱鍵是公共密鑰基礎架構(PKI)的基石,這是一種需要兩個鍵的加密技術,一個要鎖定或加密明文,另一個要解鎖或解密Cyphertext. 兩個鍵都執行兩個功能.
這種加密方法的新型更安全類型 兩個鑰匙 在其加密過程中,用於加密的公鑰和用於解密的私鑰. 這些密鑰是相關,連接和工作以下方式的:
任何需要加密信息的人都可以使用公共密鑰. 此鍵對解密過程不起作用. 用戶需要具有輔助密鑰,即私鑰,以解密此信息. 這樣,私鑰只有由對信息進行解密的演員持有的,而無需犧牲安全性.
探索日常技術中的不對稱加密示例
不對稱加密在現代網絡安全中起著至關重要的作用,在各種應用中提供機密性,完整性和身份驗證. 通過使用公共和私鑰對,可以在各種行業和技術中找到不對稱的加密示例,證明其在確保數字信息方面的重要性. 這種多功能的加密方法已成為保護敏感數據並確保安全通信的重要工具.
三個實用的不對稱加密示例:
- 安全電子郵件通信(E.G., PGP,S/MIME): 不對稱加密用於安全的電子郵件通信協議,例如“漂亮的隱私(PGP)”和“安全/多用途互聯網郵件擴展”(S/MIME). 這些協議利用公共和私鑰來加密電子郵件內容,確保只有正確的私鑰的預期收件人才能解密並閱讀消息. 此方法提供機密性並保持消息完整性.
- 文檔真實性和完整性的數字簽名(e.G., Adobe標誌,DocuSign): 不對稱加密也用於數字簽名服務,例如Adobe Sign和DocuSign. 當用戶以數字方式簽名文檔時,他們的私鑰用於創建唯一的簽名. 然後,收件人可以使用發件人的公鑰驗證文檔的真實性和完整性. 此過程可確保該文檔尚未篡改並確認簽名者的身份.
- 安全網站的SSL/TLS協議中的鍵交換和建立: 非對稱加密在安全套接字層(SSL)和傳輸層安全性(TLS)協議中起著至關重要的作用,這些協議用於確保用戶瀏覽器和網站之間的數據傳輸. 在最初的握手過程中,不對稱加密用於對稱加密密鑰的安全交換,然後在會話的其餘部分使用該密碼加密並解密數據. 這種方法結合了不對稱加密的安全優勢和對稱加密的速度,以提高效率和安全的通信.
對稱與非對稱加密
不對稱和對稱加密是兩種用於保護數據的主要技術. 對稱加密使用相同的密鑰進行加密和解密,而非對稱加密使用一對鍵:一個公共密鑰加密和私有密鑰進行解密. ELI5:想像一下對稱加密是鎖定並解鎖寶藏的單個鑰匙,而非對稱加密使用兩個鍵 – 鎖定的鑰匙(公共)和解鎖的其他鍵(私有).
在不對稱與對稱加密之間進行選擇可能是一個困難的選擇,因此這裡有一些關鍵差異:
- 速度: 對稱加密通常比不對稱加密要快,因為它需要較少的計算能力,因此適合加密大量數據.
- 密鑰分佈: 在對稱加密中,安全鍵分佈至關重要,因為相同的密鑰用於加密和解密. 不對稱加密簡化了密鑰分佈,因為只有公共密鑰需要共享,而私鑰仍保密.
- 關鍵用法: 對稱加密使用單個共享密鑰進行加密和解密,而不對稱加密採用了一對鍵:一個公共密鑰加密和解密的私鑰.
- 用例: 對稱加密非常適合批量數據加密和封閉系統內的安全通信,而不對稱加密通常用於開放系統中的安全密鑰交換,數字簽名和身份驗證.
- 安全: 由於使用了兩個單獨的鍵,因此認為不對稱加密更為安全,這使攻擊者更難妥協系統. 但是,在使用強大的密鑰管理實踐正確實施時,對稱加密仍然可以提供強大的安全性.
為您的需求選擇正確的加密方法
在對稱和非對稱加密之間進行選擇取決於特定的安全要求和用例. 了解何時使用對稱與不對稱加密對於維持安全通信和保護敏感數據至關重要. 在確定哪種加密方法最適合特定方案時,應考慮關鍵管理,計算效率和所需功能等因素.
何時使用對稱與不對稱加密的三個實際示例:
- 文件加密: 由於其速度和計算效率,對對稱加密是對文件加密的首選,因此它非常適合處理大量數據.
- 安全密鑰交換: 非對稱加密通常用於SSL/TLS等協議中的安全密鑰交換.
- 數字簽名: 非對稱加密適合創建數字簽名,允許用戶對文檔進行身份驗證並使用公共和私有密鑰對驗證其完整性.
常見的對稱加密算法
常見的對稱加密算法廣泛用於保護數據和通信. 這些算法的示例包括高級加密標準(AES),數據加密標準(DES),三重數據加密標準(3DES)和Blowfish.
AES加密或高級加密系統
AES 是當今使用的最常見的對稱加密算法之一,它是為替代過時的DES(數據加密標準)而開發的,在2005年由安全研究人員破裂. 這種新算法試圖解決其前身的主要弱點,這是一個容易受到蠻力的簡短加密密鑰長度.
AES將信息加密在一個塊中(塊密碼)中,並在所謂的“回合”中一次進行一個塊. 最初將數據轉換為塊,然後根據關鍵大小在不同回合中加密這些塊:14發時間為256位,12回合的192次,10發子彈,128位的10發子彈. 該過程涉及一系列數據操作和每輪完成的混合步驟.
池塘和二夫
池塘 是DES的另一個對稱繼任者,設計為像AE一樣的塊密碼,但密鑰長度從32位到448位. 它被設計為公共工具,沒有許可和免費. 此初始版本已升級到 Twofish, 後者的高級版本,該版本使用128位的塊大小,可擴展到256位.
與其他加密算法的主要區別在於,它使用16輪加密,獨立於密鑰或數據大小.
Twofish不被視為頂級對稱算法的主要原因是AES獲得了認可並被製造商迅速採用作為標準,這意味著它具有上層技術優勢.
3DE或三重數據加密標準
最後,直接繼任者 des 是3DE或 三重. 該對稱算法是使用56位鍵來加密數據塊. 它的概念很簡單:它適用於每個信息塊3次,將56位鑰匙三倍地置於168位.
由於應用相同的過程三次,3DES比其更現代的速度慢. 此外,通過使用少量數據,蠻力解密的風險更高.
常見的不對稱加密算法
常見的不對稱加密算法對於安全通信和數據傳輸至關重要. 這些算法的示例包括RSA,Diffie-Hellman和橢圓曲線密碼學(ECC).
RSA或Rivest -Shamir -Adleman
被認為是不對稱加密的主食. RSA由工程師在1977年命名的工程師設計,使用兩個質數的產品分解1024位的加密,最高可達2048位密鑰長度. 根據2010年進行的研究,您需要1500年的計算能力來破解其較小的768位版本!
但是,這意味著它是一種較慢的加密算法. 由於它需要兩個不同的長度鍵,因此加密和解密過程很慢,但是它為敏感信息提供的安全級別是無與倫比的.
ECC或橢圓曲線密碼學
該方法最初是由Neal Koblitz和Victor S在1985年推出的. 米勒,直到數年後的2004年才實施. ECC在有限場上使用基於橢圓曲線的數學操作相當困難,在所謂.
使用ECC,您的曲線由數學功能,起點(a)和曲線中的終點(z)定義. 關鍵是要到達Z,您完成了一系列“ hops”或導致z的乘法. 這一數量的啤酒花是私鑰.
即使您有起點和終點(公共密鑰)和曲線,幾乎不可能破解私鑰. 這是因為ECC是所謂的“陷阱門”,或者是一個易於且易於完成的數學操作,但很難反轉.
ECC或ECDH,一種數學公式的強度,它可以與164位密鑰的安全性匹配1024位密鑰系統. 在其最高設置(512位)中,ECC可以達到15360位RSA密鑰的可比安全性!
要繪製圖片,RSA 2048位鍵是銀行標準,但521位ECC提供了相當於15360位RSA鍵.
考慮到上述事實,ECC被認為是加密的未來. 它是不對稱的,但它能夠以最大521位的最大密鑰長度提供256位的安全級別,從而確保快速加密速度具有高複雜的解密性,以確保敏感數據保持安全.
ECC也對移動功率非常有吸引力,那裡的處理能力很低,數據傳輸很高.
AES vs. RSA:了解關鍵差異
比較AES與. RSA加密方法,必須了解其獨特的優勢和應用至關重要. 雖然AES是一種用於快速數據加密和解密的對稱算法,但RSA是一種非對稱方法,主要用於安全鍵換和數字簽名. 在某些情況下,一個可能勝過另一個,為最佳安全性和效率而言,AES和RSA之間的選擇.
- 確保文件存儲: AE由於其更快的加密和解密速度而受到優選,因此適用於加密大量數據.
- 安全通信: RSA通常用於SSL/TLS協議中的密鑰交換,可確保客戶和服務器之間的數據傳輸渠道.
- 數字簽名: RSA的不對稱屬性使其成為創建和驗證數字簽名,確保數據完整性和身份驗證的理想選擇.
- 流服務: AES通常用於保護流內容,其性能和處理實時加密和解密的能力.
- 電子郵件加密: RSA通常用於加密電子郵件,因為它允許安全鍵交換,確保只有預期的收件人才能解密消息.
哪種數據加密算法是最好的?
好吧,正如您在上面的比較中看到的那樣,這取決於. 對於某些人來說,最好的意思可能最受歡迎,但是對於其他人來說,它可能是最便宜的. 因此,以避免對所有算法及其最佳素質進行快速回顧,而不是說哪一個是最常用或最低的採用價格:
AE(對稱)
AES是最常用的算法之一. 它很快,具有可變的鍵長度選項,可為其提供額外的安全性. 當處理大量加密數據時,這是理想的選擇.
Twofish(對稱 – 以前的溝渠)
Twofish的主要吸引力是它的性能靈活性,使您完全控制加密速度.
3DE(對稱)
儘管與AES相比,其速度較慢,並且通常過時的狀態,但它仍在金融服務中廣泛使用以加密ATM引腳和UNIX密碼.
RSA(不對稱)
由於其速度不方便地處理大量數據,因此RSA加密主要用於數字簽名,電子郵件加密,SSL/TLS證書和瀏覽器.
ECC(不對稱)
低成本,低影響,高安全性組合使其成為保護敏感的手機和應用的理想標準. 這可能是未來的算法.
要點
加密是現代網絡安全的重要方面,由於其多方面的性質而顯得令人生畏. 數據的無所不知需要在各種狀態和場景上進行保護,包括靜止數據和運輸中的數據. 必須仔細評估涉及敏感信息的訪問要求,傳輸方法以及相互作用的性質,以確保實施適當的加密措施,從而保護數據的機密性和完整性.
您可能正在加密企業的通信,網絡瀏覽器信息,電子商務交易,公司的數據庫,硬盤驅動器或客戶和用戶數據. 採取第一步似乎很困難,但是有必要記錄所有數據互動並製定計劃. 這樣,您將了解需要哪些類型的加密.
幸運的是, 有許多直接的加密工具已經可以使用,隨時可以快速激活數據安全協議的範圍. MacOS上的FileVault集成並準備使用AES加密您的Mac計算機. 獵物可以使用Bitlocker和AES來幫助Microsoft計算機,向您的設備提供磁盤加密. 如果您有遠程勞動力,這是理想的選擇. 數據是遠程加密的,因此您不必擔心麻煩,但可以確保您的公司安全.