區塊鏈小知識——密碼學
聽到「密碼」這兩個字,你是什麼的感覺?我想到了銀行密碼,QQ密碼,還有公眾號密碼。。。。。。
但是,若是說「密碼學」你又能想到什麼?其實,我們天天都有和密碼學打交道。
那麼,密碼學是個啥?
比較官方的解析:密碼學是研究編製密碼和破譯密碼的技術科學。
研究密碼變化的客觀規律,應用於編製密碼以保守通信秘密的,稱為編碼學;應用於破譯密碼以獲取通信情報的,稱為破譯學,總稱密碼學。
加密演算法又是什麼?
加密的方法又叫加密演算法,自身是固定不變的,一般情況下都是公開可見的。
整個過程是我們基於一定的加密演算法,用密鑰將明文加密為密文,之後由接收方再使用加密演算法和密鑰從密文中解密出明文。
對於區塊鏈里的密碼學知識,我們先要了解下常用的密碼演算法:非對稱加密、對稱加密。
非對稱加密
公鑰用於加密,私鑰用於解密
公鑰由私鑰生成,私鑰可以推導出公鑰。有些人就說我知道了私鑰推公鑰的方法了,一夜暴富。
其實,真的有人可以做到私鑰推測出公鑰,但是很少。大部分是抓一堆私鑰,慢慢去碰,萬一碰對了呢?
知道公鑰無法推導出私鑰
優點:解決了密鑰傳輸中的安全性問題
解決了信息傳送的問題,如何驗證是「確實是發送方發送的,信件沒有被篡改」
對稱加密
對稱加密又叫單密鑰加密,採用單鑰密碼系統的加密方法,也就是說加密和解密都使用同一個密鑰。
用相同密鑰對原文進行加密和解密
加密過程:密鑰+明文=密文
解密過程:密文—密鑰=明文
對稱加密方法:DES、3DES、RC2、AES、TDEA、BIowfish還有國密的SM4等
優點:演算法公開、計算量小、加密速度快、加密效率高。
缺點:在數據傳送前,發送方和接收方必須商定好秘鑰,然後使雙方都能保存好密鑰。
其次,因為雙方知道密鑰,一旦有一邊的秘鑰被泄露,那麼加密信息也就不安全了。
另外,每對用戶每次使用對稱加密演算法時,都需要使用其他人不知道的唯一秘鑰。
這會使得收、發雙方所擁有的鑰匙數量巨大,密鑰管理成為雙方的負擔。
用一個小故事來幫你們搞明白對稱加密,假如我是一個土豪,我要給一大筆金子給土豪b,我們之前並沒有見過面。
於是,我們約定大家都帶上一束玫瑰花,這樣就便於我們相認了。而這一束玫瑰花是我們雙方知道密鑰。
對於這兩種加密方法,許多人更傾向於非對稱加密方法,因為它最安全。
今天,就先寫到這裡,下次我們繼續寫有關密碼學的知識。希望今天分享的小知識對你們有幫助。
推薦閱讀:
※關於鼓鼓錢包的轉幣問題
※漫談比特股(一):作為底層設計的支付
※比特股新人集大成教程:常見操作疑問和名詞解釋
※鼓鼓錢包比特股抵押簡明教程
※江湖召集令|尋找EOS去中心化生態創造者