1. 程式人生 > >區塊鏈:區塊鏈技術初探(一)

區塊鏈:區塊鏈技術初探(一)

  • ElGamal演算法,是一種較為常見的加密演算法,它是基於1984年提出的公鑰密碼體制和橢圓曲線加密體系。既能用於資料加密也能用於數字簽名,其安全性依賴於計算有限域上離散對數這一難題。在加密過程中,生成的密文長度是明文的兩倍,且每次加密後都會在密文中生成一個隨機數K,在密碼中主要應用離散對數問題的幾個性質:求解離散對數(可能)是困難的,而其逆運算指數運算可以應用平方-乘的方法有效地計算。也就是說,在適當的群G中,指數函式是單向函式。
  • 橢圓曲線密碼體制是目前已知的公鑰體制中,對每位元所提供加密強度最高的一種體制。解橢圓曲線上的離散對數問題的最好演算法是Pollard rho方法,其時間複雜度為,是完全指數階的。其中n為等式(2)中m的二進位制表示的位數。當n=234, 約為2117,需要1.6x1023 MIPS 年的時間。而我們熟知的RSA所利用的是大整數分解的困難問題,目前對於一般情況下的因數分解的最好演算法的時間複雜度是子指數階的,當n=2048時,需要2x1020MIPS年的時間。也就是說當RSA的金鑰使用2048位時,ECC的金鑰使用234位所獲得的安全強度還高出許多。它們之間的金鑰長度卻相差達9倍,當ECC的金鑰更大時它們之間差距將更大。更ECC金鑰短的優點是非常明顯的,隨加密強度的提高,金鑰長度變化不大。
  • DH Diffie-Hellman演算法(D-H演算法),金鑰一致協議,是由公開金鑰密碼體制的奠基人Diffie和Hellman所提出的一種思想。簡單的說就是允許兩名使用者在公開媒體上交換資訊以生成”一致”的、可以共享的金鑰。換句話說,就是由甲方產出一對金鑰(公鑰、私鑰),乙方依照甲方公鑰產生乙方金鑰對(公鑰、私鑰)。以此為基線,作為資料傳輸保密基礎,同時雙方使用同一種對稱加密演算法構建本地金鑰(SecretKey)對資料加密。這樣,在互通了本地金鑰(SecretKey)演算法後,甲乙雙方公開自己的公鑰,使用對方的公鑰和剛才產生的私鑰加密資料,同時可以使用對方的公鑰和自己的私鑰對資料解密。不單單是甲乙雙方兩方,可以擴充套件為多方共享資料通訊,這樣就完成了網路互動資料的安全通訊!該演算法源於中國的同餘定理——中國餘數定理。

相關推薦

區塊區塊技術初探()

ElGamal演算法,是一種較為常見的加密演算法,它是基於1984年提出的公鑰密碼體制和橢圓曲線加密體系。既能用於資料加密也能用於數字簽名,其安全性依賴於計算有限域上離散對數這一難題。在加密過程中,生成的密文長度是明文的兩倍,且每次加密後都會在密文中生成一個隨機數K,在密碼中主要應用離散對數問題的幾個性質:求

區塊技術革命時代的跨創新,價值網絡實現的關鍵

適應 一個 str 求和 比特 處理 雙向 競爭力 share 自中本聰2009年推出比特幣以來,數以百計的競爭幣被開發出來。以太坊、比特股等類比特幣網絡的出現,已經對比特幣網絡的權威帶來了極大的挑戰。如何提升比特幣網絡的競爭力,激活比特幣網絡的創新,成了區塊鏈信徒們比較關

