金融安全算法介紹系列2——對稱算法

前言:

爲了方便查看博客,特意申請了一個公衆號,附上二維碼,有興趣的朋友可以關注,和我一起討論學習,一起享受技術,一起成長。

在這裏插入圖片描述


1. 定義

對稱算法: 加密和解密使用相同密鑰的加密算法。對稱加密算法用來對敏感數據等信息進行加密,加解密過程互逆。常用的算法包括 DES、3DES、AES、DESX、Blowfish、RC4、RC5、RC6。這種加密方式加密速度非常快,適合經常發送數據的場合。缺點是密鑰的傳輸比較麻煩。

在這裏插入圖片描述
各部分介紹:

定義 解釋
信息明文 未經加密的信息
密鑰Key 加密明文信息的密碼,在對稱加密算法中,加密與解密的密鑰是相同的。密鑰爲接收方與發送方協商產生,但不可以直接在網絡上傳輸,否則會導致密鑰泄漏,通常是通過非對稱加密算法加密密鑰,然後再通過網絡傳輸給對方,或者直接面對面商量密鑰。密鑰是絕對不可以泄漏的,否則會被攻擊者還原密文,竊取機密數據。
加密函數 把明文和密鑰作爲加密函數的參數輸入,加密函數會輸出密文
信息密文 經過加密的信息
解密函數 把密文和密鑰作爲解密函數的參數輸入,則解密函數會輸出明文信息

2. 特點

優點: 對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高。

缺點:交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,密鑰管理成爲用戶的負擔。對稱加密算法在分佈式網絡系統上使用較爲困難,主要是因爲密鑰管理困難,使用成本較高。

3. 分類

3.1 DES算法

3.1.1 定義

DES:(Data Encryption Standard)即數據加密算法。DES 算法的入口參數有三個:Key、Data、Mode。其中 Key 爲 8 個字節共 64 位,是 DES 算法的工作密鑰;Data 也爲 8 個字節 64 位,是要被加密或被解密的數據;Mode 爲 DES 的工作方式,有兩種:加密或解密。數據加密標準是對稱加密算法領域中的典型算法。

在這裏插入圖片描述

3.1.2 算法原理

DES 算法把 64 位的明文輸入塊變爲 64 位的密文輸出塊,它所使用的密鑰也是 64 位,其算法主要分爲兩步:

(1)初始置換

把輸入的 64 位數據塊按位重新組合,並把輸出分爲 L0、R0 兩部分,每部分各長 32 位。即將輸入的 64 位明文的第 1 位置換到第 40 位,第 2 位置換到第 8 位,第 3 位置換到第 48位。以此類推,最後一位是原來的第 7 位。置換規則是規定的。L0(Left) 是置換後的數據的前 32 位,R0(Right) 是置換後的數據的後32位。例如:設置換前的輸入值爲 D1D2D3……D64,則經過初始置換後的結果爲:L0 = D58D50……D8;R0 = D57D49……D7。

在這裏插入圖片描述
(2)逆置換

經過 16 次迭代運算後,得到 L16、R16,將此作爲輸入,進行逆置換,逆置換正好是初始置換的逆運算,由此即得到密文輸出。

補:五種分組模式: EBC模式 ;CBC模式 ; CFB模式 ;OFB模式 ;CTR模式 。

特點:密鑰偏短(56位)、生命週期短(避免被破解)。

3.2 3DES算法

3DES:是三重數據加密算法(TDEA,Triple Data Encryption Algorithm)塊密碼的通稱。將密鑰長度增至 112 位或 168 位,通過增加迭代次數提高安全性。

在這裏插入圖片描述

缺點:處理速度較慢、密鑰計算時間較長、加密效率不高。

3.3 AES算法

AES:高級數據加密標準,能夠有效抵禦已知的針對 DES 算法的所有攻擊。

AES 的加密也是由多個輪組成的,分爲 4 輪,SubBytes(變換)、ShiftRows9(移行操作)、MixColumns(混行操作)、AddRoundKey (異或運算)這 4 步,即 SPN 網絡。

特點:密鑰建立時間短、靈敏性好、內存需求低、安全性高。

比較:

算法 密鑰長度 默認密鑰長度
DES 56 56
3DES 112、168 168
AES 128、192、256 128

DES 是一種分組數據加密技術(先將數據分成固定長度的小數據塊,之後進行加密),速度較快,適用於大量數據加密。3DES 是一種基於 DES 的加密算法,使用 3 個不同密匙對同一個分組數據塊進行 3 次加密,如此以使得密文強度更高。相較於 DES 和 3DES 算法而言,AES 算法有着更高的速度和資源使用效率,安全級別也較之更高了。


參考:

1.AES加密算法的詳細介紹與實現
2.對稱加密算法DES、3DES和AES
3.關於對稱加密算法和非對稱加密算法
4.關於對稱加密算法與非對稱加密算法
5.詳解DES/3DES/AES 三種對稱加密算法在 Java 中的實現
6.對稱加密算法DES、3DES和AES
7.白話解釋 對稱加密算法 VS 非對稱加密算法
8.漫遊對稱加密算法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章