常見的加密演算法 原理 優缺點 用途

2022-09-10 12:39:13 字數 3465 閱讀 4950

1、資料的保密性,防止使用者的資料被竊取或洩露

2、保證資料的完整性,防止使用者傳輸的資料被篡改

3、通訊雙方的身份確認,確保資料**與合法的使用者

在加密傳輸中最初是採用對稱金鑰方式,也就是加密和解密都用相同的金鑰。

1.對稱加密演算法採用單金鑰加密,在通訊過程中,資料傳送方將原始資料分割成固定大小的塊,經過金鑰和加密演算法逐個加密後,傳送給接收方

2.接收方收到加密後的報文後,結合解密演算法使用相同金鑰解密組合後得出原始資料。

是效率高,演算法簡單,系統開銷小,適合加密大量資料。

安全性差加解密演算法是公開的,因此在這過程中,金鑰的安全傳遞就成為了至關重要的事了。而金鑰通常來說是通過雙方協商,以物理的方式傳遞給對方,或者利用第三方平台傳遞給對方,一旦這過程出現了金鑰洩露,不懷好意的人就能結合相應的演算法攔截解密出其加密傳輸的內容。

擴充套件性差

每對通訊使用者之間都需要協商金鑰,n個使用者的團體就需要協商n*(n-1)/2個不同的金鑰,不便於管理;而如果都使用相同金鑰的話,金鑰被洩漏的機率大大增加,加密也就失去了意義。

3des:三重資料加密演算法,對每個資料塊應用三次des加密演算法。

aes:高階加密標準演算法,是美國聯邦**採用的一種區塊加密標準,用於替代原先的des,目前已被廣泛應用。

blowfish:blowfish演算法是乙個64位分組及可變金鑰長度的對稱金鑰分組密碼演算法,可用來加密64位元長度的字串。

非對稱加密演算法採用公鑰和私鑰兩種不同的密碼來進行加解密。公鑰和私鑰是成對存在,公鑰是從私鑰中提取產生公開給所有人的,如果使用公鑰對資料進行加密,那麼只有對應的私鑰(不能公開)才能解密,反之亦然。n 個使用者通訊,需要2n個金鑰。

非對稱金鑰加密適合對金鑰或身份資訊等敏感資訊加密,從而在安全性上滿足使用者的需求。

1.甲使用乙的公鑰並結合相應的非對稱演算法將明文加密後傳送給乙,並將密文傳送給乙。 

2.乙收到密文後,結合自己的私鑰和非對稱演算法解密得到明文,得到最初的明文。

具有比對稱金鑰加/解密方式更高的安全性,因為加密和解密用的是不同金鑰,而且無法從乙個金鑰推導出另乙個金鑰,且公鑰加密的資訊只能用同一方的私鑰進行解密。

1.非對稱金鑰加密的缺點是演算法非常複雜,導致加密大量資料所用的時間較長,只適合對少量資料進行加密。而且由於在加密過程中會新增較多附加資訊,使得加密後的報文比較長,容易造成資料分片,不利於網路傳輸。

2.無法確認公鑰的**合法性以及資料的完整性。如何確認我們接下來會說

單向加密演算法只能用於對資料的加密,無法被解密,其特點為定長輸出、雪崩效應(少量訊息位的變化會引起資訊摘要的許多位變化)。

單向加密演算法常用於提取資料指紋,驗證資料的完整性、數字摘要、數字簽名等等。

1.傳送者將明文通過單向加密演算法加密生成定長的密文串,然後傳遞給接收方。

2.接收方將用於比對驗證的明文使用相同的單向加密演算法進行加密,得出加密後的密文串。

3.將之與傳送者傳送過來的密文串進行對比,若傳送前和傳送後的密文串相一致,則說明傳輸過程中資料沒有損壞;若不一致,說明傳輸過程中資料丟失了。

md5、sha1、sha224等等

金鑰交換ike(internet key exchange)通常是指雙方通過交換金鑰來實現資料加密和解密

將公鑰加密後通過網路傳輸到對方進行解密,這種方式缺點在於具有很大的可能性被攔截破解,因此不常用

dh演算法是一種金鑰交換演算法,其既不用於加密,也不產生數字簽名。

dh演算法通過雙方共有的引數、私有引數和演算法資訊來進行加密,然後雙方將計算後的結果進行交換,交換完成後再和屬於自己私有的引數進行特殊演算法,經過雙方計算後的結果是相同的,此結果即為金鑰。

