除了哈希算法以外,
比特幣中還存在一種為交易加密的非對稱加密算法(橢圓曲線加密算法)。
非對稱加密算法指的就是存在一對數學相關的密鑰,使用其中一個密鑰進行加密的數據信息,只有使用另一個密鑰才能對該信息進行解密。
這對密鑰中,對外公開的密鑰叫作公鑰,不公開的密鑰就叫作私鑰。公鑰就像銀行的賬戶,私鑰就像是該賬戶的密碼或者賬戶所有者的簽名。
區塊鏈之上的有效交易有一個用于交易發起方私鑰簽名有效的數字簽名,而該交易的簽名可以通過使用交易發起方的公鑰進行驗證。公鑰可以通過算法從私鑰中計算得出,但私鑰卻不能從公鑰中推出。
比特幣系統中使用的就是一種非常典型的非對稱加密算法——橢圓曲線加密算法(ECC)。
比特幣系統一般從操作系統底層的一個密碼學安全的隨機源中取出一個256位隨機數作為私鑰,私鑰總數為2256 個,所以很難通過遍歷所有可能的私鑰得出與公鑰的對應的私鑰。
用戶使用的私鑰還會通過SHA256和Base58轉換成易書寫和識別的50位長度的私鑰,公鑰則首先由私鑰和Secp256k1橢圓曲線算法生成65字節長度的隨機數。
一般情況下,比特幣錢包的地址也由公鑰所生成,其生成過程為首先將公鑰進行SHA256和RIPEMD160雙哈希運算,并生成20字節長度的摘要結果(即Hash160結果),這個將作為比特幣地址的主體(body)信息,再在前面加上版本前綴0x00,在后面添加4個字節的地址校驗碼。地址校驗碼通過對摘要結果進行兩次SHA256運算,取哈希值的前4位產生。最后通過Base58處理把連在一起的版本前綴、主體信息和校驗碼轉換成可以容易讓人識別的比特幣字符地址。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。