非對稱加密法入門:私鑰、公鑰、RSA全解析

買賣虛擬貨幣
之前所有的加密方法都是對稱加密,說的直白一點就是加密和解密都是同樣的密碼。比如你用銀行賬號對應的密碼可以取出現金,別人拿著這張卡你給他說了密碼也能取出現金;比如你的email登入密碼,比如微信、支付寶登入密碼等等,這些都是對稱密碼的應用。只要是同一把鑰匙在開一個鎖,都是對稱密碼。可是對稱密碼有一個問題是很難解決的,就是秘鑰的傳輸。之前講的量子通訊也是鑰匙傳輸的目前已知的最先進安全的鑰匙分發方式,但是一般情況下,普通使用者是很難使用的。想象下面一個場景,你媳婦兒給你電話,說他在網上購物,需要你的信用卡密碼,你給她說了,他就購物,如果這個時候,有人也在監聽你的電話,他也在購物就等這個密碼呢,他也去刷卡,這時候怎麼辦?問題都在秘鑰的傳輸方面。
環節越多,出錯越容易,能不能砍掉這個秘鑰傳輸的環節?

可以。用公鑰加密,也就是用一對兒鑰匙。

兩把鑰匙?用把鑰匙開一個鎖,這個鎖不就是爛鎖了嗎?並非如此。

現在有兩把秘鑰:公鑰和私鑰。

公鑰,就是公共的鑰匙,這把鑰匙誰都可以知道;私鑰是本地的,私人的鑰匙,只有自己知道,私鑰就不傳送不傳輸了,因為不傳輸也就沒有了傳輸的問題。

比如說,你要發一封email檔案給你家人,這個是非常機密的東西,你家人在網上生成了鑰匙對兒,也就是公鑰和私鑰,然後把公鑰給你發過來,私鑰自己記錄好,不要放在網上。

你收到公鑰後,用公鑰對自己要發出的資訊加密,然後發給家人,家人收到後,拿著私鑰進行解密,就看到了你的重要資訊了。

這裡面有幾個點,公鑰,也是家人發給你的,如果被別人截獲了怎麼辦?

沒關係,公鑰即使很多人知道沒關係的,因為公鑰只能加密,而解密的是公鑰對應的私鑰,也就是說別人知道你的公鑰,只是方便他們給你發資訊。他們加完密,自己都解不開。

這就是非對稱加密的工作原理,因為出現了公鑰,這個之前歷史上沒有的東西,所以,非對稱加密也被稱為公鑰加密。

生成私鑰公鑰的方法,網上一搜就有了,不必在此贅述。

總結下公鑰加密的特點:

1,公鑰和私鑰必須成對出現,不能分別單獨生成,
2,公鑰任何人都可以知道,私鑰只有接收資訊的人知道;
3,A發給B資訊的過程是:A拿著B的公鑰對一段要發出的資訊加密,B收到後,拿著自己也就是B的私鑰進行解密。

公鑰加密有什麼用?

比特幣的加密方式就是公鑰加密。所以你才有什麼私鑰公鑰和地址,公鑰可以推出地址,地址推不出公鑰,即使推出來也沒關係,因為本來公鑰就是公共的鑰匙,誰想知道都可以。本質上所謂生成比特幣的賬戶,就是生成一個秘鑰對兒,有了公鑰和私鑰,然後公鑰再推出個地址,一個比特幣的賬戶就生成了。這個生成賬戶的方法,比傳統金融裡去銀行開戶,方便和安全很多,當然,傳統銀行也很安全,中心化會對你的賬戶保護,比特幣是人類歷史上第一次用技術解決了安全問題。

我們很快會專門去講比特幣的加密原理,今天就簡單說一下。

RSA是什麼?為什麼好多人都會講到RSA?

RSA是非對稱加密法裡面用的最廣泛的一種加密方法,當然,還有別的,比如比特幣裡還有一個神奇的橢圓曲線加密,就是一種非對稱加密法,但不是RSA。曾經,這個橢圓曲線加密的方法選擇,受到以太坊發起人vitalik的稱讚,他說中本聰可能是蒙的,選的這麼好。

RSA加密因為創始人名字的首字母分別是R、S和A所以叫RSA加密,他們發文章的時候用Alice和Bob兩人的名字代表A和B,所以密碼學裡面就形成通用管理,“Alice發一個比特幣(或一段資訊)給Bob”,這樣的句式開始出現。竊聽者總被被叫做Eve。

好了,看了上面的內容,其實今天已經明白了非對稱加密的主要知識,下面的內容比較困難,各位讀者可以選擇性閱讀。

RSA大概是什麼方法?為什麼總有專家提到什麼“大數的質因數分解”?“大數的質因數分解”和RSA非對稱加密有什麼關係?

加密過程就是明文的E次方然後mod N。mod代表的是乘法求餘數的運算子號。

E和N的組合就是公鑰,D和N的組合就是私鑰。E取自單詞encryption加密,D取自單詞Decryption解密,N取自單詞number數字。

N=p * q,p和q是質數,很大的質數,所以難以破解,如果是很簡單的質數比如2和3,那就太簡單了,當然真正運算的時候都是二進位制,動輒512bit的質數相乘,這也就是為什麼破解私鑰很難的原因之一,因為人類暫時沒有發現對大整數進行質因數分解的高效方法,所以,RSA比較安全。現在的銀行系統的安全也是RSA加密的,N要求大於300位,如果要分解這樣一個數,需要的時間單位數量級是億年,億萬年的時光去破解一個密碼,假設科技按照現在的水平沒有突破的話。

為什麼加上mod N這樣的東西?因為沒有這個就是個對數問題,很容易求解,如果有了mod N求明文就成了求離散對數的問題,同樣的,人類目前沒有找到求離散對數的高效方法。

鑑於之前的文章出現了很多數學公式,今天關於RSA的講解控制在500字內,這是一個引子,如果你對RSA感興趣,可以私信溝通也可以去網上搜尋更多的資料,但是,對於區塊鏈從業或者是數字貨幣投資者來說,只需要理解本文的重點部分即可。畢竟,看到離散對數的時候,很多讀者已經看不下去了。沒關係的,掌握關鍵,吸收精華即可。

明白非對稱加密(公鑰加密)對理解比特幣的公鑰私鑰以及錢包和工作原理非常重要,所以今天講解下非對稱加密技術。

試問如果我發出去的是錢,而不是一封信,公鑰加密給你,你用私鑰開啟後可以用,是不是就是比特幣?或者反過來問,我發給你一個賬本資訊,你能開啟這個賬本資訊,於是這個賬本資訊最後一條寫著,我給你轉了10個比特幣,是不是這條資訊就成了你有10個比特幣的證明,也就是說這個賬本資訊本身就證明了你有比特幣了?資訊就變成了錢,順著這個思路去思考去理解比特幣吧。後面會仔細講的。

這個世界的大門慢慢在開啟,感謝能從隱藏法、移位替換法、維吉尼亞加密法、恩尼格瑪機一直同行到現在,比特幣和區塊鏈的核心很快就要觸碰到了。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;