密鑰這個詞大家應該都不陌生,但不要和大家平常概念上的密碼相混淆。密鑰這個詞在百度百科上的解釋是:密鑰是一種參數(shù)绝编,它是在明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文的算法中輸入的參數(shù)迫卢,密鑰分為兩種:對稱密鑰與非對稱密鑰扁誓。咱們的比特幣的密鑰就是非對稱的。
先說下密匙是做什么用的:一個人擁有多少比特幣尿瞭,如何證明這些比特幣是你的唯一的方法就是密鑰闽烙,具體來說就是比特幣的所有權(quán)是通過數(shù)字密鑰、比特幣地址和數(shù)字簽名來確立的筷厘。所以密匙非常重要鸣峭,其中最最重要的是私鑰。
密鑰分為公鑰和私鑰酥艳,是成對出現(xiàn)的摊溶。也就是說一個有意義的密鑰總是成對的。其中公鑰的作用就像銀行的帳號充石,是可以公布的莫换,這也是為什么叫公鑰的原因。私鑰就像控制賬戶的 PIN 碼或支票的簽名骤铃。這個是證明你擁有多少比特幣的關(guān)鍵證據(jù)拉岁。所以必須小心保管,不能泄露惰爬。所以叫私鑰.
對稱密鑰就像以前諜戰(zhàn)片中的密碼本,用電臺廣播一些毫無意義的數(shù)字喊暖,然后特工收到后,用密碼本將這些數(shù)字還原出要傳達的消息撕瞧。這個密碼本就是對稱密鑰陵叽,發(fā)送方有一個,接收方有一個丛版。所以這個加密方式就是對稱加密巩掺。但這種方式的安全性不高。
非對稱密鑰就是咱們說的公鑰和私鑰這種成對加密方式:一個公開發(fā)布页畦,即公鑰胖替,另一 個由用戶自己秘密保存,即私鑰豫缨。信息發(fā)送者用公鑰去 加密独令,而信息接收者則用私鑰去解密。
圖1
這種加密方式是非常安全的州胳。其中公鑰是在私鑰基礎(chǔ)上產(chǎn)生的记焊。使用的算法叫橢圓曲線乘法。數(shù)學能力有限栓撞,具體我也不知道了遍膜。只知道這個算法不可逆是單向的碗硬。可以從私鑰生成公鑰瓢颅,而不能從公鑰反推出私鑰恩尾,或者說非常非常困難推出。
圖2
圖2正好也說明了比特幣地址的生成過程和三者的關(guān)系挽懦。比特幣地址是通過公鑰生成出來的翰意,使用的算法叫哈希算法。哈希算法將任意長度的二進制值映射為較短的固定長度的二進制值信柿,這個小的二進制值稱為哈希值冀偶。也就是我們的比特幣地址。
區(qū)塊鏈研習社比特幣源碼研讀班渔嚷,black