對稱加密演算法 長期有效的加密

2021-10-11 04:44:16 字數 2821 閱讀 9463

對稱加密演算法:長期有效的加密(上)

本期我們將分為兩個章節去探索對稱金鑰演算法,這是無處不在的對稱加密,就像星際迷航中的小問題一樣。

對稱加密演算法是實現安全通訊的基本過程,是資訊保安不可或缺的部分,它可以幫助客戶安全地以比光速還快的速度對資料進行加密。

什麼是對稱演算法及其工作原理?

對稱演算法是對稱金鑰加密的核心加密功能。它是計算機執行與加密和解密資料有關的特定任務時遵循的一組指令或步驟。

這要怎麼理解呢?

我們使用對稱加密演算法(與加密金鑰結合)來完成兩個主要任務:

加密:將可讀文字(純文字)轉換為不可讀的加密文字(密文);

解密:將密文轉換回純文字。

對稱加密演算法對加密和解密使用相同的加密金鑰。(與使用兩個不同金鑰的非對稱加密演算法不同。)

通常,加密演算法是基於數學原理的,取決於其設計,其範圍可以從非常簡單到非常複雜。對於對稱加密演算法,將它們與單個金鑰配對以將可讀(明文)資料轉換為難以理解的亂碼(密文)。然後他們使用相同的金鑰將密文解密回純文字。所有這些都是以確保資料機密性和私隱性的方式完成的。看起來是不是有點拗口?但是非常地酷。

實際上,對稱加密演算法有幾種不同的名稱:

· 對稱金鑰演算法,

· 對稱加密演算法,

· 金鑰演算法,以及

· 大容量密碼。(稍後我們將進一步討論批量密碼。)

通常,加密的目的就是為了加密,這樣唯一乙個擁有金鑰的人才能解密和讀取秘密訊息。具體的操作可以快速瀏覽下圖:

此示例訊息是使用aes 128對稱加密演算法加密的。這裡的目的只是向你展示對稱密碼術的工作原理。

在上圖中,從左向右移動,你將看到以純文字可讀資料開頭。一旦將對稱加密演算法和金鑰應用於該資料,它便成為無法讀取的密文。解密該訊息以解密其含義的方法是使用解密金鑰。在對稱加密的情況下,解密金鑰與用於加密資料的金鑰相同。基本上,你兩次使用相同的金鑰。

對稱加密演算法實際上是做什麼的?

簡而言之,對稱演算法是密碼學中的一組指令,它們使用乙個金鑰來加密和解密資料。這些加密演算法和金鑰是輕量級的,因為它們旨在提高處理大型資料塊或資料流的速度。(這就是為什麼對稱加密演算法被稱為批量密碼的原因。)

另一方面,非對稱金鑰演算法和金鑰是資源的消耗者。金鑰需要占用大量的cpu處理資源和時間,還有電池電量以及要執行的頻寬。

但是,它非常適合加密公共通道中的小批量資料。非對稱金鑰交換(稍後將詳細討論)是在哪些不安全的公共渠道中分發金鑰的好方法。

這就是為什麼人們經常使用對稱加密來編碼大量資料的原因。

是什麼決定了對稱加密演算法的強度?

你是不是很快發現,並非所有對稱演算法都是平等建立的。它們的強度會有所不同。那麼強度在密碼學中到底意味著什麼?簡單的理解是,加密強度就是黑客破解加密以獲取資料訪問權的難易程度。當然,具體的答案可能會根據你評估的演算法型別而異。但是,總的來說,加密強度通常可以歸結為以下幾個關鍵特徵:

· 對稱金鑰的長度,隨機性和不可**性;

· 該演算法抵抗或抵抗已知攻擊的能力;

· 缺少後門或其他故意漏洞。

對稱加密可能有點平衡,因為你需要演算法和金鑰,這些演算法和金鑰在計算上既困難又實用,可以以可接受的效能使用。

