哈希算法是一種典型的分布式的受傷的海燕表算法,哈西系統(tǒng)多用于p2p網(wǎng)絡(luò)的構(gòu)建,由Petar Maymounkov和David Mazieres共同創(chuàng)造。

分布式環(huán)境下的受傷的海燕表的難點在于以下幾點:
分布式環(huán)境下每個服務(wù)器不可能掌握所有服務(wù)器的情況,因此如何保證你的請求能在沒有中央節(jié)點定位的情況下找到對應(yīng)的服務(wù)器是一大難點。同樣由于分布式環(huán)境的服務(wù)器的掌握信息有限,那么服務(wù)器的加入和退出如何能夠被集群知曉也是一大難點。
import random
def gcd(a,b):
if a<>
a,b=b,a
while b!=0:
temp=a%b
a=b
b=temp
return a
def getpq(n,e,d):
p=1
q=1
while p==1 and q==1:
k=d*e-1
g=random.randint(0,n)
while p==1 and q==1 and k%2==0:
k/=2
y=pow(g,k,n)
if y!=1 and gcd(y-1,n)>1:
p=gcd(y-1,n)
q=n/p
return p,q
n=0x71ee0f4883690893ab503e97e25e6308d4c1e0a050cbea7b9c040f7a5b5b484afcecc8a9b3cc6bf089a1e83281562df217caab7220e3dfc14399139ce437af2f131f9345675e4d848cfab5827818eeab7834374be4a0513f81f3df125a932c2bb4c24c834d798bcc80f9c4a8770b01f8e54620b72a4f0491edd391e635d48e71
e=0x10001
d=0x455e1c421b78f536ec24e4a797b5be78df09d8d9e3b7f4e2244138a7583e810adf6ad056bb59a91300c9ead5ed77ea6bafdebf7ab2d9ec200127901083c7ffca45e83f2c934358366a2b6207b96a0eae6df0476060c063c281512834a42350a3b56bc09f5cec1a6975257d7f12a58f6389060e49b41f05e88ea2b30b395f6391
p,q=getpq(n,e,d)
print("p=",p)
print("q=",q)
print(p*q==n)
哈希算法在區(qū)塊鏈中有著廣泛的使用,交易信息的存儲、工作量證明算法、密鑰對的產(chǎn)生等過程中都有哈希算法的存在。
哈希(Hash)也被翻譯為散列。任意長度的輸入經(jīng)過散列函數(shù),都能夠輸出為固定長度的值,該輸出就是散列值。SHA(secureHashalgorithm)也被稱為安全散列算法,直譯為哈希算法,由美國國家安全局所設(shè)計,由美國國家標準與技術(shù)研究院發(fā)布。SHA家族現(xiàn)有五個算法,分別是SHA-1.SHA-224、SHA-256、SHA-384和SHA-512,后四者并稱為SHA-2
如果將區(qū)塊鏈看作一個公共賬本,節(jié)點中每個人都備份一份賬本數(shù)據(jù),任何人都可以對賬本上的內(nèi)容進行寫入和讀取。如果有用戶對內(nèi)容進行了惡意算改,依照少數(shù)服從多數(shù)的原則,將差異數(shù)據(jù)與全網(wǎng)數(shù)據(jù)進行比較后,就能夠發(fā)現(xiàn)存在的異常。但是,賬本上的內(nèi)容隨著時間的累積,數(shù)據(jù)量必然會越來越龐大,如果將交易數(shù)據(jù)進行原始存儲,利用大量數(shù)據(jù)直接進行比對,工程量對于一個貨幣系統(tǒng)而言是十分不現(xiàn)實的。對此,在交易信息的存儲中,區(qū)塊鏈利用了哈希函數(shù)能夠方便實現(xiàn)數(shù)據(jù)壓縮的特性:一段數(shù)據(jù)在經(jīng)過哈希函數(shù)的運算后,就能夠得到相較而言很短的摘要數(shù)據(jù)。
審核編輯:符乾江
-
P2P網(wǎng)絡(luò)
+關(guān)注
關(guān)注
0文章
23瀏覽量
11275 -
哈希算法
+關(guān)注
關(guān)注
1文章
56瀏覽量
10809
發(fā)布評論請先 登錄
相關(guān)推薦
【RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】RA4E2使用之SHA256加密解密
診斷系統(tǒng)開發(fā)咨詢服務(wù)

SiFive 推出高性能 Risc-V CPU 開發(fā)板 HiFive Premier P550

嵌入式系統(tǒng)開發(fā)中的測試方法 嵌入式系統(tǒng)開發(fā)與AI結(jié)合應(yīng)用
嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決
打破網(wǎng)絡(luò)邊界:P2Link助力實現(xiàn)高效遠程訪問與內(nèi)網(wǎng)穿透
智慧園區(qū)系統(tǒng)開發(fā)對智慧城市建設(shè)發(fā)展的促進
恩智浦MBDT加速汽車電機控制系統(tǒng)開發(fā)
光伏互感器p1p2正確接線法
樂鑫ESP32-P4芯片應(yīng)用,WT99P4C6-S1開發(fā)板應(yīng)用方案

評論