密碼學中的資料完整性
By 區塊網社羣·
資料完整性是指系統中資訊的準確性、合法性和一致性。在傳送訊息時,特別是使用不可信的媒體時,資料完整性是使我們確信訊息沒有被篡改的關鍵。不合法資料的潛在原因是什麼?資料完整性提供了廣泛的保護,包括資料被修改,違背系統等目的。一些潛在的問題包括:· 物理事故——透過不完美的介質傳送的資料可能會被損壞。例如,無線訊號可能會暫時丟失,或者電線可能會遇到噪聲電訊號。· 數字事故——負責傳遞資訊的軟體可能會有錯誤,無意中變異了資訊的子集。· 惡意的參與者——中間人可能為了混淆通訊者或獲取有價值的資訊而修改訊息。解決方案-校驗和校驗和解決了上面列出的所有三個潛在的資料完整性問題。校驗和是從訊息資料中匯出的確定性值,可以單獨傳輸。這意味著給定訊息的校驗和總是相同的。訊息的接收者可以從該訊息生成校驗和,如果生成的校驗和與傳送的校驗和匹配,則該訊息就不可能被篡改。需要注意的是,如果獲取校驗和的媒介是不可信的,那麼惡意的參與者可能會更改訊息和校驗和。使用數字簽名對校驗和進行簽名是一種常見的良好實踐。數字簽名可以證明校驗和的傳送者就是他們所說的那個人。什麼是一個好的校驗和?校驗和有很多種型別,但最好的校驗和通常是加密雜湊函式。雜湊函式有以下屬性來實現偉大的校驗和驗證資料完整性:· 確定性——相同訊息的雜湊值將總是相同的,沒有隨機性· 快速計算校驗和快速計算校驗和不應該使用不必要的資源(KDF是低效的校驗和)· 罕見的衝突——不存在兩個不同的訊息產生相同得校驗和· Small—雜湊(又名“摘要”)的結果應該是短的—不需要浪費大量的資料。SHA-256雜湊函式通常用於建立校驗和摘要。示例-驗證一個真正的校驗和校驗和的一個常見用例是對下載的驗證。在本例中,我們將下載比特幣核心節點軟體,並驗證其完整性。要獲得更新版本,請點選這裡,或者直接使用版本0.19.1。我假設您使用的是Mac OS,對於不同的作業系統,請按照下載頁面上的說明操作。下載程式下載校驗和開啟終端,進入下載資料夾:cd ~/Downloads計算和列印下載的dmg檔案的校驗和:shasum -a 256 bitcoin-0.19.1-osx.dmg應該列印:206d8d92189d22e735393abebeb7a2e7237a119dd448b4a40df8c357da1287b2 bitcoin-0.19.1-osx.dmg然後列印下載的(預期的)校驗和:cat SHA256SUMS.asc | grep bitcoin-0.19.1-osx.dmg這應該匹配:206d8d92189d22e735393abebeb7a2e7237a119dd448b4a40df8c357da1287b2 bitcoin-0.19.1-osx.dmg如果他們匹配,恭喜!您的下載已得到驗證。不會有中間人修改你下載的程式。同樣,請記住,為了驗證提供給您的校驗和沒有被篡改,還需要驗證GPG簽名。#密碼學#校驗和
免責聲明:
- 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
- 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
- 鏈報僅提供相關項目信息,不構成任何投資建議。
推荐阅读