• APP內打開
    風險提示:防范以虛擬貨幣/區塊鏈名義進行的非法集資風險。 ——銀保監會等五部門

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

    白話區塊鏈 2019-07-12 12:21:10
    微信分享

    掃碼分享

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

    作者:湯宇星 / 來源:白話區塊鏈

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

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

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

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

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

    image.png

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

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

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

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

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

    image.png

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

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

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

    通過上述講解,相信大家已經認識到私鑰的重要性了吧,你一般是如何保存自己私鑰的?

    下載白話區塊鏈APP

    區塊鏈世界入口第一站,人人都能看懂的區塊鏈;24 小時熱點實時追蹤。

    毛片免费看