- 區塊鏈架構之美:從比特幣、以太坊、超級賬本看區塊鏈架構設計
- 何昊編著
- 481字
- 2021-07-23 17:31:08
1.3 非對稱加密
非對稱加密是指進行明文到密文加密和進行密文到明文解密時使用不同的密鑰。非對稱加密算法在使用前首先要生成公私鑰對,一個用于加密,另一個用于解密,其中用于加密的密鑰可以公開,稱為公鑰(Public Key),用于解密的密鑰需要嚴格保存不能公開,稱為私鑰(Private Key)。
例如,當Alice向Bob請求公鑰時,Bob將公鑰發送給Alice。Alice獲得公鑰后使用公鑰對消息加密,對于加密后的消息,只有加密公鑰所對應私鑰的持有者才能解密消息,在這里也就是私鑰的擁有者Bob。Alice使用獲得的公鑰將消息加密后發送給Bob,然后Bob用自己的私鑰進行解密,獲得原始信息。與對稱加密不同的是,Bob不需要將私鑰通過網絡發送出去,因此安全性大大提高。非對稱加密如圖1-2所示。

圖1-2 非對稱加密
非對稱加密解決了對稱加密中密鑰傳輸難的問題,降低了密鑰管理的難度,通信雙方不需要建立一個安全的信道即可進行密鑰的交換,但這樣產生了新的問題。
非對稱加密的加解密速度慢于對稱加密,不適合大量數據需要加解密的場景,性能相對較差。同時因為公鑰公開,如果有人用公鑰加密數據發送給接收者,接收者是無法判斷發送者身份的。
非對稱加密代表算法:RSA、橢圓曲線算法(ECC)、SM2。
推薦閱讀
- Python編程自學手冊
- R語言數據分析從入門到精通
- Spring Cloud Alibaba微服務架構設計與開發實戰
- Cocos2d-x游戲開發:手把手教你Lua語言的編程方法
- JIRA 7 Administration Cookbook(Second Edition)
- MySQL數據庫管理與開發實踐教程 (清華電腦學堂)
- Mastering Python Networking
- C++對象模型詳解
- Jupyter數據科學實戰
- 執劍而舞:用代碼創作藝術
- Android系統下Java編程詳解
- Python Linux系統管理與自動化運維
- 安卓工程師教你玩轉Android
- Building a Media Center with Raspberry Pi
- 微信公眾平臺開發最佳實踐