chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

區(qū)塊鏈中加密學(xué)算法學(xué)習(xí)

lviY_AI_shequ ? 來源:未知 ? 作者:李倩 ? 2018-04-27 16:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

區(qū)塊鏈中使用了很多加密學(xué)算法,包括哈希算法、默克樹、數(shù)字簽名等。在這一節(jié)將逐個(gè)學(xué)習(xí)這些知識。

哈希算法

哈希算法是一種常見的單向加密算法,它將一串?dāng)?shù)據(jù)加密生成一串二進(jìn)制,但不能由二進(jìn)制還原為原來的數(shù)據(jù)。該算法有一下特點(diǎn):

相同的輸入得到相同的二進(jìn)制串

不同對輸入得到不同的二進(jìn)制串,即有強(qiáng)對抗性,不同的數(shù)據(jù)不會(huì)產(chǎn)生相同的哈希值

輸出的二進(jìn)制長度是一致的

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

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

True

# 使用不同的數(shù)據(jù)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長度的比特位

在區(qū)塊鏈中很多地方用了哈希算法,比如對區(qū)塊計(jì)算哈希值。在“區(qū)塊鏈基礎(chǔ)”部分中實(shí)現(xiàn)了一個(gè)簡化版的區(qū)塊鏈。在實(shí)際區(qū)塊鏈中區(qū)塊包含元數(shù)據(jù)的區(qū)塊頭和緊跟其后的構(gòu)成區(qū)塊主體的一長串交易,結(jié)構(gòu)如下:

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

其中哈希值和nonce等都放在區(qū)塊頭中,其結(jié)構(gòu)如下:

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

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

默克樹

默克爾樹,又叫哈希樹,是一種樹的數(shù)據(jù)結(jié)構(gòu),由一個(gè)根節(jié)點(diǎn)、一組中間節(jié)點(diǎn)和一組葉節(jié)點(diǎn)組成。最下面的葉節(jié)點(diǎn)包含存儲(chǔ)數(shù)據(jù)或其哈希值,其上的節(jié)點(diǎn)是它的子節(jié)點(diǎn)內(nèi)容的哈希值。一個(gè)默克樹的生成過程如下:

1.由數(shù)據(jù)生成一系列哈希值

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

3.然后再生成根節(jié)點(diǎn)

默克樹有如下特點(diǎn):

一般是二叉樹,也可以多叉樹,具有樹結(jié)構(gòu)的所有特點(diǎn);

樹的根節(jié)點(diǎn)只取決于數(shù)據(jù),和其中的更新順序無關(guān)。換個(gè)順序進(jìn)行更新,甚至重新從頭計(jì)算樹,并不會(huì)改變根節(jié)點(diǎn);

當(dāng)兩個(gè)默克爾樹根節(jié)點(diǎn)相同時(shí),則意味著所代表的數(shù)據(jù)必然相同,用根節(jié)點(diǎn)校驗(yàn)可以大大減少數(shù)據(jù)的傳輸量以及計(jì)算的復(fù)雜度;

默克樹的一個(gè)分支也是默克樹,可以作為獨(dú)立進(jìn)行校驗(yàn);

當(dāng)區(qū)塊鏈中的交易數(shù)據(jù)過多時(shí),可以通過只保留默克樹的根節(jié)點(diǎn),刪除其下的節(jié)點(diǎn)有效的節(jié)約存儲(chǔ)空間。

數(shù)字簽名

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

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

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

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

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

因?yàn)楣€和私鑰是成對的,唯一對應(yīng)的,私鑰只有對方擁有,所以對方也不能對簽名進(jìn)行抵賴。

