區(qū)塊鏈密碼學(xué)的基礎(chǔ)內(nèi)容介紹
大科普有幾天不見(jiàn)啦,今天又和大家見(jiàn)面啦。今天的主題依然是區(qū)塊鏈的基礎(chǔ)內(nèi)容,密碼學(xué)相關(guān)的東西。
密碼學(xué)是近代的產(chǎn)物,在各行各業(yè)已經(jīng)有了廣泛的使用,而區(qū)塊鏈主要就是構(gòu)建在密碼學(xué)之上的一種新技術(shù)。
密碼學(xué)的本質(zhì)數(shù)學(xué),區(qū)塊鏈基于密碼學(xué)構(gòu)建,實(shí)質(zhì)是基于數(shù)學(xué)。
密碼學(xué)/ Cryptography
密碼學(xué)是數(shù)學(xué)和計(jì)算機(jī)科學(xué)的分支,同時(shí)其原理大量涉及信息論。密碼學(xué)不只關(guān)注信息保密問(wèn)題,還同時(shí)涉及信息完整性驗(yàn)證(消息驗(yàn)證碼)、信息發(fā)布的不可抵賴性(數(shù)字簽名)、以及在分布式計(jì)算中產(chǎn)生的來(lái)源于內(nèi)部和外部的攻擊的所有信息安全問(wèn)題。
加密/ Cipher
加密是一系列使信息不可讀的過(guò)程,它能使信息加密也能使信息加密后能夠再次可讀,在加密貨幣中使用的密碼也使用由字母和數(shù)字組成的密鑰,該密鑰必須用于解密密碼。
加密算法/ Encryption Algorithm
加密算法是一個(gè)函數(shù),也可以視為是一把鑰匙,通過(guò)使用一個(gè)加密鑰匙,將原來(lái)的明文文件或數(shù)據(jù)轉(zhuǎn)化成一串不可讀的密文代碼。加密流程是不可逆的,只有持有對(duì)應(yīng)的解密鑰匙才能將該加密信息解密成可閱讀的明文。加密使得私密數(shù)據(jù)可以在低風(fēng)險(xiǎn)的情況下,通過(guò)公共網(wǎng)絡(luò)進(jìn)行傳輸,并保護(hù)數(shù)據(jù)不被第三方竊取、閱讀。
非對(duì)稱加密/ Asymmetric Cryptography
非對(duì)稱加密是一種保證區(qū)塊鏈安全的基礎(chǔ)技術(shù)。該技術(shù)含有兩個(gè)密鑰:公鑰和私鑰,首先,系統(tǒng)按照某種密鑰生成算法,將輸入經(jīng)過(guò)計(jì)算得出私鑰,然后,采用另一個(gè)算法根據(jù)私鑰生成公鑰,公鑰的生成過(guò)程不可逆。由于在現(xiàn)有的計(jì)算能力條件下難以通過(guò)公鑰來(lái)窮舉出私鑰(即計(jì)算上不可行),因此可以認(rèn)為是數(shù)據(jù)是安全的,從而能夠保證區(qū)塊鏈的數(shù)據(jù)安全。
鑰匙/ Key
鑰匙是使隱藏的、不可讀的信息可讀的一串秘密字母和數(shù)字。
密鑰/ Secret Key
密鑰是用于加密或解密信息的一段參數(shù),在非對(duì)稱加密系統(tǒng)中,是通過(guò)利用公鑰(賬戶)與私鑰(密碼)的配合而實(shí)現(xiàn)的。
公鑰/ Public Key
公鑰與私鑰是通過(guò)一種算法得到的一個(gè)密鑰對(duì),公鑰是密鑰對(duì)中公開(kāi)的部分,私鑰則是非公開(kāi)的部分,公鑰通常用于加密會(huì)話密鑰、驗(yàn)證數(shù)字簽名,或加密可以用相應(yīng)的私鑰解密的數(shù)據(jù)。
私鑰/ Private Key
公鑰與私鑰是通過(guò)一種算法得到的一個(gè)密鑰對(duì),公鑰是密鑰對(duì)中公開(kāi)的部分,私鑰則是非公開(kāi)的部分,私鑰是指與一個(gè)地址(地址是與私鑰相對(duì)應(yīng)的公鑰的哈希值)相關(guān)聯(lián)的一把密鑰,是只有你自己才知道的一串字符,可用來(lái)操作賬戶里的加密貨幣。
同態(tài)加密/ Homomorphic EncrypTIon
同態(tài)加密是一種特殊的加密方法,允許對(duì)密文根據(jù)特定的代數(shù)運(yùn)算方式進(jìn)行處理后得到的仍然是加密的結(jié)果,將其解密所得到的結(jié)果與對(duì)明文進(jìn)行同樣的運(yùn)算結(jié)果是一樣的。即“對(duì)密文直接進(jìn)行處理”與“對(duì)明文進(jìn)行處理后并加密”其結(jié)果是一樣的,這項(xiàng)技術(shù)可以在加密的數(shù)據(jù)中進(jìn)行諸如檢索、比較等操作而無(wú)需對(duì)數(shù)據(jù)先進(jìn)行解密,從根本上解決將數(shù)據(jù)委托給第三方時(shí)的保密問(wèn)題。
公鑰加密/ Asymmetric Cryptography / Public Key Cryptography
公鑰加密是一種特殊的加密手段,具有在同一時(shí)間生成兩個(gè)密鑰的處理(私鑰和公鑰),每一個(gè)私鑰都有一個(gè)相對(duì)應(yīng)的公鑰,從公鑰不能推算出私鑰,并且被用其中一個(gè)密鑰加密了的數(shù)據(jù),可以被另外一個(gè)相對(duì)應(yīng)的密鑰解密。這套系統(tǒng)使得節(jié)點(diǎn)可以先在網(wǎng)絡(luò)中廣播一個(gè)公鑰給所有節(jié)點(diǎn),然后所有節(jié)點(diǎn)就可以發(fā)送加密后的信息給該節(jié)點(diǎn),而不需要預(yù)先交換密鑰。
RSA 加密算法/ RSA Algorithm
RSA 公開(kāi)密鑰密碼體制是使用不同的加密密鑰與解密密鑰,是一種“由已知加密密鑰推導(dǎo)出解密密鑰在計(jì)算上是不可行的”密碼體制。它通常是先生成一對(duì) RSA 密鑰,其中之一是保密密鑰,由用戶保存; 另一個(gè)為公開(kāi)密鑰,可對(duì)外公開(kāi),甚至可在網(wǎng)絡(luò)服務(wù)器中注冊(cè)。
橢圓加密算法/ EllipTIc Curve Cryptography / ECC
橢圓加密算法是一種公鑰加密體制,最初由 Koblitz和 Miller 兩人于 1985 年提出,其數(shù)學(xué)基礎(chǔ)是利用橢圓曲線上的有理點(diǎn)構(gòu)成 Abel 加法群上橢圓離散對(duì)數(shù)的計(jì)算困難性。
今天介紹的內(nèi)容是比較專業(yè)的,所以今天就簡(jiǎn)單說(shuō)下粗略的介紹吧,至于原理啥的小編可不敢胡亂發(fā)言,不能誤導(dǎo)了大家。
一般來(lái)說(shuō)加密算法分為對(duì)稱加密算法和非對(duì)稱加密算法,區(qū)塊鏈主要使用的是非對(duì)稱加密算法。
非對(duì)稱加密的主要特性是加密和解密使用的不是同一把密鑰,需要解密的人不需要加密的人傳輸密鑰給他,就避免了密鑰在傳輸過(guò)程中被盜取的可能性。
非對(duì)稱加密里橢圓加密算法是比特幣主要使用的加密算法,當(dāng)然還有(哈希)散列加密算法。
比特幣常見(jiàn)的公鑰和私鑰,就是由橢圓曲線加密算法生成,私鑰可推出公鑰而反之不能,這一特性也是保證比特幣系統(tǒng)安全的重要特性。