- 區塊鏈架構之美:從比特幣、以太坊、超級賬本看區塊鏈架構設計
- 何昊編著
- 585字
- 2021-07-23 17:31:08
1.1 基本元素
通常一個密碼體系由一個五元組組成,這個五元組的構成如下。
? 明文M:原始數據,待加密的數據。
? 密文C:對明文M進行一定變換或偽裝后得到的輸出。
? 密鑰K:加密或解密中所使用的專門工具。
? 加密E:將明文M通過密鑰K變換或偽裝得到密文C的過程。
? 解密D:將密文C還原成明文M的過程。
一個密碼體系的構建是基于這個五元組{M,C,K,E,D}的,無論是比特幣,還是以太坊千億美元市值的數字貨幣都是基于這個密碼體系的,甚至整個區塊鏈系統都是基于這個密碼體系展開的。
需要特別注意的是,并非所有加密算法的安全性都可以在數學上得到證明。目前被大家公認的高強度加密算法,以及其具體實現往往經過長時間和各方面充分實踐和論證后,才被大家認可,但是并不代表其不存在漏洞。因此自行設計和發明未經大規模驗證的加密算法是一種不太明智的行為,即使不公開算法的加密過程,也很容易遭到破解,無法在安全性上得到保障。
實際上,密碼學安全是通過算法依賴的數學問題來進行保密的,不是通過對算法實現的過程來進行保密的。
在后續內容中,我們將會討論多種加密方法及其在區塊鏈中的應用場景。在討論密碼學的時候,為了方便起見,通常會使用Alice和Bob這兩個名字。這兩個名字是Ron Rivest在1977年介紹RSA密碼系統的論文中被首次使用的。此后,又有一些其他的名字加入了密碼學相關的討論,如將一個具備竊聽能力的攻擊者命名為Eve,并將另一個能妨礙網絡流量的攻擊者命名為Mallory。
推薦閱讀
- Kibana Essentials
- Python 深度學習
- Learn WebAssembly
- Learning Apache Mahout Classification
- BeagleBone Black Cookbook
- Learning R for Geospatial Analysis
- Spring Boot+Vue全棧開發實戰
- C語言程序設計實訓教程與水平考試指導
- 微課學人工智能Python編程
- Simulation for Data Science with R
- Shopify Application Development
- Android智能手機APP界面設計實戰教程
- 前端架構設計
- Mastering R for Quantitative Finance
- Visual C++程序開發范例寶典