因此,當我們最初連線mesign.com時,我們的瀏覽器必須與mesign的伺服器執行稱為tls握手的過程。這種握手是伺服器向瀏覽器證明它是合法的而不是冒名頂替者的一種方式。握手過程使用非對稱加密和非對稱金鑰交換過程。

· 非對稱加密過程會驗證數字簽名。

· 非對稱金鑰交換過程會加密瀏覽器和web伺服器將用來建立對稱會話金鑰的主金鑰。

當然,握手有幾個版本-tls 1.0,tls 1.2,tls 1.3-並且它們的工作方式存在特定差異。(例如,網際網路工程任務組[ietf]要求嚴格使用tls 1.3中的僅前向安全密碼,當然這個話題我們不在這裡展開討論。)但要知道,應該至少要使用tls1.2握手。截至2023年10月,qualys ssl labs報告稱99%的站點支援tls 1.2協議,而39.8%的站點支援tls 1.3協議。

我們不會在這裡詳細介紹tls握手的工作原理,但是我們得它涉及密碼套件的使用。這些密碼組合通過確定使用以下幾種方式,建立安全的https連線:

· 協議(tls)

· 非對稱金鑰交換演算法(例如diffie-hellman)

· 批量加密密碼

· 數字簽名

· 雜湊函式(例如sha2-2)

· 訊息驗證碼(mac)功能

兩種對稱演算法(密碼)

在安全地連線到**時進行對稱加密的過程中,我們通過使用批量密碼來實現。批量密碼有兩個子類別:分組密碼和流密碼。

分組密碼

在這種型別的密碼中,明文資料分為固定長度的位組(稱為塊),然後將每個塊作為乙個單元進行加密,這會使此過程變慢。如果沒有足夠的資料來完全填充乙個塊,則使用「填充」(通常商定的0位數)來確保這些塊滿足固定長度要求。

理想的分組密碼具有很大的金鑰長度,這是不切實際的,因此許多現代密碼必須縮減金鑰的長短度才能使用。但請注意:與非對稱加密不同的是,對稱加密金鑰的大小並不能決定資料塊的大小。

大多數現代對稱加密演算法都屬於塊密碼陣營,並且這些型別的密碼具有更廣泛的用途和應用機會。因此,我們主要在這裡重點介紹它們。還有最流行或最常用的流密碼是什麼,接著我們來講。

流密碼使用這種型別的密碼,它一次加密一位明文資料。這樣,資料將在流之中而不是像塊密碼那樣按塊進行處理。這使該過程的資源消耗更少,並且可以更快地實現。

現在,我們將不討論分組密碼和流密碼的所有細節,未來幾周的時間內可能會出分解分組密碼和流密碼的文章,到時候再來留意吧。

說到這裡,可能有人覺得興奮,有人卻開始覺得複雜。使用共享金鑰加密時,有幾種眾所周知的對稱金鑰演算法需要知道。讓我們徹底解析它們,以了解它們是什麼以及它們是如何工作的。(下文見)

對稱加密演算法 非對稱加密演算法

對稱加密演算法 對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,資料發信方將明文 原始資料 和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文...

對稱加密演算法 DES加密演算法

一 對稱加密演算法 對稱加密也稱為常規加密 私鑰或單鑰加密。乙個對稱加密由5部分組成 明文 plaintext 這是原始資訊或資料,作為演算法的輸入。加密演算法 encryption algorithm 加密演算法對明文進行各種替換和轉換。金鑰 secret key 金鑰也是演算法的輸入。演算法進行...

對稱加密演算法

缺點 演算法 說明des 資料加密標準 用的少,因為強度不夠 3des 使用3個金鑰,對相同的資料執行三次加密,強度增強 aes高階加密標準,目前美國 局使用的 蘋果的鑰匙串訪問採用的是 aes 加密 ecb 加密 openssl enc des ecb k 616263 nosalt in msg...