1. 程式人生 > >[svc]對稱加密/非對稱加密細枝末節-如何做到數據傳輸的authentication/data integrity/confidentiality(私密)

[svc]對稱加密/非對稱加密細枝末節-如何做到數據傳輸的authentication/data integrity/confidentiality(私密)

ecc 數據完整性 安全 post 數字簽名 .html 模式 數字證書 大量

對稱/非對稱/混合加密的冷知識

數據在互聯網上傳輸,要考慮安全性. 講到安全,要從三方面考慮:

  • 1、authentication 每一個IP包的認證,確保合法源的數據
  • 2、data integrity 驗證數據完整性,保證在傳輸過程中沒有被人為改動
  • 3、confidentiality (私密性)數據包的加密

技術分享圖片

下面談談如何對數據加密. 於是有了非對稱加密

對稱加密

對稱加密算法---使用一把密匙來對信息提供安全的保護。只有一個密匙,即用來加密,也用來解密

特點:
- 1、速度快
- 2、密文緊湊
- 3、用於大量數據的傳送

對稱加密代表:DES、3DES、AES

3DES--有三個密匙,用第一個密匙加密,用第二個密匙解密,再用第三個密匙加密

技術分享圖片

技術分享圖片

他有個致命的缺點, 密鑰傳輸問題.

非對稱加密

他有個好處, 公鑰隨便扔給對方,讓對方去加密數據,發給我, 我用我的私鑰來解密.

不得不說公鑰和私鑰是一對情侶,你在我在,你亡我亡,你系的鈴世上只有我能解.

技術分享圖片


- 加解密如何操作? 非對稱加密: 有一對密匙,一個叫公匙,一個叫私匙,如果用其中一個加密,必須用另一個解密。

- 非對稱加密有什麽特點?

- 1、速度慢
- 2、密文不緊湊
- 3、通常只用於數字簽名,或加密一些小文件。

- 非對稱加密常見的算法有哪些? RSA、ECC

- 非對稱加密常見操作模式有? 
非對稱加密代表RSA--有一對密匙,一個公匙,一個私匙,私匙加密,公匙解密,或者公匙加密,私匙解密

非對稱加密可以有兩種應用:
- 1、公鑰加密,私鑰解密,叫加密
- 2、私鑰加密,公鑰解密,叫數字簽名


他也有個致命的弱點. 加密速度超慢.

混合加密- 理想的應用方法

技術分享圖片

- 用非對稱加密法來傳送對稱加密的密匙。
- 用對稱加密法來加密實際的數據。

數字簽名不但證明了消息的內容,還證明了發送方的身份。
密鑰化的HASH--使用密鑰對生成的消息摘要進行加密時,被稱為加密的消息摘要。

說到這裏,或許還是雲裏霧裏,到底是不是那回事呢,使用openssl實操下 體驗下對稱加密和非對稱加密.

使用openssl實現對數據的對稱/非對稱加密實操

認證機制(可靠性)和散列機制(完整性)

認證機制(這裏所指的是設備的認證,而不是用戶的認證)

現代的基本加密技術要依賴於消息之目標接收者已知的一項秘密,關鍵的問題是如何保障密鑰的安全。

- 1、用戶名和密碼
- 2、OTP(one time password)一次性密碼
- 3、生物認證(指紋、眼膜)
- 4、預共享密鑰
- 5、數字證書
- 6、加密臨時值

散列機制--用來做完整性檢驗

散列函數(就是HASH)--把一大堆數據經過計算得到一個較小的、定長的值,散列是一種不可逆函數。這意味著一旦明文生成散列,就不可能或者說極端困難再將其由散列轉換成明文。

HASH的特點:
- 1、不管輸入什麽數據,輸出是定長的
- 2、只要輸入有一點微小變化,輸出就會發生很大的變化,也就是雪崩效應
- 3、不可逆

## HASH的算法:
- 1、md5  提供128位的輸出 md5是驗證,不是加密技術,用來做哈希
- 2、SHA  提供160位的輸出

HMAC--使用散列的消息認證編碼,或者叫密鑰化的HASH,是一種使用HASH來進行認證的機制。可以用來做預共享密鑰的認證。

[svc]對稱加密/非對稱加密細枝末節-如何做到數據傳輸的authentication/data integrity/confidentiality(私密)