密碼技術科普

2021-08-20 15:22:39 字數 1731 閱讀 8443

密碼學家的六個工具:對稱密碼,公鑰密碼,單向雜湊函式,訊息認證碼,數字簽名,偽隨機數生成器。

單向雜湊函式(也稱訊息摘要):

單向雜湊函式可以實現完整性的檢查,可以辨別出「篡改」,但無法辨別出「偽裝」。

當我們不僅需要確認訊息的完整性,同時還需要確認訊息是否真的來自傳送者,緊靠完整性檢查是不夠的,還需要進行「認證」。

訊息的完整性(integrity),指「訊息沒有被篡改」這一性質,完整性也叫一致性。

訊息的認證(authentication)指的是「訊息來自正確的傳送者」這一性質。

用於認證的技術包括「訊息認證碼」和「數字簽名」。

訊息認證碼能夠向通訊物件保證訊息沒有被篡改以及非攻擊者所偽裝。

數字簽名不僅能向通訊物件保證訊息沒有被篡改以及非攻擊者所偽裝,還能夠向所有第三方作出這樣的保證。

認證需要使用金鑰,也就是通過對訊息附加傳送者的金鑰,來確保訊息真的來自傳送者。

訊息認證碼( message authentication code)簡稱 mac 是一種確認完整性並進行認證的技術。

mac的輸入包括任意長度的訊息和乙個傳送者與接收者之間共享的金鑰,mac可以輸出固定長度的資料,這個資料稱為mac值。可見,mac比單向雜湊函式多了金鑰,mac是一種與金鑰相關聯的單向雜湊函式。要計算mac必須持有共享金鑰,沒有共享金鑰的人就無法計算mac值,訊息認證碼正是利用這一性質來完成認證的。和單向雜湊函式一樣,哪怕訊息發生1位元的變化,mac值也會產生變化,訊息認證碼正是利用這一性質來確認完整性的。

對稱密碼的「金鑰配送問題」,訊息認證碼也同樣存在。

認證加密(ae: authenticated encryption, aead:authenticated encryption with associated data)

認證加密將對稱密碼與訊息認證碼相結合,同時滿足機密性、完整性和認證三大功能。

認證加密方式:

encrypt-then-mac: 先用對稱密碼將明文加密,然後計算密文的mac值。(可防止傳送偽造密文的選擇密文攻擊)

encrypt-and-mac: 將明文用對稱密碼加密,並對明文計算mac值。

mac-then-encrypt: 先計算明文的mac值,然後將明文和mac值同時用對稱密碼加密。

hmac: 是一種使用單向雜湊函式來構造訊息認證碼的方法。

針對訊息認證碼的重放攻擊(replay attack):

攻擊者並沒有破解訊息認證碼,只是將正確的mac截獲並通過重**送,讓接收方多次執行相同的訊息請求。

防禦方法:

1)序號 :通訊雙方需要記錄最後乙個訊息的序號

2)時間戳(由於考慮通訊延遲,需留有緩衝時間,多少還是存在重放攻擊的空間)

3)nonce: 接收者先向傳送者傳送乙個一次性的隨機數nonce,傳送者在訊息中包含這個nonce並計算mac。

訊息認證碼無法解決的問題:「對第三方證明」和「防止否認」

數字簽名

利用非對稱密碼,使用私鑰簽名(加密),使用公鑰驗證(解密),相當於把公鑰密碼反過來使用。

由於公鑰密碼速度慢,一般先對訊息進行hash,然後對hash值進行簽名。將簽名和訊息一起發給對方,對方驗證簽名和訊息的hash值相同。由於使用公鑰驗證,任何人都可以對簽名進行驗證,且由於使用私鑰簽名,所以可以防止否認。

數字簽名的作用不是保證機密性,如果需要機密性,需要和密碼組合使用。

公鑰證書

驗證數字簽名的時候需要公鑰,如果確認公鑰是合法的呢?可以將公鑰作為訊息,對它加上數字簽名。像這樣對公鑰施加數字簽名所得到的就是公鑰證書。

LoRa技術科普

lora簡介物聯網應用中的無線技術有多種,可組成區域網或廣域網。組成區域網的無線技術主要有2.4ghz的wifi,藍芽 zigbee等,組成廣域網的無線技術主要有2g 3g 4g等。這些無線技術,優缺點非常明顯,可如下圖總結。在低功耗廣域網 low power wide area network,l...

跳頻技術科普

跳頻技術 frequency hopping spread spectrum fhss 在同步 且同時的情況下,收發兩端以特定型式的窄頻載波來傳送訊號,對於乙個非特定的接收器,fhss所產生的跳動訊號 對它而言,也只算是脈衝雜訊。跳頻是最常用的擴頻方式之一,其工作原理是指收發雙方傳輸訊號的載波頻率按...

RTK和PPK技術科普

參考鏈結2 rtk real time kinematic,實時動態 載波相位差分技術,是實時處理兩個測量站載波相位觀測量的差分方法,將基準站採集的載波相位發給使用者接收機,進行求差解算座標。也就是說,rtk需要有另外乙個裝置作為基準站,基準站接收到的衛星訊號通過無線通訊網實時發給使用者。使用者接收...