a 有p和g兩個引數,a還有乙個屬於自己的私有引數x;

b 有p和g兩個引數,a還有乙個屬於自己的私有引數y;

a和b均使用相同的加密演算法計算其對應的值:value_a=p^(x%g),value_b=p^(y%g)

隨後雙方交換計算後的值,然後再分別使用自己的私有引數對去求次方,如:

a拿到value_b值後,對其求x平方得value_b^x=p^(xy%g);

b拿到value_a值後,對其求y平方得value_a^y=p^(xy%g);

最終得到的結果是一致的。

安全性

在整個過程中,第三方人員只能獲取p、g兩個值,ab雙方交換的是計算後的結果,因此這種方式是很安全的。

公鑰基礎設施是乙個包括硬體、軟體、人員、策略和規程的集合

用於實現基於公鑰密碼機制的金鑰和證書的生成、管理、儲存、分發和撤銷的功能

簽證機構ca、序號產生器構ra、證書吊銷列表crl和證書訪問庫cb。

公鑰證書是以數字簽名的方式宣告,它將公鑰的值繫結到持有對應私鑰的個人、裝置或服務身份。公鑰證書的生成遵循x.509協議的規定,其內容包括:證書名稱、證書版本、序列號、演算法標識、頒發者、有效期、有效起始日期、有效終止日期、公鑰 、證書簽名等等的內容。

1.客戶a準備好要傳送的數字資訊(明文)。(準備明文)

2.客戶a對數字資訊進行雜湊(hash)運算,得到乙個資訊摘要。(準備摘要)

4.客戶a隨機產生乙個加密金鑰(des金鑰),並用此金鑰對要傳送的資訊進行加密,形成密文。 (生成密文)

5.客戶a用雙方共有的公鑰(pk)對剛才隨機產生的加密金鑰進行加密,將加密後的des金鑰連同密文一起傳送給乙。(非對稱加密,用公鑰對des金鑰進行加密)

6.銀行b收到客戶a傳送過來的密文和加過密的des金鑰,先用自己的私鑰(sk)對加密的des金鑰進行解密,得到des金鑰。(用私鑰對des金鑰解密)

7.銀行b然後用des金鑰對收到的密文進行解密,得到明文的數字資訊,然後將des金鑰拋棄(即des金鑰作廢)。(解密文)

8.銀行b用雙方共有的公鑰(pk)對客戶a的數字簽名進行解密,得到資訊摘要。銀行b用相同的hash演算法對收到的明文再進行一次hash運算,得到乙個新的資訊摘要。(用公鑰解密數字簽名)

9.銀行b將收到的資訊摘要和新產生的資訊摘要進行比較,如果一致,說明收到的資訊沒有被修改過。(對比資訊摘要和資訊)

答案是沒法保證ca的公鑰沒有被篡改。通常作業系統和瀏覽器會預製一些ca證書在本地。所以傳送方應該去那些通過認證的ca處申請數字證書。這樣是有保障的。

但是如果系統中被插入了惡意的ca證書,依然可以通過假冒的數字證書傳送假冒的傳送方公鈅來驗證假冒的正文資訊。所以安全的前提是系統中不能被人插入非法的ca證書。

常見加密演算法及常見加密演算法簡述

通訊雙方即a與b,a傳送資料給b 加密過程 解釋 即便第三方將a傳送給b的資料截獲了,也無法破解資料,因為想要解密密文資料,就需要知道對稱秘鑰,想得到對稱秘鑰就需要知道b的私鑰,其他人是沒有b的私鑰的,所以通過這種方式保證了資料的私密性。如果保管b的私鑰,不是這裡要考慮的問題了 解密過程 以上僅是點...

加密演算法優缺點及適用場景整理

des 演算法 一種典型的塊加密方法,將固定長度的明文通過一系列複雜的操作變成同樣長度的密文,塊的長度為64位。同時,des 使用的金鑰來自定義變換過程,因此演算法認為只有持有加密所用的金鑰的使用者才能解密密文。des 的金鑰表面上是64位的,實際有效金鑰長度為56位,其餘8位可以用於奇偶校驗。de...

常見加密演算法

常見用於保證安全的加密或編碼演算法如下 1 常用金鑰演算法 金鑰演算法用來對敏感資料 摘要 簽名等資訊進行加密,常用的金鑰演算法包括 des data encryption standard 資料加密標準,速度較快,適用於加密大量資料的場合 3des triple des 是基於des,對一塊資料用...