在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

區塊鏈中加密學算法學習

lviY_AI_shequ ? 來源:未知 ? 作者:李倩 ? 2018-04-27 16:04 ? 次閱讀

區塊鏈中使用了很多加密學算法,包括哈希算法、默克樹、數字簽名等。在這一節將逐個學習這些知識。

哈希算法

哈希算法是一種常見的單向加密算法,它將一串數據加密生成一串二進制,但不能由二進制還原為原來的數據。該算法有一下特點:

相同的輸入得到相同的二進制串

不同對輸入得到不同的二進制串,即有強對抗性,不同的數據不會產生相同的哈希值

輸出的二進制長度是一致的

import hashlibdata1 = "Test1"msg = hashlib.sha256()msg.update(data1.encode("utf-8"))output1 = msg.hexdigest()print(output1)

# 再次計算msg = hashlib.sha256()msg.update(data1.encode("utf-8"))output2 = msg.hexdigest()print(output1 == output2)

True

# 使用不同的數據data2 = "Test2"msg = hashlib.sha256()msg.update(data2.encode("utf-8"))output3 = msg.hexdigest()print(output3)print(output3 == output1)

32e6e1e134f9cc8f14b05925667c118d19244aebce442d6fecd2ac38cdc97649False

print(len(output1))print(len(output3))

6464

長度都為64,即256長度的比特位

在區塊鏈中很多地方用了哈希算法,比如對區塊計算哈希值。在“區塊鏈基礎”部分中實現了一個簡化版的區塊鏈。在實際區塊鏈中區塊包含元數據的區塊頭和緊跟其后的構成區塊主體的一長串交易,結構如下:

大小字段描述4字節區塊大小用字節表示的該字段之后的區塊大小80字節區塊頭組成區塊頭的幾個字段1-9(可變整數)交易計數器交易的數量可變的交易記錄在區塊里的交易信息

其中哈希值和nonce等都放在區塊頭中,其結構如下:

大小字段描述4字節版本版本號,用于跟蹤軟件/協議的更新32字節父區塊哈希值引用區塊鏈中父區塊的哈希值32字節Merkle根該區塊中交易的merkle樹根的哈希值4字節時間戳該區塊產生的近似時間(精確到秒的Unix時間戳)4字節難度目標該區塊工作量證明算法的難度目標4字節Nonce用于工作量證明算法的計數器

這里涉及到另一個概念——默克(Merkle)樹

默克樹

默克爾樹,又叫哈希樹,是一種樹的數據結構,由一個根節點、一組中間節點和一組葉節點組成。最下面的葉節點包含存儲數據或其哈希值,其上的節點是它的子節點內容的哈希值。一個默克樹的生成過程如下:

1.由數據生成一系列哈希值

2.從上述哈希值再生成哈希值

3.然后再生成根節點

默克樹有如下特點:

一般是二叉樹,也可以多叉樹,具有樹結構的所有特點;

樹的根節點只取決于數據,和其中的更新順序無關。換個順序進行更新,甚至重新從頭計算樹,并不會改變根節點;

當兩個默克爾樹根節點相同時,則意味著所代表的數據必然相同,用根節點校驗可以大大減少數據的傳輸量以及計算的復雜度;

默克樹的一個分支也是默克樹,可以作為獨立進行校驗;

當區塊鏈中的交易數據過多時,可以通過只保留默克樹的根節點,刪除其下的節點有效的節約存儲空間。

數字簽名

在區塊鏈中還有一個重要的技術,那就是數字簽名。類似在手寫簽名來確認直至內容,數字簽名用于證實某數字內容的完整性和來源,保證簽名的有效性和不可抵賴性。數字簽名使用了公鑰密碼學。公鑰密碼學是非對稱加密技術,其相對于對稱加密技術。在對稱加密技術中加密使用相同的密鑰加解密數據,為了讓對方能夠解密,需要同時將密文和密鑰發給對方。

如果有人在傳輸過程中截取了密文和密鑰,就一樣能解密出明文,這就導致了安全性問題。

在非對稱加密中有公鑰和私鑰兩個,公鑰用來加密,私鑰用來解密,公鑰可以發給任意的人。

在這個過程中只有私鑰才可以解密,而加密用的是公鑰,故不需要傳輸私鑰,只要保證私鑰放在安全的地方,被盜取后其他人還是無法破解密文。

而數字簽名就是基于上述非對稱加密技術,不同點在于數字簽名使用私鑰生成一個簽名,接收方使用公鑰進行校驗。比如上面用私鑰解密得到明文后,用私鑰進行簽名進行回復,收到回復后用公鑰解密得到的內容與數據相同即可證明簽名正確。

因為公鑰和私鑰是成對的,唯一對應的,私鑰只有對方擁有,所以對方也不能對簽名進行抵賴。

