我的第一本算法書--安全加密

1. 互聯網傳輸時發生的四個主要問題

a. 竊聽

A向B發送消息,有可能被X監聽到;

b. 假冒

A向B發送消息,然而B有可能是X冒充的,反之,B向A發送消息,也有可能是X冒充的;

c. 篡改

A向B發送消息,B收到的消息有可能是被X篡改過的;

d.時候否認

A向B發送消息,但A對B有惡意,A否認發送了消息給B;

爲了解決第一個問題會使用加密技術,第二個、第三個問題會使用消息驗證碼MAC或數字簽名,第四個問題會使用數字簽名,

然而數字簽名技術存在“無法確認公開密鑰的製作者”,要想解決這個問題就要引入“數字證書CA”。

2. 哈希函數

哈希函數可以把給定的數據轉化成固定長度的無規律數值,哈希函數具備不可逆轉的計算,所以其數值摘要可以應用於各種各樣的場景。

3. 密鑰

密鑰有兩種:分別爲“共享密鑰加密”---對稱密鑰,“公開密鑰加密”---非對稱密鑰;

a. 共享密鑰加密是加密和解密使用相同密鑰的一種方式,由於加、解密密鑰相同,所以這種算法也叫做“對稱加密”;

b. 公開密鑰加密是加密和解密使用不同密鑰的一種方式,加密用的密鑰叫做“公開密鑰”,解密用的密鑰叫做“私有密鑰”,公開密鑰是不怕別人知道的,所以公開密鑰會發布到網上供對方用於數據的加密使用,而私有密鑰是保密的,是不被其他人知道。

4. 公開密鑰可靠性問題

a. 假設A生成公開密鑰PA、私有密鑰SA,B生成公開密鑰PB、私有密鑰SB,壞人X也生成公開密鑰PX、私有密鑰SX,A要向B傳送數據,首先A要獲得B的公開密鑰PB,假設在獲取的過程中被X監聽到了,X將自己的公開密鑰PX代替了B的公開密鑰PB(同樣也可以替換A發送給B的公開密鑰),所以A發送的加密數據能夠被X通過密鑰SX解密,因爲X能夠獲取到B的公開密鑰,所以X可以將A發過來的數據解密之後發送給B,B收到信息通過SB私有密鑰解密,然後將數據通過X的公開密鑰PX進行加密返回給A,由於公開密鑰使用的是X的,所以數據只能被X通過PX私有密鑰進行解密,X將解密收的數據通過A的公開密鑰PA加密在發送給A...A和B的整個過程都被X監聽到了,這就帶來了傳輸的不可靠性!因爲A不知道加密消息是B傳來的,或者B不知道加密消息是A傳來的,爲了解決這個問題就要用到“數字證書”。

5. 混合加密

      共享密鑰加密存在無法安全傳輸,而公開密鑰有存在加密速度比較慢的問題,綜合這兩種情況而引入了“混合加密”技術;混合加密的原理是,數據加密採用較快的共享密鑰加密,不過加密使用的密鑰則需要使用沒有密鑰分配爲的公開密鑰。

6. 迪菲-郝爾蠻密鑰交換

時間問題,先省略。。。

7. 消息認證碼

消息認證碼可以實現“認證”和“篡改”這兩個功能,。。。。

8.數字簽名

 

9.數字證書

 

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