1.2 雜湊指標及資料結構
三特性
能有效計算,對輸入字串,合理時間內可算出
必然會有大量可能的輸入被對映到任意特定輸出(見圖1.2)。
一些數對必將產生碰撞。
如果用這個函式作為hash表的話,那**的我這個hash表不得有2
2562^
2256
個嗎,嚇人啊,我當時太糊塗了(京東面試時候說衝突咋辦呢)。
這不就是生日悖論嗎!,不過是不是也要保證這個hash函式的輸出是均勻分布 啊?
一台電腦每秒計算10000個雜湊
要花1 027
10^10
27年時間如果人類製造的每台電腦在整個宇宙起源時便開始
如果x和y不同,但雜湊值相同,
倘若愛麗絲需要使用本地檔案副本以保證其完整性,
記錄雜湊值可幫助愛麗絲檢測檔案在傳輸過程中,或在secure box伺服器上是否產生意外損壞,或檢測檔案是否受到伺服器的蓄意修改
保證主體不受其他實體的惡意行為侵害,是密碼學核心。
整個檔案非常大,但其雜湊值的長度固定
本章後面及整本書中都會看到雜湊作為資訊摘要的應用。
雜湊指標不但告訴你資料儲存的位置
雜湊指標不就指向了乙個東西嗎?難道是這個資料塊裡面具有可以自動驗證資料是否完整的功能嗎??我覺得不是的,應該是這個指標已經包含資料的摘要(hash值),
這個可以模擬c++的智慧型指標c++智慧型指標shared_ptr
普通鍊錶有一系列區塊
上乙個區塊指的是左邊的區塊哈哈哈
儲存鍊錶頭部,
為達到這個目標,對手會改變某區塊k的資料
既然資料被改變,區塊k+1的雜湊值(即整個區塊k的雜湊值)將不匹配。
會檢測到區塊k中的新資料以及區塊k+1中的雜湊指標的不一致性。
對手可繼續嘗試,通過算改下乙個區塊的雜湊值掩蓋這次篡改。
可一直這樣做,但當他到達鍊錶頭部時,這策略會失敗。
僅通過記住乙個雜湊指標,就基本記住整個鍊錶的防篡改雜湊值。
區塊鏈的結構與我們上一節見到的md變換類似。
的確,它們很相似,同乙個安全論證對於兩者都適用。
第1章 密碼學及加密貨幣概述
所有貨幣都需要通過某種方式控制供給,並需要實施各種安全屬性以防止欺騙行為發生。就法定貨幣而言,銀行 這樣的機構控制貨幣供給,並在實體貨幣上加上防偽標識,這些安全屬性提公升了攻擊貨幣的門檻和難度,但並非不可能偽造。最終,執法部門仍需要介入,以防止貨 幣系統規則受到破壞。加密數字貨幣也必須採取安全措施,...
現代密碼學之電子貨幣的加密
rsa盲簽名 盲簽名的使用 應該由受信任的當局 即銀行 生成。銀行可以為現金簽署數字字串,使其成為電子貨幣,數字字串包含 錢的值,序列號,銀行id 每個電子貨幣對應著唯一的序列號和銀行id,這樣可以有效的防止偽造。每乙個 e coin 都必須是銀行認證過的。然而這個系統有兩個個致命的問題 1。使用者...
密碼學概述 置換密碼
如何將資訊進行加密,傳送到接收方,接收方在進行解密獲取資訊,中間即使有竊聽者竊聽到資訊也可解密破解。密碼編輯學 保密 密碼分析學 破譯 密碼系統圖示 密碼系統定義 密碼學 cryptography 加密 encryption 解密 decryption 1.置換定義 在限集x上的運算 x x若是雙射...