成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

區(qū)塊鏈之密碼學(xué)隨機數(shù)

MockingBird / 2569人閱讀

摘要:請勿在密碼學(xué)強度系統(tǒng)中使用編程語言提供的通用偽隨機數(shù)生成器實現(xiàn)。該偽隨機數(shù)發(fā)生器是密碼學(xué)意義上最強的偽隨機數(shù)發(fā)生器之一,應(yīng)用在金融安全和上。

一、隨機數(shù)分類

1、真隨機數(shù)
其定義為隨機樣本不可重現(xiàn)。實際上只要給定邊界條件,真隨機數(shù)實際上并不存在,可是如果產(chǎn)生一個真隨機數(shù)樣本的邊界條件十分復(fù)雜且難以捕捉,可以認為用這個方法演算出來了真隨機數(shù)。例如骰子、轉(zhuǎn)輪、噪音等。

2、偽隨機數(shù),通過一定算法和種子得出,例如計算機軟件中實現(xiàn)的就是偽隨機數(shù)。

強偽隨機數(shù):難以預(yù)測的隨機數(shù),常用于密碼學(xué)

弱偽隨機數(shù):易于預(yù)測的隨機數(shù)

二、隨機數(shù)特性

隨機數(shù)有3個特性,具體如下:

隨機性:不存在統(tǒng)計學(xué)偏差,是完全雜亂的數(shù)列,即分布均勻性和獨立性

不可預(yù)測性:不能從過去的數(shù)列推測出下一個出現(xiàn)的數(shù)

不可重現(xiàn)性:除非將數(shù)列本身保存下來,否則不能重現(xiàn)相同的數(shù)列

隨機數(shù)的特性和隨機數(shù)的分類有一定的關(guān)系,比如,弱偽隨機數(shù)只需要滿足隨機性即可,而強位隨機數(shù)需要滿足隨機性和不可預(yù)測性,真隨機數(shù)則需要同時滿足3個特性。

三、隨機數(shù)生成器

??由于真隨機數(shù)是不存在的,在程序中使用的都是偽隨機數(shù)。那么生成偽隨機數(shù)的生成器又稱為密碼學(xué)偽隨機數(shù)生成器(英文:Cryptographically secure pseudorandom number generator,通稱CSPRNG),是一種能夠通過運算得出密碼學(xué)安全偽隨機數(shù)的偽隨機數(shù)生成器。相較于統(tǒng)計學(xué)偽隨機數(shù)生成器和更弱的偽隨機數(shù)生成器,CSPRNG所生成的密碼學(xué)安全偽隨機數(shù)具有額外的偽隨機屬性。

介紹兩種不同場景下常用的偽隨機數(shù)生成器:

1. 線性同余法

因為通過線性同余方法構(gòu)建的偽隨機數(shù)生成器的內(nèi)部狀態(tài)可以輕易地由其輸出演算得知,所以此種偽隨機數(shù)生成器屬于統(tǒng)計學(xué)偽隨機數(shù)生成器。設(shè)計密碼學(xué)的應(yīng)用必須至少使用密碼學(xué)安全偽隨機數(shù)生成器,故需要避免由線性同余方法獲得的隨機數(shù)在密碼學(xué)中的應(yīng)用。

參數(shù)取值需要滿足三個標(biāo)準:函數(shù)在重復(fù)前應(yīng)該產(chǎn)生0-M之間的所有數(shù);產(chǎn)生的序列應(yīng)該顯得隨機;生成函數(shù)可以用計算機方便地實現(xiàn),滿足條件的參數(shù)選擇如下:

M一般取素數(shù),且要求很大,對于32位機一般取值為$2^{31} - 1$

A的可取值不多,當(dāng)$A= 7^5 =16807$時滿足以上標(biāo)準。

這個算法的缺點是,在參數(shù)確定后,偽隨機序列只與N0相關(guān),容易被破解。有一種改進的辦法就是每隔n個數(shù)就以時鐘值對M取模作為新的種子來產(chǎn)生新的序列。還有一種方法是直接將隨機數(shù)加上時鐘值再對M取模。
比較常用的一般是線性同余法,比如我們熟知的C語言的rand庫和Java的java.util.Random類,都采用了線性同余法生成隨機數(shù)。
一般來說,各大編程語言提供的偽隨機數(shù)通用實現(xiàn)出于效率方面的考量,都達不到密碼學(xué)強度的要求。
請勿在密碼學(xué)強度系統(tǒng)中使用編程語言提供的通用偽隨機數(shù)生成器實現(xiàn)。

2. ANSI X9.17

該偽隨機數(shù)發(fā)生器是密碼學(xué)意義上最強的偽隨機數(shù)發(fā)生器之一,應(yīng)用在金融安全和PGP上。它使用了3DES來加密,算法流程如下圖

DTi:算法第i輪開始時的日期/時間值,64位,每一輪都被更新。
Vi:算法第i輪開始時的種子值,64位,每一輪都被更新。
Ri: 算法第i輪所產(chǎn)生的偽隨機數(shù)。
K1,K2:各階段算法所用的DES密鑰,各56位。
可用以下表達式描述該算法:
??Ri = EDE([K1,K2],[Vi⊕EDE([K1,K2],DTi)])
??Vi+1 = EDE([K1,K2],[Ri⊕EDE([K1,K2],DTi)])
該方法的密碼強度來自幾個方面,包括112位密鑰和3個EDE共計9次DES加密。

四、隨機數(shù)在區(qū)塊鏈中的使用