在區塊鏈技術中常見的簽名算法是橢圓簽名算法。其算法用對橢圓曲線上的點進行加法或乘法運算來表達。區塊鏈中私鑰是一個隨機數,通過橢圓曲線簽名算法生成公鑰。但反向從公鑰計算出私鑰幾乎是不可能的。橢圓曲線簽名算法還具有安全性高和存儲空間占用小的特點。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 二進制
    +關注

    關注

    2

    文章

    803

    瀏覽量

    42012
  • 區塊鏈
    +關注

    關注

    112

    文章

    15565

    瀏覽量

    107585
  • 哈希算法
    +關注

    關注

    1

    文章

    56

    瀏覽量

    10869

原文標題:從零開始學區塊鏈(4)--深入淺出區塊鏈(五)-加密學

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    區塊如何改變AI

    相比,區塊使操作更安全,更快速,更透明。區塊已經給金融領域帶來了很大的影響,像比特幣,以太坊和萊特幣這樣的加密貨幣已經成為當前的關注點。
    發表于 02-27 14:01

    什么是區塊 區塊有什么用

    與存儲數據、利用分布式節點共識算法來生成和更新數據、利用密碼的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算范式?!『唵蔚卣f,區塊
    發表于 03-26 11:31

    SHA在區塊中的應用

    `最近幾年比特幣的火爆帶動了人們對區塊技術的研究。當然我們在這里并不討論區塊技術本身,而是討論一下區塊
    發表于 03-30 22:20

    區塊行業發展,金融領域應用方向?

    生產生活方式的改進,將成為驅動區塊行業發展的動力源泉。區塊技術發展至今已引起很多人關注,但區塊
    發表于 08-06 17:34

    區塊將改革供應

    保證。1) 用戶身份數據上:用戶將自己的數據加密上傳到區塊上,通過索引進行查看2) 唯一數據私鑰:用戶將自己的數據加密上傳到
    發表于 08-08 11:11

    首個全行業生態區塊項目,黃金鏈(GBK)即將上線

    存儲、不可篡改、點對點傳輸、共識機制、加密算法等綜合體,其最大的特點是去中心化維護一個公認信息而爆紅。對于區塊這項顛覆性技術而言,今年年初各路區塊
    發表于 08-17 16:48

    區塊不止是炒幣

    `<span style="" >我們大家都知道比特幣是基于區塊技術所誕生的加密數字貨幣,也正是由于比特幣的誕生大家才逐漸了解但區塊
    發表于 12-04 13:48

    區塊+教育,是改革的良性循環?

    學習證書平臺。證書頒發的工作原理如下:首先,使用區塊和強加密的方式,創建一個可以控制完整成就和成績記錄的認證基礎設施,包含證書基本信息的數字文件,如收件人姓名、發行方名字、發行日期
    發表于 12-20 17:36

    區塊應用涉及到哪些算法

    區塊技術的應用涉及到哪些算法模型?
    發表于 03-27 11:21

    區塊對我們的生活有什么影響

    今天的信息圖表從HIVE區塊技術向我們展示,它讓我們得以一窺區塊技術在金融世界之外的潛力。區塊
    發表于 07-10 04:20

    貪心算法學習

    算法學習之路——貪心
    發表于 09-04 07:17

    模擬退火的算法學習

    模擬退火算法學習
    發表于 06-16 11:02

    什么是區塊區塊都有哪些應用?

    什么是區塊?區塊未來的應用前景怎樣?
    發表于 06-28 09:20

    有感FOC算法學習與實現總結

    原文:https://blog.csdn.net/u010632165/article/details/103656254文章目錄基于STM32的有感FOC算法學習與實現總結1 前言2 FOC算法
    發表于 07-05 06:45

    SVPWM的原理與算法學習課件免費下載

    本文檔的主要內容詳細介紹的是SVPWM的原理與算法學習課件免費下載包括了:SVPWM原理,SVPWM算法,SVPWM的Matlab仿真,SVPWM的DSP實現。
    發表于 03-08 08:00 ?33次下載
    SVPWM的原理與<b class='flag-5'>算法學習</b>課件免費下載
    主站蜘蛛池模板: 中国理论片 | 无遮挡一级毛片 | 男男扒开后菊惩罚 | 日本色黄视频 | 一级女人毛片人一女人 | 一级伦奸视频 | 日日噜噜噜噜人人爽亚洲精品 | 日本美女黄网站 | 天天干天天天天 | 国产在线观看黄色 | 色五月丁香五月综合五月 | 黄色大片三级 | 天天摸天天舔天天操 | 免看一级a毛片一片成人不卡 | 加勒比精品视频 | 日日操日日爽 | 午夜精品福利影院 | tube69日本| 免费看污黄视频软件 | 深爱五月激情五月 | 五月天丁香婷婷综合 | 亚洲精品456人成在线 | 久久精品国产亚洲婷婷 | 亚洲婷婷综合网 | 亚洲国产婷婷香蕉久久久久久 | 日本免费一区二区在线观看 | 欧美另类亚洲一区二区 | 亚洲人成电影在在线观看网色 | 亚洲一区二区三区在线播放 | 西西人体44rt高清午夜 | 影音先锋五月天 | h在线观看视频 | 日本一本视频 | 97在线人人| 亚洲日本在线观看视频 | 222www免费观看 | 丁香花成人另类小说 | 亚洲爱爱图 | 男男np主受高h啪啪肉 | free 欧美| 久久在线精品 |