什么是公鑰加密和數(shù)字簽名
在這篇文章中,我們將進(jìn)一步討論它是如何處理信息交換的。但是為了達(dá)到這一點(diǎn),我們將從底部技術(shù)開(kāi)始認(rèn)識(shí)。那么,讓我們首先討論一下公鑰加密(也稱(chēng),非對(duì)稱(chēng)加密)。
對(duì)稱(chēng)加密:
在對(duì)稱(chēng)加密中,我們使用相同的密鑰來(lái)加密密文和解密密文。
下圖說(shuō)明了對(duì)稱(chēng)加密的過(guò)程。
那么對(duì)稱(chēng)加密,有什么問(wèn)題嗎?問(wèn)題是,你要把鑰匙寫(xiě)在紙上,然后把它寄給另一個(gè)人。但是,這顯然不是一個(gè)有效的方法。因此,您可以在網(wǎng)絡(luò)上共享密鑰,但這里有一個(gè)陷阱,任何身份的人都可以侵入網(wǎng)絡(luò),并使用您的密鑰來(lái)解密該消息。
不對(duì)稱(chēng)加密的拯救行動(dòng):
· 在不對(duì)稱(chēng)加密體制中,我們生成一對(duì)密鑰,即私鑰和公鑰。
· 公鑰和私鑰在數(shù)學(xué)上是連接在一起的,但不能從另一個(gè)派生而來(lái)。
· 一個(gè)公鑰就像一個(gè)分配給你的假名,你和每個(gè)人分享它,而私鑰扮演的是“為你說(shuō)話(huà)”的角色。
· 這就是它的工作原理。您獲取一個(gè)消息,用您的私鑰加密它并發(fā)送給接收者?,F(xiàn)在,接收方可以使用您的公鑰解密它,并驗(yàn)證消息是否來(lái)自合法的發(fā)送方。
· 所以,你一定在想,如果每個(gè)人都有我的公鑰,那么任何人都能看到這些信息。
· 現(xiàn)在假設(shè)Alice和Bob想在互聯(lián)網(wǎng)上共享一些信息。因此,它們就會(huì)生成自己的一組公鑰和私鑰。
· 他們都互相交換公鑰,并將私鑰保存在自己身上。Alice可以使用Bob的公鑰和Alice的私鑰向Bob發(fā)送加密消息。
· 那么,也就是說(shuō),當(dāng)Bob收到消息時(shí),他使用Alice的公鑰來(lái)確保消息來(lái)自Alice(只有Alice的公鑰可以解密使用Alice的私鑰加密的消息)的私鑰來(lái)確保消息是為他發(fā)送的。
讓我們討論一下數(shù)字簽名
· 你簽過(guò)支票賬單嗎?因此,您必須了解簽名的概念。它們可以作為你同意你簽署的文件的證明,它與特定的文件綁定在一起,不能復(fù)制粘貼到其他文件上。
根據(jù)維基百科: 數(shù)字簽名是一種數(shù)學(xué)方案,用來(lái)表示數(shù)字信息或文檔的真實(shí)性。有效的數(shù)字簽名使接收方有理由相信消息是由已知的發(fā)送方(身份驗(yàn)證)創(chuàng)建的,發(fā)送方不能否認(rèn)發(fā)送過(guò)得消息,并且消息在傳輸過(guò)程中要確保沒(méi)有被修改。因此,數(shù)字簽名涉及三個(gè)步驟:
· GenerateKeys :首先我們生成一對(duì)公共密鑰(pk)和私人秘鑰(sk)。私鑰用于簽名,公共密鑰用于驗(yàn)證簽名者。
(sk,pk):=generateKeys(keysize in bits)
· 簽署消息:然后我們使用密鑰在消息上簽名。
isValid:=verify(pk,message,sig)==true
· 驗(yàn)證:最后我們可以驗(yàn)證發(fā)送方。
isValid:=verify(pk,message,sig)==true
數(shù)字簽名的優(yōu)點(diǎn):
· 簽名不能偽造并用于其他消息。
· 密鑰不能從公鑰派生。
· 我們可以很容易地驗(yàn)證消息在傳輸過(guò)程中是否發(fā)生了更改。
所以,現(xiàn)在我們終于到達(dá)了頂峰,有了足夠的知識(shí)來(lái)理解區(qū)塊鏈?zhǔn)侨绾伟堰@些碎片拼在一起的。
公鑰加密和區(qū)塊鏈
· 錢(qián)包創(chuàng)建和事務(wù)簽名是任何區(qū)塊鏈系統(tǒng)的核心組件,它們嚴(yán)重依賴(lài)于公鑰加密。
· 公鑰與哈希值函數(shù)一起使用,以創(chuàng)建區(qū)塊鏈用戶(hù)用來(lái)接收和發(fā)送消息的公共地址。
· 私鑰是保密的,用于簽署數(shù)字事務(wù),以確保事務(wù)的起源是合法的。
數(shù)字簽名和區(qū)塊鏈
· 每個(gè)事務(wù)都有不同的數(shù)字簽名,這取決于用戶(hù)的私鑰。
· 給定消息、公鑰和用戶(hù)的簽名,驗(yàn)證用戶(hù)的真實(shí)性非常容易。
· 一旦事務(wù)由用戶(hù)簽名,事務(wù)就會(huì)在內(nèi)存池中等待,在內(nèi)存池中,挖掘人員會(huì)挑選事務(wù)并使用用戶(hù)的公鑰驗(yàn)證其上的數(shù)字簽名,這樣黑客就無(wú)法對(duì)事務(wù)進(jìn)行更改。如果它是有效的,數(shù)字簽名就會(huì)驗(yàn)證錢(qián)從一個(gè)錢(qián)包發(fā)送到另一個(gè)錢(qián)包,然后交易被添加到塊中。