" />" />

區塊鏈入門 | 區塊鏈之所以能夠去信任的關鍵技術:非對稱加密

 width=

在《想要安全地保管資產,先要知道錢包的這些知識》中,我們可以了解到在區塊鏈的這些錢包中,什么是私鑰,什么是公鑰。

公鑰可以比作是銀行賬戶,而賬戶地址類似于銀行卡號,私鑰可以被看成銀行卡號以及銀行卡密碼的組合。這樣一類比似乎對區塊鏈中的私鑰、公鑰、地址這些名詞有了比較清晰的認識,但是其實在這些名詞的背后的理論支撐是非對稱加密技術,它是什么樣的技術呢,今天大白就給大家科普一下。

首先,在講非對稱加密之前,先簡單講一下對稱加密。

對稱加密也叫做單密鑰加密,指的是用同一個密鑰對信息進行加密和解密。簡單講就是上鎖和開鎖都是一把鑰匙。

比如在現實生活中,你想寄一封信給你的朋友,為了信的內容不被他人剽竊,你會想著用一把鑰匙把信件鎖在安全的柜子里,然后再將物品連同柜子一起寄給朋友,而你的朋友只能用你這把鑰匙才能打開這個柜子進而取出信件。這樣一來就保證了信件在郵寄過程中不被他人看到。在密碼學中以上過程可以理解為如下:

在上圖的過程中,“上鎖”和“開鎖”都用的同一把鑰匙,這把鑰匙就相當于對稱加密中的“私鑰”,而“上鎖”和“開鎖”過程就相當于“加密”和“解密”過程,“信件”則是我們要加密的信息,信息加密后則是“密文”,解密后則是“明文”。

但是細心的小伙伴可能會想到,信件上鎖放入柜子固然安全,但是開這個柜子必須要用上鎖的那把鑰匙,那么問題是這把鑰匙怎么給朋友?鑰匙一旦選擇郵寄,那就存在安全隱患,除非親手把鑰匙給朋友,那這樣的話干嘛不親手把信件直接給朋友。所以對稱加密的一個問題是密鑰配送困難問題。

針對密鑰配送這一難題,密碼學史上偉大的發明——非對稱加密出現了。

非對稱加密有一對密鑰,分別是私鑰和公鑰,公鑰和私鑰一一對應,私鑰需要保密,而公鑰則是可以公開的。加密和解密不是用同一個密鑰。

回到之前的例子,你朋友去配了一對鑰匙(鑰匙A和鑰匙B),鑰匙A上鎖柜子之后,必須要鑰匙B才能開鎖柜子。你朋友把鑰匙A郵寄給你,你用這把鑰匙把信件鎖到柜子中,然后將柜子郵寄給你朋友,你朋友用鑰匙B打開柜子取出信件。細心的小伙伴又想到了,朋友把鑰匙A寄給自己的時候,可能會被快遞人員偷配鑰匙,但是快遞人員即使持有鑰匙A,他也不能打開柜子,因為鑰匙A上鎖柜子之后,只有鑰匙B才能開鎖,整個過程,鑰匙B一直在朋友手上,只要朋友不把鑰匙B弄丟,這個柜子就只能由朋友打開。

在非對稱加密中,鑰匙A就相當于公鑰,它被人知道也沒有關系,鑰匙B相當于私鑰,它需要持有人小心保存,不能丟失?!吧湘i柜子”和“開鎖柜子”相對于“加密過程”和“解密過程”,而且在非對稱加密中,最重要的是加密和解密用的不是同一把密鑰,而是一對密鑰,即私鑰和公鑰。比特幣公鑰就是通過私鑰推導而來,公鑰繼續轉換變成賬戶地址,而且是不能反向推導出私鑰的,私鑰和公鑰是一對,用戶需要妥善保管好自己的私鑰,而公鑰和賬戶地址都是可以公開的。

上述過程體現的是公鑰加密,私鑰解密。區塊鏈中當別人給你轉賬的時候,你的收款地址(公鑰)是公開給他人的,而轉入的資產只有持有私鑰的你才可以“解密”它,對它自由支配。

還有一種情況是私鑰加密,公鑰解密。典型的應用場景就是數字簽名,A采用自己的私鑰加密文件信息后發送給B,并將公鑰也發送給B,B利用這個公鑰對信息解密,如果C和D也有這個公鑰,那C和D也可以解密這個文件信息,但是只有持有私鑰的A才能加密這個信息,因此可以確保這個文件信息確確實實是由A發出的,這就比較適用于一些公司老總做電子簽名,以確保簽名是老總簽的。在區塊鏈中,你的收款地址就相當于公鑰,人人可以看到,但是如果你要轉移你的資產給朋友,你需要輸入密碼(私鑰)進行數字簽名,來表示這個資產確確實實是由你發出的。

本文由來源 巴比特資訊,由 hua, laishi 整理編輯,其版權均為 巴比特資訊 所有,文章內容系作者個人觀點,不代表 Youlaite膠水首頁 對觀點贊同或支持。如需轉載,請注明文章來源。

發表評論

国产一级农村妇女愉情免费看