· 下圖說明了對稱加密的過程。
那麼對稱加密,有什麼問題嗎?問題是,你要把鑰匙寫在紙上,然後把它寄給另一個人。但是,這顯然不是一個有效的方法。因此,您可以在網路上共享金鑰,但這裡有一個陷阱,任何身份的人都可以侵入網路,並使用您的金鑰來解密該訊息。
不對稱加密的拯救行動:
· 在不對稱加密體制中,我們生成一對金鑰,即私鑰和公鑰。
· 公鑰和私鑰在數學上是連線在一起的,但不能從另一個派生而來。
· 一個公鑰就像一個分配給你的假名,你和每個人分享它,而私鑰扮演的是“為你說話”的角色。
· 這就是它的工作原理。您獲取一個訊息,用您的私鑰加密它併傳送給接收者。現在,接收方可以使用您的公鑰解密它,並驗證訊息是否來自合法的傳送方。
· 所以,你一定在想,如果每個人都有我的公鑰,那麼任何人都能看到這些資訊。
· 現在假設Alice和Bob想在網際網路上共享一些資訊。因此,它們就會生成自己的一組公鑰和私鑰。
· 他們都互相交換公鑰,並將私鑰儲存在自己身上。Alice可以使用Bob的公鑰和Alice的私鑰向Bob傳送加密訊息。
· 那麼,也就是說,當Bob收到訊息時,他使用Alice的公鑰來確保訊息來自Alice(只有Alice的公鑰可以解密使用Alice的私鑰加密的訊息)的私鑰來確保訊息是為他傳送的。
讓我們討論一下數字簽名
· 你簽過支票賬單嗎?因此,您必須瞭解簽名的概念。它們可以作為你同意你簽署的檔案的證明,它與特定的檔案繫結在一起,不能複製貼上到其他檔案上。
根據維基百科: 數字簽名是一種數學方案,用來表示數字資訊或文件的真實性。有效的數字簽名使接收方有理由相信訊息是由已知的傳送方(身份驗證)建立的,傳送方不能否認傳送過得訊息,並且訊息在傳輸過程中要確保沒有被修改。因此,數字簽名涉及三個步驟:
· GenerateKeys :首先我們生成一對公共金鑰(pk)和私人秘鑰(sk)。私鑰用於簽名,公共金鑰用於驗證簽名者。
(sk,pk):=generateKeys(keysize in bits)
· 簽署訊息:然後我們使用金鑰在訊息上簽名。
isValid:=verify(pk,message,sig)==true
· 驗證:最後我們可以驗證傳送方。
isValid:=verify(pk,message,sig)==true
數字簽名的優點:
· 簽名不能偽造並用於其他訊息。
· 金鑰不能從公鑰派生。
· 我們可以很容易地驗證訊息在傳輸過程中是否發生了更改。
所以,現在我們終於到達了頂峰,有了足夠的知識來理解區塊鏈是如何把這些碎片拼在一起的。
公鑰加密和區塊鏈
· 錢包建立和事務簽名是任何區塊鏈系統的核心元件,它們嚴重依賴於公鑰加密。
· 公鑰與雜湊值函式一起使用,以建立區塊鏈使用者用來接收和傳送訊息的公共地址。
· 私鑰是保密的,用於簽署數字事務,以確保事務的起源是合法的。
數字簽名和區塊鏈
· 每個事務都有不同的數字簽名,這取決於使用者的私鑰。
· 給定訊息、公鑰和使用者的簽名,驗證使用者的真實性非常容易。
· 一旦事務由使用者簽名,事務就會在記憶體池中等待,在記憶體池中,挖掘人員會挑選事務並使用使用者的公鑰驗證其上的數字簽名,這樣駭客就無法對事務進行更改。如果它是有效的,數字簽名就會驗證錢從一個錢包傳送到另一個錢包,然後交易被新增到塊中。
更多區塊鏈資訊:www.qukuaiwang.com.cn/news