- 區塊鏈架構之美:從比特幣、以太坊、超級賬本看區塊鏈架構設計
- 何昊編著
- 493字
- 2021-07-23 17:31:08
1.2 對稱加密
對稱加密(Symmetric Encryption)算法是一種混淆算法,能夠讓數據在非安全信道上進行安全通信。對稱加密是指進行明文到密文加密時所使用的密鑰和進行密文到明文解密時所使用的密鑰是相同的。例如,當Alice需要向Bob發送一些加密消息時,需要先向Bob請求獲得密鑰K,當Alice獲得密鑰K后就可以使用密鑰對消息加密,當加密后的消息發送給Bob后,Bob同樣需要使用密鑰K進行解密。只要Alice和Bob能保證密鑰K的安全,那么他們就可以一直安全地通信,整個過程如圖1-1所示。

圖1-1 對稱加密
對稱加密的優點是加密速度快,保密強度高,適用于對大量數據進行加密的場景。但是由于雙方使用相同的密鑰,密鑰的傳輸和管理成為一個很大的問題,如果傳輸過程不安全,密鑰就無法可靠地傳遞,只能通過其他方法進行交換,如郵件、電話、短信等,可是這些通信方式是否可靠還有待商榷。為了解決這個問題,一般需要借助基于橢圓曲線的迪菲-赫爾曼密鑰交換(Elliptic Curve Diffie–Hellman key Exchange,ECDH)協議來完成密鑰分發。
在對稱加密中,每一對發送者和接收者都需要使用一個共同密鑰,于是在區塊鏈這種擁有大量節點、需要大規模通信的網絡中會產生大量的密鑰,這無疑會極大增加節點管理密鑰的負擔。
對稱加密代表算法:DES、AES、SM4。
推薦閱讀
- Data Visualization with D3 4.x Cookbook(Second Edition)
- 數據庫系統教程(第2版)
- Oracle 11g從入門到精通(第2版) (軟件開發視頻大講堂)
- 劍指JVM:虛擬機實踐與性能調優
- Mastering Apache Spark 2.x(Second Edition)
- Scala Data Analysis Cookbook
- HTML5權威指南
- C++編程兵書
- Building Serverless Web Applications
- 邊玩邊學Scratch3.0少兒趣味編程
- Mastering SciPy
- UML基礎與Rose建模實用教程(第三版)
- Web前端測試與集成:Jasmine/Selenium/Protractor/Jenkins的最佳實踐
- Python面向對象編程(第4版)
- 3D Printing Designs:Design an SD Card Holder