加密解密及安全網路通訊模型

2021-08-15 02:33:37 字數 2805 閱讀 2555

一、前言

加密技術是一門古老而深奧的學科,長期以來,都應用在很小的範圍,如軍事、外交、情報等部門。

西元前405年,斯巴達的將領就使用了原始的錯亂密碼;公元1世紀,羅馬皇帝凱撒就使用了有序的單錶代替密碼。中國古代出現的「符」,也是一種資料加密的方法。

20世紀初,電子通訊技術的發展,尤其是兩次世界大戰中,密碼通訊和第三方解密的較量更為激烈。

那什麼是加密和解密呢?簡單來說:

加密,即採用一些方式對資料進行處理後,使資料從表面上看,已經不能表達出原有的意思。

解密,就是對加密過的資料採用某些方法,去還原原有資料面貌,從而了解所包含資訊的真實意圖。

二、名詞解釋

明文:待加密的報文

密文:加密後的報文

金鑰:加密過程中或解密過程中輸入的資料

演算法:將明文和金鑰相結合進行處理,生成密文的方法,叫加密演算法;或將密文和金鑰相結合進行處理,生成明文的方法,叫解密演算法。

三、加密技術分類

(一)單向加密

將資料進行計算變成另一種固定長度的值,而且這種行為不可逆。

這種加密演算法具備幾個特點:

定長輸出,碰撞機率極低

相同訊息反覆加密獲得同樣的密文

雪崩效應,即使微小的單個位元組的變化,也能引起加密結果的巨大變化

密文不可逆,即從密文不可以推出原明文。

常用演算法

md5、sha1、、sha256、sha384、sha512

(二)對稱加密技術

使用同乙個金鑰,對資料映象加密和解密,這種加密技術,稱為對稱加密。

常用演算法:

des,3des,idea,aes

優點

演算法公開、計算量小、加密速度快、加密效率高

缺點

不同通訊雙方使用不同金鑰,導致金鑰過多,難以管理

通訊雙方金鑰交換,無法保證安全

無法驗證傳送者和接受者身份

資料完整性無法保證

(三)非對稱加密技術

public-key cryptography,即公開金鑰加密,又稱非對稱加密。在這個加密過程中,需要一對金鑰,不公開的金鑰稱為私鑰,公開的那乙個金鑰稱為公鑰。

常用演算法:

rsa,dsa,eigamal

優點

金鑰數目較少。

從一對金鑰中的任何乙個金鑰都不能計算出另乙個金鑰。

使用一對金鑰中的任何乙個加密,只有另乙個金鑰才能解密。如果截獲公鑰加密資料,沒有私鑰也無法解密。

缺點

演算法複雜,加密解密速度要慢

金鑰交換也不是非常安全

應用場景

1、a和b之間通訊,首先互相傳送各自的公鑰給對方

2、a發資料給b,a將用b的 公鑰加密 資料後傳送給b

3、b收到這個資料後,b使用自己的私鑰來解密資料。其他人截獲了a發出的資料也沒有用,他沒有私鑰。

注:如果2、3步驟中,a發給b的用b公鑰加密的資料被c掉包,即使a的資料中,有自己資料的指紋資訊,但是由於b的公鑰是公開的,任何人都能獲取b的公鑰,c就可以做乙個一樣格式的資料報給b。b無法驗證這就是a發過來的。

4、如果a用自己的 私鑰加密 資料後,傳送給b

5、b使用a的公鑰解密資料成功,就能證明這段資料資料確實是a是傳送者。

身份認證:  

以上步驟4、5中使用私鑰加密後發布資料,資料的接受者可以使用發布者的公鑰來驗證資料的完整性,接受者由此可知這條資訊確實來自私鑰擁有者,這也被稱為數字簽名。解決了資料的不可否認性。

四、安全網路通訊模型

從以上的介紹中可以看出,各種加密演算法都有其特點和適用性:

那麼,就需要一種通訊模型能夠揚長避短,解決通訊安全的問題,於是便有了下面的模型:

通訊工作流程

1、傳送者a準備好資訊明文。

2、傳送者a對資訊進行雜湊運算(單向加密演算法),得到乙個資訊摘要。

3、傳送者a使用自己的私鑰(sk)對資訊摘要進行加密,即數字簽名,之後將其附件在傳送的資訊上。(實現不可否認性)

4、傳送者a隨機生成乙個對稱加密金鑰,並使用它對傳送的資訊包括摘要進行對稱加密,生成密文。

5、傳送者a再使用接收方的公鑰(pk)對第4步使用的隨機對稱金鑰進行加密,之後將其附加至第4步生成的密文上,一併發給接收者b。

6、接收者b收到傳送者a的密文後,首先使用自己的私鑰(sk)解密出對稱加密的金鑰。

7、接收者b使用對稱金鑰解密密文,得到附加摘要的資訊明文。

8、接收者b使用傳送者的公鑰(pk)解密摘要,獲得雜湊值

9、接收者b使用同樣的雜湊演算法再次對資訊明文計算,得到新的資訊摘要,與解密後的摘要比對,如果一致,則說明收到的資訊明文未被篡改。(保證資料完整性)

五、總結

以上的通訊模型很好的解決了資料完整性、不可否認性,但這個模型的依賴的關鍵點是雙方公鑰。

這個模型中雙方公鑰**無法驗證,而且在通訊前,如何獲得每個人的可信任的公鑰也成了整個系統的關鍵。

因此,需要一套系統,能夠解決以上存在的種種問題:身份認證、資料完整性、金鑰交換、操作的不可否認性,它就是pki。

**

加密解密及安全網路通訊模型

一 前言 加密技術是一門古老而深奧的學科,長期以來,都應用在很小的範圍,如軍事 外交 情報等部門。西元前405年,斯巴達的將領就使用了原始的錯亂密碼 公元1世紀,羅馬皇帝凱撒就使用了有序的單錶代替密碼。中國古代出現的 符 也是一種資料加密的方法。20世紀初,電子通訊技術的發展,尤其是兩次世界大戰中,...

安全網路通訊SSL

ssl secure socket layer 是netscape公司開發的,用資料加密技術來保障internet上資料傳輸的安全,保證資料在傳輸過程中不會被擷取和竊聽。ssl協議位於tcp ip協議與各種應用層協議之間,為資料通訊提供安全支援。ssl協議分為兩層 1 ssl記錄協議,建立在可靠的傳...

用OpenSSL結合ACE 做安全網路通訊

1 ssl x509證書工作原理參考 1.1 公鑰密碼系統 在公鑰密碼系統中,加密與解密使用不同的金鑰。其中乙個金鑰為個人私有掌管,稱之為私鑰,另乙個金鑰是對外公開的,大家都可以獲取到。公鑰密碼系統的一大特點 用公鑰加密的報文只有私鑰才能解密。同樣,用私鑰加密的報文只有公鑰才能解密。ssl證書由兩部...