讀懂區塊零知識證明(

“零知識證明”-zero-knowledge proof,是由S.Goldwasser、S.Micali及C.Rackoff在20世紀80年代提出。我試著在網上找到了論文,但深深覺得自己的數學知識和英語能力的不足。 網上有一個被很多人引用的例子,即“阿里巴巴的零知識證明

C++從零開始區塊區塊業務模組之主同步

同樣是採用一個簡單,但效率低下的方案,遍歷自己的鏈和其他節點的鏈,誰的長誰的就是主鏈。 然後將自己的鏈和主鏈進行比較,將自己的鏈上的區塊掛在主鏈上,掛的同時驗證一下自己的區塊是否已經存在於主鏈上,如果存在就跳過。 void BlockChain::MergeBlockChain(con

C++從零開始區塊區塊業務模組之重複交易檢測

想象這樣一個場景: 節點a廣播了一條訊息,節點b和節點c都收到並記錄在自己的交易列表中了。 然後節點b和節點c挖礦。 當節點b挖礦成功,將a的交易打包到區塊中,並在網路上廣播。 這時節點c接收到節點b的挖礦成功的廣播,區塊驗證通過後掛到自己的區塊上,然後繼續挖礦。 當節點c也挖礦成

C++從零開始區塊區塊業務模組之餘額檢查

比特幣中的餘額檢查實現起來好麻煩,嚴格來說比特幣中並沒有所謂的餘額,具體請讀者自行百度比特幣相關的資料。 在本例中,我們採用一個效率低下,但很簡單的方法:遍歷整個區塊鏈的所有交易,查詢要查詢的地址參與的所有交易,如果目標地址是支出方,就減少,是收入方就增加,便利後的結果就餘額 int

C++從零開始區塊區塊業務模組之建立交易和區塊

建立交易簡單,直接給結構體賦值就行 Transactions BlockChain::CreateTransactions(const std::string &sender, const std::string &recipient, float amount)

C++從零開始區塊區塊業務模組之基於boost的json讀寫

#include <boost/property_tree/ptree.hpp> #include <boost/property_tree/json_parser.hpp> std::string BlockChain::GetJsonFromBlock(Bloc

C++從零開始區塊區塊業務模組之區塊結構定義

區塊鏈的對外展示主要是以json的形式,我們先來定義一下json,主要是說明格式,資料什麼的我瞎寫的。實際應用中應該加入一個隨機值用作校驗,這裡就不加了 block = { 'index': 1, //索

C++從零開始區塊區塊業務模組之挖礦

挖礦就是找到一個滿足工作量驗證條件的工作量證明,當一個節點找到了一個工作量證明之後,首先以給自己新增一個挖礦交易的形式進行金額獎勵,即新增一個付款地址為0,收款地址為自己的交易到自己的交易記錄。然後錄他會將自己記錄的所有交易資訊打包程一個區塊,並向其他節點進行廣播。其他節點接收到以後會對工作

C++從零開始區塊區塊業務模組之工作量證明與驗證

原則上說,工作量證明演算法應該是計算困難,驗證容易,但我們這裡只為學習,一切從簡,使用一個簡單的工作量證明演算法:先取一個字串,如“Hello Shacoin!”,然後取一個自然整數,再將該整數轉成字串,銜接到前面的字串後面,形成一個新的字串。然後將這個新字串取雜湊,判斷雜湊的最後一位是不是

C++從零開始區塊區塊業務模組之交易地址生成

在比特幣中,為了避免地址重複、安全性等各種問題,比特幣的地址的生成過程是很繁瑣的。我們這裡由於只是學習其原理,一些實際中可能會遇到的問題就不予考慮了,將地址生成的過程最大程度的簡化。 簡化後的流程是:首先生成一對祕鑰,然後對公鑰取雜湊,再將雜湊轉成BASE64,最後生成的一組BASE64編

1.2 初識區塊區塊場景概念

數字貨幣  數字貨幣簡稱為DIGICCY,是英文“Digital Currency”(數字貨幣)的縮寫,是電子貨幣形式的替代貨幣。數字金幣和密碼貨幣都屬於數字貨幣(DIGICCY) 數字貨幣不同於

1.4 初識區塊區塊架構特點

去中心化  區塊鏈資料的儲存、傳輸、驗證等過程均基於分散式的系統結構,整個網路中沒有中心化的機構存在 。理論上所有參與的節點都具有同等權利和義務 可靠資料庫  1.區塊鏈系統的資料庫採用分散式

眾說區塊區塊應用場景之Token

上期《眾說區塊鏈》討論的主題是“區塊鏈在食品安全溯源領域中的應用”,圍繞這個主題,範璟瑋老師從基礎的概念到以步步雞為例的溯源事例就食品溯源這塊和大家一起進行了詳細的探討。 本期《眾說區塊鏈》討論的主題是“區塊鏈應用場景之Token”。近來區塊鏈中的公鏈發幣

和數傳媒區塊技術帶來場革命,但為何落地這麼難?

區塊鏈已經火了這麼長時間,但是真正的應用落地還是很少。 區塊鏈應用落地難,主要的原因是:技術正在完善,應用成本太高,不如中心化的執行效率。 區塊鏈技術要想落地應用,就必須提高處理資料數量和效率,就要允許更多節點參與其中,但節點越多,就越難形成共識,處理資料的效率就越低,這似乎是一條死衚

區塊技術區塊項科學技術發展的技術

包裝 技術發展 開發 作品 一次 避免 明顯 2017年 相同 區塊鏈是廣泛關註科學技術發展的技術之一。它幾乎擁有高科技的一切:分散化、安全性和客觀性。區塊鏈技術能否在公眾中得到實施和應用一直是人們廣泛關註的問題。 世界各地數以百萬計的區塊鏈行業從業者,眾多頂尖的聰明人,一

技術分享會區塊

.net 分布式系 區塊鏈 baidu detail 技術 perl 基金 https Hyperledger 項目是來自 Linux 基金會的一個新的協作項目 Hyperledger Fabric 是區塊鏈技術的實現,目標是成為開發區塊鏈應用和解決方案的基礎。

何璽對話蘇寧金融洪蜀寧區塊是顛覆性技術,意義遠超互聯網

區塊鏈日前,蘇寧金融上線了國內首個基於區塊鏈技術的金融行業區塊鏈黑名單共享平臺。該平臺可將金融機構的黑名單數據加密存儲在區塊鏈上,金融機構可通過獨立部署節點接入聯盟鏈,開展區塊鏈黑名單數據上傳和查詢等業務。據悉,未來該平臺還將納入灰名單、白名單、客戶標簽等各種金融信用數據,最終將打造為跨行業的信用數據共享平臺

談談區塊的理解 -- 讀《區塊技術驅動金融》

它的 rdquo 2017年 如何 book 算法 處理 解決 douban 今年網上關於數字貨幣和區塊鏈的文章和討論汗牛充棟,但我一直狐疑的是,有說的那麽厲害嗎,特別是看到“重新定義了金融”,“重新定義世界”,“