加密函式的三個特性:
加密雜湊函式的三個屬性:
這裡的雜湊指標,類似於我們c/c++的指標,但是該指標僅僅指明了物理儲存的確切位址,而且還儲存了前乙個區塊某個特定時間下的雜湊值。如下圖所示的表示方式:
多個資料塊通過相同的方式串聯到一起,就形成了我們所說的區塊鏈:
上圖中,每乙個資料塊的頭部都儲存了前乙個資料塊的位址和特定時間下的雜湊值。
區塊鏈的防篡改特性在於:如果乙個區塊鏈的某個結點k的資料被篡改,那麼k+1區塊頭部的雜湊值與篡改後k的雜湊值不同;為了保持前後雜湊的一致性,必須篡改後續所有塊的雜湊值。
但是,即使改到了最後,如果我們仍然保留了篡改前的雜湊值,那麼篡改後的雜湊值與篡改前的雜湊值仍然不同,那麼我們可以斷定資料被更改了。在上面的概述中,我麼假設篡改後的所有資料發生雜湊碰撞的可能性在統計概率上為0.
在實際的操作中,我們使用merkle樹這一資料結構來表示區塊鏈,而不是使用單一的鏈式結構:
merkle樹的葉子結點用於儲存帶有時間戳的資料塊,而中間結點儲存雜湊值,根結點儲存最終的狀態的雜湊值。如果某個資料塊的資料被篡改,那麼根結點的雜湊值肯定會發生變化。關於merkle更加詳細的介紹,可以看這篇部落格。
數字簽名的作用主要有兩個:
數字簽名的工作模式如下:
我們可以這麼理解:假設我們發現了乙個message和乙個簽名,如果現在有了乙個pk,可以讓驗證演算法通過,那麼就可以認為是pk做的這筆交易。在去中心化的狀態下,我們可以認為乙個pk就是乙個合法的身份,而且不需要傳統的中心伺服器來註冊身份資訊。只要我們想,我們可以隨時生成乙個pk作為我們的身份,而且這完全是匿名的。
《現代密碼學》第一章 經典密碼學介紹
第一章 經典密碼學介紹 1.1密碼學和現代密碼學 a.現代密碼學與古典密碼學的區別 1.2對稱金鑰加密的基本設定 a.b.加密的語法 金鑰產生演算法 gen 一種概率演算法 加密演算法 enc 輸入金鑰 k,明文 m,輸出密文c。記為enck m 解密演算法 dec 輸入金鑰 k,密文c,輸出明文 ...
第一章 介紹
隨著計算機的到來 burk46 50年以來,我們的生活越來越依賴於計算機。計算機革命在更加迅猛的技術革命的推動下快速發展,現在,計算機的軟 硬體已經滲透到現代社會的方方面面。它已經整合到我們的手錶 手機 家用電器 建築 汽車甚至是飛機上。科技需要依靠高效能的硬體和高質量的軟體來取得進步和突破。我們幾...
第一章 介紹Solr
章節包含 1.可被搜尋引擎處理的資料的型別 2.通用搜尋引擎使用案例 3.solr的關鍵組成部分 4.為什麼選擇solr 5.功能概要 隨著如社交 雲計算 移動應用 大資料等科技的快速發展,與之而來的計算量也是令人振奮的。其中軟體架構師所要面臨的乙個巨大的挑戰就是要處理來自基於全球龐大的使用者群產生...