加密演算法與區塊鏈
A. 如何理解區塊鏈與區塊鏈技術
區塊鏈技術用數學方法實現分布式記賬,並解決信任問題,從而完成了去中心化,將在通信、金融、物聯網、政府管理等眾多領域帶來深遠的影響。
區塊鏈(Blockchain)是指通過去中心化和去信任的方式集體維護一個可靠資料庫的技術方案,是一種全民參與記賬的技術方式。而此前的記賬方式都是中心化的,需要中心化的中介,無論這個中介是傳統的政府、金融機構、公證機構還是新興的電商平台、網路支付平台。
經濟學假設中,信息是充分的。實際上,正是因為信息不充分,才存在非常龐大的中介機構。而中介機構的存在,增加了交易成本,提高了交易門檻。區塊鏈技術本質上來說是一個大規模協作工具,它首次使用純技術方式讓直接的價值轉移成為可能,並延續了互聯網去中心化和去中介化的趨勢。去中介的區塊鏈技術將極大地顛覆信息中介行業。
區塊鏈技術是構建比特幣數據結構與交易信息加密傳輸的基礎技術,該技術實現了比特幣的發行與交易。區塊鏈技術的核心是所有當前參與的節點共同維護交易及資料庫,使交易基於密碼學原理而不基於信任,使得任何達成一致的雙方,能夠直接進行支付交易,不需第三方的參與。
從技術上來講,區塊是一種記錄交易的數據結構,反映了一筆交易的資金流向。系統中已經達成交易的區塊連接在一起形成了一條主鏈,所有參與計算的節點都記錄了主鏈或主鏈的一部分。
一個區塊包含以下三部分:交易信息、前一個區塊形成的哈希散列和隨機數。交易信息是區塊所承載的任務數據,具體包括交易雙方的私鑰、交易的數量、電子貨幣的數字簽名等;前一個區塊形成的哈希散列用來將區塊連接起來,實現過往交易的順序排列;隨機數是交易達成的核心,所有節點競爭計算隨機數的答案,最快得到答案的節點生成一個新的區塊,並廣播到所有節點進行更新,如此完成一筆交易。
B. 區塊鏈技術的機密性是如何實現的
因為區塊鏈技術對實現智能合約存在天然的優勢。
比特幣、瑞泰幣、萊特幣、以太坊等數字加密貨幣都使用了區塊鏈技術。
區塊鏈(Blockchain)是比特幣的一個重要概念,本質上是一個去中心化的資料庫,同時作為比特幣的底層技術。區塊鏈是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網路交易的信息,用於驗證其信息的有效性(防偽)和生成下一個區塊。
C. 加密數字資產和區塊鏈技術有什麼區別
區塊鏈(Blockchain)是指通過去中心化和去信任的方式集體維護一個可靠資料庫的技術方案。該技術方案主要讓參與系統中的任意多個節點,通過一串使用密碼學方法相關聯產生的數據塊(block),每個數據塊中包含了一定時間內的系統全部信息交流數據,並且生成數據指紋用於驗證其信息的有效性和鏈接(chain)下一個資料庫塊。
區塊鏈技術源於比特幣,它的本質是運用計算機演算法和密碼學等技術創造一種去中心化的數字貨幣系統,實現貨幣的發行和交易功能。
區塊鏈技術的特徵:
1、去中心化(Decentralized):整個網路沒有中心化的硬體或者管理機構,任意節點之間的權利和義務都是均等的,且任一節點的損壞或者失去都會不影響整個系統的運作。因此也可以認為區塊鏈系統具有極好的健壯性。
2、去信任(Trustless):參與整個系統中的每個節點之間進行數據交換是無需互相信任的,整個系統的運作規則是公開透明的,所有的數據內容也是公開的,因此在系統指定的規則范圍和時間范圍內,節點之間是不能也無法欺騙其它節點。
3、集體維護(Collectively maintain):系統中的數據塊由整個系統中所有具有維護功能的節點來共同維護的,而這些具有維護功能的節點是任何人都可以參與的。
4、可靠資料庫(Reliable Database):整個系統將通過分資料庫的形式,讓每個參與節點都能獲得一份完整資料庫的拷貝。除非能夠同時控制整個系統中超過51%的節點,否則單個節點上對資料庫的修改是無效的,也無法影響其他節點上的數據內容。因此參與系統中的節點越多和計算能力越強,該系統中的數據安全性越高。
由四個特徵會引申出另外2個特徵:
5、開源(Open Source):由於整個系統的運作規則必須是公開透明的,所以對於程序而言,整個系統必定會是開源的。
6、匿名性(Anonymity):由於節點和節點之間是無需互相信任的,因此節點和節點之間無需公開身份,在系統中的每個參與的節點都是匿名的。
加密數字資產EGD:E-Gold Coin, 簡稱EGD, 是基於點對點互聯網開源協議形成的網路加密數字資產,它在去中心化的網路系統中流通。EGD作為全球商業消費者從商家獲贈的一種消費資產,用來替代傳統商業社會中由商家各自發行的積分,實現了全球商業積分網路化,一體化和資產化。
EGD即網路黃金,是基於去中心化的數字加密技術而生成的加密數字資產。EGD誕生於2014年1月,由以微軟前工程師為首的來自全球7個國家的17名技術專家組成的團隊研發。EGD將加密數字資產技術引用到了全球商業統一積分領域,能夠讓全球消費者通過EGD商業積分的流通和增值持續分享商業社會的利潤,打造商家與消費者共贏的經濟模式。
定製EGD的特點:
利用定製技術我們可以輕易的構建各種各樣的基於EGD協議的智能資產,包括股票、債券、或者各種衍生積分等。
更重要的是,定製技術在擴展EGD應用范圍的同時,仍然保留了EGD產權明晰,去中心化的特點。並且,因為定製積分數量有限,就造就了定製積分更強的稀缺性。
D. 什麼是數據區塊鏈(BlockChain)怎麼解釋讓人更容易理解
想了解區塊鏈應用,可以多參考很多書籍和觀點,有《圖說區塊鏈》《區塊鏈:重塑經濟與世界》《新經濟藍圖與導讀》,還有幣安社區的文章,包括對幣安社區這個平台也詳細了解,實力牛X。
一、區塊鏈是什麼
區塊鏈(Blockchain),顧名思義,是由區塊(Block)和鏈(chain)組成,它是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造、安全可信的分布式賬本。
2008年,中本聰發表的論文《比特幣:一種點對點的電子現金系統》中第一次提出區塊鏈和加密數字貨幣的構想。從比特幣開始,區塊鏈成為各種各樣數字貨幣的底層技術。
二、區塊鏈的工作原理:
1、基本概念包括:(1)交易(Transaction):操作一次,會使賬本狀態改變一次,如添加一條記錄;(2)區塊(Block):記錄規定時間內發生的交易和狀態數據,是對當前賬本狀態的一次共識和保存;(3)鏈(Chain):由一個個區塊按照時間順序串聯而成,是整個狀態變化的日誌記錄。理解了區塊鏈的工作概念也就不難理解其工作原理,假設存在一個分布式的數據記錄本,這個記錄本只允許添加、不允許刪除和更改,其結構是由一個個「區塊」串聯而成的線性的鏈(這也是「區塊鏈」名字的來源),新的數據要加入,必須放到一個新的區塊中,維護節點可以提議一個新的區塊,但是必須經過一定的共識機制來對最終選擇的區塊達成一致。
2、以比特幣為例來看區塊鏈的工作原理。
比特幣的區塊分為區塊頭和區塊體兩部分。
三.區塊鏈的核心優勢和特點
1、去中心化區塊鏈數據的驗證、記賬、存儲、維護和傳輸等過程均是基於分布式系統結構,不存在中心化的硬體或管理機構,任意節點的權利和義務都是均等的,系統中的數據塊由整個系統中具有維護功能的節點來共同維護。2、開放透明系統是開放的,除了交易各方的私有信息被加密外,區塊鏈的數據對所有人公開,任何人都可以通過公開的介面查詢區塊鏈數據和開發相關應用,因此整個系統信息高度透明。3、安全性區塊鏈採用基於協商一致的規范和協議(比如一套公開透明的演算法)使得整個系統中的所有節點能夠在去信任的環境自由安全的交換數據,使得對「人」的信任改成了對機器的信任,任何人為的干預不起作用。4、信息不可篡改一旦信息經過驗證並添加至區塊鏈,就會永久的存儲起來,除非能夠同時控制住系統中超過51%(幾乎不可能)的節點,否則單個節點上對資料庫的修改是無效的,因此區塊鏈的數據穩定性和可靠性極高。5、匿名性由於節點之間的交換遵循固定的演算法,其數據交互是無需信任的(區塊鏈中的程序規則會自行判斷活動是否有效),因此交易對手無須通過公開身份的方式讓對方自己產生信任,對信用的累積非常有幫助。
四、區塊鏈的分類
目前來說,區塊鏈最主流的分類是根據參與者的不同,把區塊鏈分為公有鏈(Public Blockchain)、私有鏈(Private Blockchain)和聯盟鏈(Consortium Blockchain)。
1、公有鏈:任何人都可以參與使用和維護,並且能夠獲得該區塊鏈的有效確認,公有鏈是最早的區塊鏈,也是目前應用最廣泛的區塊鏈,典型的如比特幣區塊鏈,信息是完全公開的。
如果引入許可機制,包括私有鏈和聯盟鏈兩種。2、私有鏈:一個公司或者個人,僅使用區塊鏈的技術,獨享該區塊鏈的寫入許可權,信息不公開。目前保守的巨頭(傳統金融)都是想實驗嘗試私有區塊鏈,私鏈的應用產品還在摸索當中。3、聯盟鏈:是介於公有鏈和似有鏈之間,由多個組織共同控制的區塊鏈,該鏈的使用是有許可權的管理,可以受制於管理者,也根據管理者的意願開放給他人。除此之外,根據區塊鏈使用場景和目的的不同,分為以數字貨幣為目的的貨幣鏈,以記錄產權為目的的產權鏈,以眾籌為目的的眾籌鏈等。
五、區塊鏈的具體應用場景分析
1、信息防偽
5月28日,騰訊CEO馬化騰在貴陽數博會上就茅台酒打假問題提出了:基於雲端的綜合區塊鏈技術的防偽方法,其效率將遠高於傳統防偽方式。未來的防偽驗證場景可能只需用戶使用手機進行簡單的掃描,就可以得到大量的基於不同的維度的完整信息。
以茅台酒為例:
酒廠地址,製作車間,操作員工,檢驗員,出廠時間,運輸車輛信息及駕駛人員信息,
酒的年份原料來源,原料提供商,保存倉庫編號,原料運輸車輛及駕駛人員信息,
所有的信息都能夠精準溯源,被永久記錄且不可篡改。
綜合以上信息即可輕易驗證真偽。
2、食品安全問題
早在去年11月份沃爾瑪就已經和IBM進行合作,通過使用區塊鏈技術來追蹤食品來源,以此來確保食品的安全性及增加食品的而流通性以降低成本,對於沃爾瑪等大型超市來說,以往出現食品安全問題需要幾天時間進行問題食品的來源調查,使用了此項技術之後,只需要產品的一項信息就能夠做到精準溯源,食品產地、檢驗者、供應商、物流運輸等重要信息,幾分鍾之內就能快速發現問題。目前來說使用區塊鏈追蹤的產品有包括美國的包裝產品和中國的豬肉。
3、信息安全
區塊鏈技術正在推動一場信息安全技術變革。中間人攻擊、數據篡改、DDoS三大安全威脅
(1)身份保護
PKI是電子郵件、消息應用、網站等各種通訊應用中常見的公鑰加密技術。但是由於大多數PKI的實現以來集中式的可信第三方認證機構(CA)來發放、激活和存儲用戶證書,黑客可攻擊PKI假冒用戶身份或破解加密信息。
CertCoin是首個區塊鏈PKI實現,來自MIT,去除了中心化的認證中心,以區塊鏈作為於域名和公鑰的分布式賬本。
Pomcor公司:區塊鏈PKI實現路徑:保留認證中心,用區塊鏈存儲已經發放和激活的證書的hash值。用戶通過去中心化和透明的來源鑒別證書的真實性,同時還能通過本地基於區塊鏈拷貝進行秘鑰和簽名的認證來提高網路訪問性能。
(2)數據完整性保護
GuardTime開發了基於區塊鏈技術的無秘鑰簽名架構(KSI),取代基於秘鑰的數據認證技術。KSI在區塊鏈上存儲原始數據和文件的哈希表,運行哈希演算法來驗證其他拷貝,將結果與區塊鏈存儲的數據對比。任何數據的篡改都會被迅速發現,因為原始哈希表存儲在數以百萬計的節點。
(3)關鍵基礎設施保護
互聯網的「阿喀琉斯之踵」,DDoS進入TB時代,DDoS仍然是黑客低成本搞垮大目標的最簡單的武器,DNS服務是黑客進行大規模破壞的首要目標,但區塊鏈技術有望從根本上解決。
區塊鏈的分布式存儲,使黑客攻擊失去焦點,Nebulis正在開發一種分布式DNS系統,使用以太坊區塊鏈和星際互聯文件系統(IPFS,HTTP的分布式替代品)來注冊和解析域名。DNS最大弱點是緩存,緩存使DDoS攻擊成為可能,也是集權政府審查社交網路,操縱DNS注冊的禍根。一個高度透明的、分布式的DNS系統能夠有效杜絕任何實體,包括政府恣意操縱記錄。
四、金融行業
(1)數字貨幣:提高貨幣發行及使用的便利性
如國外的比特幣、以太幣,我國目前有果仁寶等等。
從使用實物交易,到物理貨幣和信用貨幣,再到比特幣網路的崛起,讓更多的人意識到其背後的分布式賬本區塊鏈技術,逐步在數字貨幣外的許多場景進行應用。
(2)跨境支付與結算:實現點到點交易,減少中間費用
轉賬與支付。目前,區塊鏈技術最成熟的應用便是支付與轉賬,區塊鏈技術能夠避免繁雜的系統,省卻銀行間對賬和審查的流程,加速結算速度;用虛擬貨幣無需清算所的介入,減少交易費用。各國家的清算程序不同,單筆匯款需2、3天才到帳,效率低,在途資金佔比極大。不再通過第三方,通過區塊鏈技術形成點對點的支付。省去第三方機構的環節,即可全天支付、實時到賬、提現快捷及降低隱形成本,有助於規避資金風險。具有及時性便利性。
(3)票據與供應鏈金融業務:減少人為介入,降低成本及操作風險
點對點之間的價值傳遞,實物票據或中心系統進行控制驗證;中介將被消除,減少人為介入。效率的提升,融資渠道更暢通,風險更低,多方受益。
(4)證券發行與交易:實現准實時資產轉移,加速交易清算速度
區塊鏈技術的應用可使證券交易的流程更簡潔、透明、快速,減少重復功能的IT系統,提高市場運轉的效率。對於股票,區塊鏈可以消除紙筆或電子表格記錄,減少交易的人為差錯,提高交易平台的透明度和可追蹤性。花旗與納斯達克合作推進區塊鏈應用。
(5)客戶徵信與反欺詐:降低法律合規成本,防止金融犯罪
記載於區塊鏈中的客戶信息與交易紀錄有助於銀行識別異常交易並有效防止欺詐。區塊鏈的技術特性可以改變現有的徵信體系,在銀行進行「認識你的客戶」(KYC)時,將不良紀錄客戶的數據儲存在區塊鏈中。
股權眾籌:建立在區塊鏈技術上的股權眾籌可以實現去中心化信任,投資者的回報也得到保證。
5、供應鏈管理
分布式分類帳系統,參與者全程跟蹤資產的所有權,可應用於國家和工廠之間移動時跟蹤汽車零件。
豐田為其核心零部件供應鏈運營,研發區塊鏈技術解決方案的前提。通過大量的數據幫助豐田更高效地確保記錄數據准確性,也能幫助管理供應鏈。同時,區塊鏈供應鏈能夠通過智能合同來控制保修,維修貨物相關成本和規格,整個產品生命周期內的交易不可撤銷。
航運業的第一個公共解決方案解決方案由海運國際(MTI)部署,使用區塊鏈供應鏈技術共享運輸集裝箱的驗證總量(VGM)信息。有關集裝箱VGM的信息對於確保船舶正確存放,防止在海上和港口事故發生是非常重要的。VGM數據存儲在區塊鏈供應鏈上,為港口官員,運輸公司,托運人和貨主提供永久記錄。這取代了麻煩的日誌,電子表格,數據中介和私人資料庫。
物流誠信體系 貨車幫貨車幫推出基於區塊鏈的物流企業金融解決方案,旨在為企業提供可靠的金融服務。不僅能幫助司機解決貸款難的問題,亦能改變行業誠信缺失的現狀,助力打造物流誠信體系。幫助構建物流企業身份鏈,打造物流企業可信數據生態。以透明、可監督、可追溯的演算法模型,篩選需要資金支持且可靠的企業,為其提供金融服務。另一方面,在技術層面將各執法部門鏈接起來,對失信企業進行聯合處罰。
6、政務管理
(1)選舉
基於區塊鏈技術特徵,聯想到現在選舉技術的弊端,我們將搭建一個開源的、針對選舉、投票和彩票的區塊鏈應用,我們稱之為選舉鏈(ElectionChain)。我們希望優化選舉和投票技術,使得投票更加公開透明,減少人為操控,讓選民可驗證自己的選舉結果。
包括身份認證、多鏈體系、閃投協議、共識演算法EDPOS、隱私保護、選票機制設計、去中心化ELC租借市場、存貯方案、智能合約等。
(2)政務服務
旨在實現基於區塊鏈技術的電子政務數字生態系統,向公民提供政務服務和政府各部門業務的自動化機制,必須將國家政務所有領域結合在一起,形成一個共有的信息空間,包含政府機構、經濟數據、金融交易和社會領域。這個生態系統還應包括注冊管理部門機構和對應軟體,用於構建基於智能合約的政府機構、企業和公共用戶的應用程序和平台。
E. 區塊鏈密碼演算法是怎樣的
區塊鏈作為新興技術受到越來越廣泛的關注,是一種傳統技術在互聯網時代下的新的應用,這其中包括分布式數據存儲技術、共識機制和密碼學等。隨著各種區塊鏈研究聯盟的創建,相關研究得到了越來越多的資金和人員支持。區塊鏈使用的Hash演算法、零知識證明、環簽名等密碼演算法:
Hash演算法
哈希演算法作為區塊鏈基礎技術,Hash函數的本質是將任意長度(有限)的一組數據映射到一組已定義長度的數據流中。若此函數同時滿足:
(1)對任意輸入的一組數據Hash值的計算都特別簡單;
(2)想要找到2個不同的擁有相同Hash值的數據是計算困難的。
滿足上述兩條性質的Hash函數也被稱為加密Hash函數,不引起矛盾的情況下,Hash函數通常指的是加密Hash函數。對於Hash函數,找到使得被稱為一次碰撞。當前流行的Hash函數有MD5,SHA1,SHA2,SHA3。
比特幣使用的是SHA256,大多區塊鏈系統使用的都是SHA256演算法。所以這里先介紹一下SHA256。
1、 SHA256演算法步驟
STEP1:附加填充比特。對報文進行填充使報文長度與448模512同餘(長度=448mod512),填充的比特數范圍是1到512,填充比特串的最高位為1,其餘位為0。
STEP2:附加長度值。將用64-bit表示的初始報文(填充前)的位長度附加在步驟1的結果後(低位位元組優先)。
STEP3:初始化緩存。使用一個256-bit的緩存來存放該散列函數的中間及最終結果。
STEP4:處理512-bit(16個字)報文分組序列。該演算法使用了六種基本邏輯函數,由64 步迭代運算組成。每步都以256-bit緩存值為輸入,然後更新緩存內容。每步使用一個32-bit 常數值Kt和一個32-bit Wt。其中Wt是分組之後的報文,t=1,2,...,16 。
STEP5:所有的512-bit分組處理完畢後,對於SHA256演算法最後一個分組產生的輸出便是256-bit的報文。
2、環簽名
2001年,Rivest, shamir和Tauman三位密碼學家首次提出了環簽名。是一種簡化的群簽名,只有環成員沒有管理者,不需要環成員間的合作。環簽名方案中簽名者首先選定一個臨時的簽名者集合,集合中包括簽名者。然後簽名者利用自己的私鑰和簽名集合中其他人的公鑰就可以獨立的產生簽名,而無需他人的幫助。簽名者集合中的成員可能並不知道自己被包含在其中。
環簽名方案由以下幾部分構成:
(1)密鑰生成。為環中每個成員產生一個密鑰對(公鑰PKi,私鑰SKi)。
(2)簽名。簽名者用自己的私鑰和任意n個環成員(包括自己)的公鑰為消息m生成簽名a。
(3)簽名驗證。驗證者根據環簽名和消息m,驗證簽名是否為環中成員所簽,如果有效就接收,否則丟棄。
環簽名滿足的性質:
(1)無條件匿名性:攻擊者無法確定簽名是由環中哪個成員生成,即使在獲得環成員私鑰的情況下,概率也不超過1/n。
(2)正確性:簽名必需能被所有其他人驗證。
(3)不可偽造性:環中其他成員不能偽造真實簽名者簽名,外部攻擊者即使在獲得某個有效環簽名的基礎上,也不能為消息m偽造一個簽名。
3、環簽名和群簽名的比較
(1)匿名性。都是一種個體代表群體簽名的體制,驗證者能驗證簽名為群體中某個成員所簽,但並不能知道為哪個成員,以達到簽名者匿名的作用。
(2)可追蹤性。群簽名中,群管理員的存在保證了簽名的可追蹤性。群管理員可以撤銷簽名,揭露真正的簽名者。環簽名本身無法揭示簽名者,除非簽名者本身想暴露或者在簽名中添加額外的信息。提出了一個可驗證的環簽名方案,方案中真實簽名者希望驗證者知道自己的身份,此時真實簽名者可以通過透露自己掌握的秘密信息來證實自己的身份。
(3)管理系統。群簽名由群管理員管理,環簽名不需要管理,簽名者只有選擇一個可能的簽名者集合,獲得其公鑰,然後公布這個集合即可,所有成員平等。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
F. 區塊鏈中的哈希演算法的作用是什麼
區塊鏈通過哈希演算法對一個交易區塊中的交易信息進行加密,並把信息壓縮成由一串數字和字母組成的散列字元串。
金窩窩集團分析其哈希演算法的作用如下:
區塊鏈的哈希值能夠唯一而精準地標識一個區塊,區塊鏈中任意節點通過簡單的哈希計算都接獲得這個區塊的哈希值,計算出的哈希值沒有變化也就意味著區塊鏈中的信息沒有被篡改。
G. 學習區塊鏈加密演算法的公司有哪些
去鏈派社區看看吧
H. 區塊鏈使用安全如何來保證呢
區塊鏈本身解決的就是陌生人之間大規模協作問題,即陌生人在不需要彼此信任的情況下就可以相互協作。那麼如何保證陌生人之間的信任來實現彼此的共識機制呢?中心化的系統利用的是可信的第三方背書,比如銀行,銀行在老百姓看來是可靠的值得信任的機構,老百姓可以信賴銀行,由銀行解決現實中的糾紛問題。但是,去中心化的區塊鏈是如何保證信任的呢?
實際上,區塊鏈是利用現代密碼學的基礎原理來確保其安全機制的。密碼學和安全領域所涉及的知識體系十分繁雜,我這里只介紹與區塊鏈相關的密碼學基礎知識,包括Hash演算法、加密演算法、信息摘要和數字簽名、零知識證明、量子密碼學等。您可以通過這節課來了解運用密碼學技術下的區塊鏈如何保證其機密性、完整性、認證性和不可抵賴性。
基礎課程第七課 區塊鏈安全基礎知識
一、哈希演算法(Hash演算法)
哈希函數(Hash),又稱為散列函數。哈希函數:Hash(原始信息) = 摘要信息,哈希函數能將任意長度的二進制明文串映射為較短的(一般是固定長度的)二進制串(Hash值)。
一個好的哈希演算法具備以下4個特點:
1、 一一對應:同樣的明文輸入和哈希演算法,總能得到相同的摘要信息輸出。
2、 輸入敏感:明文輸入哪怕發生任何最微小的變化,新產生的摘要信息都會發生較大變化,與原來的輸出差異巨大。
3、 易於驗證:明文輸入和哈希演算法都是公開的,任何人都可以自行計算,輸出的哈希值是否正確。
4、 不可逆:如果只有輸出的哈希值,由哈希演算法是絕對無法反推出明文的。
5、 沖突避免:很難找到兩段內容不同的明文,而它們的Hash值一致(發生碰撞)。
舉例說明:
Hash(張三借給李四10萬,借期6個月) = 123456789012
賬本上記錄了123456789012這樣一條記錄。
可以看出哈希函數有4個作用:
簡化信息
很好理解,哈希後的信息變短了。
標識信息
可以使用123456789012來標識原始信息,摘要信息也稱為原始信息的id。
隱匿信息
賬本是123456789012這樣一條記錄,原始信息被隱匿。
驗證信息
假如李四在還款時欺騙說,張三隻借給李四5萬,雙方可以用哈希取值後與之前記錄的哈希值123456789012來驗證原始信息
Hash(張三借給李四5萬,借期6個月)=987654321098
987654321098與123456789012完全不同,則證明李四說謊了,則成功的保證了信息的不可篡改性。
常見的Hash演算法包括MD4、MD5、SHA系列演算法,現在主流領域使用的基本都是SHA系列演算法。SHA(Secure Hash Algorithm)並非一個演算法,而是一組hash演算法。最初是SHA-1系列,現在主流應用的是SHA-224、SHA-256、SHA-384、SHA-512演算法(通稱SHA-2),最近也提出了SHA-3相關演算法,如以太坊所使用的KECCAK-256就是屬於這種演算法。
MD5是一個非常經典的Hash演算法,不過可惜的是它和SHA-1演算法都已經被破解,被業內認為其安全性不足以應用於商業場景,一般推薦至少是SHA2-256或者更安全的演算法。
哈希演算法在區塊鏈中得到廣泛使用,例如區塊中,後一個區塊均會包含前一個區塊的哈希值,並且以後一個區塊的內容+前一個區塊的哈希值共同計算後一個區塊的哈希值,保證了鏈的連續性和不可篡改性。
二、加解密演算法
加解密演算法是密碼學的核心技術,從設計理念上可以分為兩大基礎類型:對稱加密演算法與非對稱加密演算法。根據加解密過程中所使用的密鑰是否相同來加以區分,兩種模式適用於不同的需求,恰好形成互補關系,有時也可以組合使用,形成混合加密機制。
對稱加密演算法(symmetric cryptography,又稱公共密鑰加密,common-key cryptography),加解密的密鑰都是相同的,其優勢是計算效率高,加密強度高;其缺點是需要提前共享密鑰,容易泄露丟失密鑰。常見的演算法有DES、3DES、AES等。
非對稱加密演算法(asymmetric cryptography,又稱公鑰加密,public-key cryptography),與加解密的密鑰是不同的,其優勢是無需提前共享密鑰;其缺點在於計算效率低,只能加密篇幅較短的內容。常見的演算法有RSA、SM2、ElGamal和橢圓曲線系列演算法等。 對稱加密演算法,適用於大量數據的加解密過程;不能用於簽名場景:並且往往需要提前分發好密鑰。非對稱加密演算法一般適用於簽名場景或密鑰協商,但是不適於大量數據的加解密。
三、信息摘要和數字簽名
顧名思義,信息摘要是對信息內容進行Hash運算,獲取唯一的摘要值來替代原始完整的信息內容。信息摘要是Hash演算法最重要的一個用途。利用Hash函數的抗碰撞性特點,信息摘要可以解決內容未被篡改過的問題。
數字簽名與在紙質合同上簽名確認合同內容和證明身份類似,數字簽名基於非對稱加密,既可以用於證明某數字內容的完整性,同時又可以確認來源(或不可抵賴)。
我們對數字簽名有兩個特性要求,使其與我們對手寫簽名的預期一致。第一,只有你自己可以製作本人的簽名,但是任何看到它的人都可以驗證其有效性;第二,我們希望簽名只與某一特定文件有關,而不支持其他文件。這些都可以通過我們上面的非對稱加密演算法來實現數字簽名。
在實踐中,我們一般都是對信息的哈希值進行簽名,而不是對信息本身進行簽名,這是由非對稱加密演算法的效率所決定的。相對應於區塊鏈中,則是對哈希指針進行簽名,如果用這種方式,前面的是整個結構,而非僅僅哈希指針本身。
四 、零知識證明(Zero Knowledge proof)
零知識證明是指證明者在不向驗證者提供任何額外信息的前提下,使驗證者相信某個論斷是正確的。
零知識證明一般滿足三個條件:
1、 完整性(Complteness):真實的證明可以讓驗證者成功驗證;
2、 可靠性(Soundness):虛假的證明無法讓驗證者通過驗證;
3、 零知識(Zero-Knowledge):如果得到證明,無法從證明過程中獲知證明信息之外的任何信息。
五、量子密碼學(Quantum cryptography)
隨著量子計算和量子通信的研究受到越來越多的關注,未來量子密碼學將對密碼學信息安全產生巨大沖擊。
量子計算的核心原理就是利用量子比特可以同時處於多個相干疊加態,理論上可以通過少量量子比特來表達大量信息,同時進行處理,大大提高計算速度。
這樣的話,目前的大量加密演算法,從理論上來說都是不可靠的,是可被破解的,那麼使得加密演算法不得不升級換代,否則就會被量子計算所攻破。
眾所周知,量子計算現在還僅停留在理論階段,距離大規模商用還有較遠的距離。不過新一代的加密演算法,都要考慮到這種情況存在的可能性。
I. 什麼是區塊鏈加密演算法
這個是比特幣的一個重要概念,比特幣的底層技術區塊鏈運用了很多優秀的加密演算法來保證系統可靠性。具體的理解和操作可以去下載鏈派社區app,聽一下裡面講師的課程,你就清楚了。