??隨機數(shù)有很多的應(yīng)用場景,例如抽獎活動、驗證碼、Token、密碼應(yīng)用場景(生成秘鑰、生成鹽)等。
??而隨機數(shù)的生成是一個由來已久的問題。一個廣泛的原則是:隨機性的生成最好不被任何個體所控制。因此譬如從比特幣的未來某區(qū)塊的數(shù)據(jù)來獲取隨機性的方式是不能使人信服的,因為這些隨機性最終實際上是由某個個體決定的,無法證明這個相關(guān)人沒有作惡。
??區(qū)塊鏈中常用的是一種分布式的隨機數(shù)生成算法,使用了DPOS結(jié)構(gòu)中的受托人來提供隨機性。受托人事先成私密的種子數(shù)據(jù),然后生成區(qū)塊時公布該種子數(shù)據(jù)的哈希值,在下一次生成區(qū)塊時再公布該種子數(shù)據(jù) 。最終外部過程所使用的隨機數(shù)由連續(xù)的多個(至少應(yīng)大于等于 101)種子數(shù)據(jù)來確定。這樣只要有一位受托人是誠實的并將他們的信息保密,那么其他人就無法預(yù)測結(jié)果。那么我們可以很放心地假設(shè)受托人中至少其中有一個是誠實的。這樣產(chǎn)生的隨機數(shù)可信程度是非常高的。



歡迎訂閱「K叔區(qū)塊鏈」 - 專注于區(qū)塊鏈技術(shù)學(xué)習(xí)

博客地址:http://www.jouypub.com
簡書主頁:https://www.jianshu.com/u/756c9c8ae984
segmentfault主頁:https://segmentfault.com/blog/jouypub
騰訊云主頁:https://cloud.tencent.com/developer/column/72548

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/24269.html

相關(guān)文章

  • 區(qū)塊鏈之公鑰、私鑰、地址之間的關(guān)系

    摘要:公鑰哈希和錢包地址可以通過互逆運算進行轉(zhuǎn)換,所以它們是等價的。使用私鑰對交易進行簽名比特幣錢包間的轉(zhuǎn)賬是通過交易實現(xiàn)的。使用公鑰對簽名進行驗證交易數(shù)據(jù)被廣播到比特幣網(wǎng)絡(luò)后,節(jié)點會對這個交易數(shù)據(jù)進行檢驗,其中就包括對簽名的校驗。 一句話解釋公鑰、私鑰、地址私鑰:實際上是一組隨機數(shù),關(guān)于區(qū)塊鏈中的隨機數(shù)我們已經(jīng)介紹過了公鑰:對私鑰進行橢圓曲線加密算法生成,但是無法通過公鑰倒推得到私鑰。公...

    104828720 評論0 收藏0
  • 區(qū)塊鏈之非對稱加密算法

    摘要:二如何理解公鑰和私鑰非對稱加密算法需要兩個密鑰公開密鑰和私有密鑰。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。三非對稱加密解密原理非對稱加密算法中,常用的就是算法了,以下就以算法為例來講解非對稱加密算法的實現(xiàn)原理。 非對稱加密,在現(xiàn)在網(wǎng)絡(luò)應(yīng)用中,有這非常廣泛的場景,更是加密貨幣的基礎(chǔ)。本文主要介紹非對稱加密、解密的原理和過程,以及在區(qū)塊鏈中的使用。 一、非對稱...

    mcterry 評論0 收藏0
  • 干貨 | 區(qū)塊鏈快速通道:從技術(shù)原理到應(yīng)用落地

    摘要:萬云專注于將區(qū)塊鏈技術(shù)應(yīng)用于各個行業(yè),促進區(qū)塊鏈在業(yè)務(wù)中的真正落地。共識算法是區(qū)塊鏈比較核心的技術(shù)之一,保證區(qū)塊一致性是其主要作用。 作者:萬云首席架構(gòu)師兼產(chǎn)品總監(jiān)李晨原文鏈接:http://mp.weixin.qq.com/s/snl...如需轉(zhuǎn)載請聯(lián)系萬云官方微信:萬云Wancloud 2018年開始,好像所有的人都在談?wù)搮^(qū)塊鏈,資本、精英、草根不斷進場投身到區(qū)塊鏈的浪潮之中。在外...

    noONE 評論0 收藏0
  • 區(qū)塊鏈基礎(chǔ)知識

    摘要:區(qū)塊鏈技術(shù)基礎(chǔ)什么是區(qū)塊鏈技術(shù)運行區(qū)塊鏈客戶端的計算節(jié)點彼此可以相互通信。區(qū)塊鏈的組成模塊區(qū)塊鏈賬本。區(qū)塊鏈技術(shù)的意義數(shù)據(jù)不可篡改。區(qū)塊鏈中會對區(qū)塊頭進行哈希計算,得出該區(qū)塊的哈希值。這保證了每個區(qū)塊被加入鏈后不可被修改。 區(qū)塊鏈技術(shù)基礎(chǔ) 什么是區(qū)塊鏈技術(shù)? 運行區(qū)塊鏈客戶端的計算節(jié)點彼此可以相互通信。 每個節(jié)點維護一個賬本。 每個節(jié)點的收支記錄都會廣播給其他節(jié)點。 篩選出一個節(jié)點作...

    acrazing 評論0 收藏0
  • 從0開始,En-Tan-Mo開創(chuàng)無限可能

    摘要:兩年前,我們成為逐夢者,開始往中本聰向往的世界奔跑。從開始,開創(chuàng)無限可能年月,我們發(fā)布項目技術(shù)白皮書。今年月,登陸交易所。從開始,開創(chuàng)無限可能中本聰精神,扎根于團隊最初的夢想里,也融進了的使命與愿景里。 showImg(https://segmentfault.com/img/bVbv5lK?w=900&h=383); 兩年前,我們成為逐夢者,開始往中本聰向往的世界奔跑。初創(chuàng)之時,無羽...

    snowLu 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<