在區(qū)塊鏈技術(shù)中常見的簽名算法是橢圓簽名算法。其算法用對橢圓曲線上的點(diǎn)進(jìn)行加法或乘法運(yùn)算來表達(dá)。區(qū)塊鏈中私鑰是一個(gè)隨機(jī)數(shù),通過橢圓曲線簽名算法生成公鑰。但反向從公鑰計(jì)算出私鑰幾乎是不可能的。橢圓曲線簽名算法還具有安全性高和存儲(chǔ)空間占用小的特點(diǎn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    807

    瀏覽量

    42315
  • 區(qū)塊鏈
    +關(guān)注

    關(guān)注

    112

    文章

    15565

    瀏覽量

    108335
  • 哈希算法
    +關(guān)注

    關(guān)注

    1

    文章

    56

    瀏覽量

    10961

原文標(biāo)題:從零開始學(xué)區(qū)塊鏈(4)--深入淺出區(qū)塊鏈(五)-加密學(xué)

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    區(qū)塊如何改變AI

    相比,區(qū)塊使操作更安全,更快速,更透明。區(qū)塊已經(jīng)給金融領(lǐng)域帶來了很大的影響,像比特幣,以太坊和萊特幣這樣的加密貨幣已經(jīng)成為當(dāng)前的關(guān)注點(diǎn)。
    發(fā)表于 02-27 14:01

    什么是區(qū)塊 區(qū)塊有什么用

    與存儲(chǔ)數(shù)據(jù)、利用分布式節(jié)點(diǎn)共識算法來生成和更新數(shù)據(jù)、利用密碼學(xué)的方式保證數(shù)據(jù)傳輸和訪問的安全、利用由自動(dòng)化腳本代碼組成的智能合約來編程和操作數(shù)據(jù)的一種全新的分布式基礎(chǔ)架構(gòu)與計(jì)算范式?!『唵蔚卣f,區(qū)塊
    發(fā)表于 03-26 11:31

    SHA在區(qū)塊中的應(yīng)用

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

    區(qū)塊行業(yè)發(fā)展,金融領(lǐng)域應(yīng)用方向?

    生產(chǎn)生活方式的改進(jìn),將成為驅(qū)動(dòng)區(qū)塊行業(yè)發(fā)展的動(dòng)力源泉。區(qū)塊技術(shù)發(fā)展至今已引起很多人關(guān)注,但區(qū)塊
    發(fā)表于 08-06 17:34

    區(qū)塊將改革供應(yīng)

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

    首個(gè)全行業(yè)生態(tài)區(qū)塊項(xiàng)目,黃金鏈(GBK)即將上線

    存儲(chǔ)、不可篡改、點(diǎn)對點(diǎn)傳輸、共識機(jī)制、加密算法等綜合體,其最大的特點(diǎn)是去中心化維護(hù)一個(gè)公認(rèn)信息而爆紅。對于區(qū)塊這項(xiàng)顛覆性技術(shù)而言,今年年初各路區(qū)塊
    發(fā)表于 08-17 16:48

    區(qū)塊不止是炒幣

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

    區(qū)塊+教育,是改革的良性循環(huán)?

    學(xué)習(xí)證書平臺。證書頒發(fā)的工作原理如下:首先,使用區(qū)塊和強(qiáng)加密的方式,創(chuàng)建一個(gè)可以控制完整成就和成績記錄的認(rèn)證基礎(chǔ)設(shè)施,包含證書基本信息的數(shù)字文件,如收件人姓名、發(fā)行方名字、發(fā)行日期
    發(fā)表于 12-20 17:36

    區(qū)塊應(yīng)用涉及到哪些算法?

    區(qū)塊技術(shù)的應(yīng)用涉及到哪些算法模型?
    發(fā)表于 03-27 11:21

    區(qū)塊對我們的生活有什么影響

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

    貪心算法學(xué)習(xí)

    算法學(xué)習(xí)之路——貪心
    發(fā)表于 09-04 07:17

    模擬退火的算法學(xué)習(xí)

    模擬退火算法學(xué)習(xí)
    發(fā)表于 06-16 11:02

    什么是區(qū)塊?區(qū)塊都有哪些應(yīng)用?

    什么是區(qū)塊?區(qū)塊未來的應(yīng)用前景怎樣?
    發(fā)表于 06-28 09:20

    有感FOC算法學(xué)習(xí)與實(shí)現(xiàn)總結(jié)

    原文:https://blog.csdn.net/u010632165/article/details/103656254文章目錄基于STM32的有感FOC算法學(xué)習(xí)與實(shí)現(xiàn)總結(jié)1 前言2 FOC算法
    發(fā)表于 07-05 06:45

    密碼學(xué)區(qū)塊中有著怎樣的作用

    張驍表示,區(qū)塊之所以能夠解決人與人之間的信任問題,是因?yàn)樗牟豢纱鄹男?,而這種特性本質(zhì)上又是基于密碼學(xué)算法來實(shí)現(xiàn)的。因此密碼學(xué)
    發(fā)表于 12-27 15:51 ?4908次閱讀