- 區塊鏈應用開發指南:業務場景剖析與實戰
- 熊麗兵 董一凡等
- 374字
- 2022-07-28 20:18:00
2.3.2 RSA算法
Rivest-Shamir-Adleman(RSA)算法是最流行和最安全的公鑰加密方法之一。該算法利用了這樣一個事實:根據數論,尋求兩個大素數相對比較簡單,但是將它們的乘積進行因式分解卻極其困難,因此可以將乘積公開,作為加密密鑰。加密密鑰是公開的,解密密鑰由用戶保密。
假設使用加密密鑰key(e,n),其實現算法如下:
將消息表示為0到(n-1)之間的整數。大型消息可以分解為多個塊。然后,每個塊將由相同范圍內的整數表示。
取其e次方再模n,得到密文消息C;
要解密密文消息C,取其d次方再模n;
加密密鑰(e,n)是公開的。解密密鑰(d,n)由用戶保密。
如何確定e,d和n的適當值?
選擇兩個非常大(100位以上)的素數,將其表示為p和q。
將n設為等于p * q。
選擇任何大整數d,使得GCD(d,((p-1)*(q-1)))= 1。
求e使得e * d = 1(mod((p-1)*(q-1)))。
Rivest、Shamir和Adleman為每個所需的操作提供了有效的算法。
推薦閱讀
- 企業數字化創新引擎:企業級PaaS平臺HZERO
- ETL數據整合與處理(Kettle)
- Effective Amazon Machine Learning
- Access 2016數據庫技術及應用
- Spark核心技術與高級應用
- 城市計算
- 深度剖析Hadoop HDFS
- 數據挖掘原理與SPSS Clementine應用寶典
- MATLAB Graphics and Data Visualization Cookbook
- 探索新型智庫發展之路:藍迪國際智庫報告·2015(下冊)
- 新手學會計(2013-2014實戰升級版)
- MySQL數據庫實用教程
- AndEngine for Android Game Development Cookbook
- 數據挖掘與機器學習-WEKA應用技術與實踐(第二版)
- Oracle 11g數據庫管理員指南