現在定義:
妳所拿到的公鑰模為 N,指數為E
N的位長度為 len(N)
N占用的字節數為 k = (len(N)+7)/8
要加密的數據為D (可以是妳原始的數據或者對稱算法密鑰)
如果妳的加密數據比較小的話也可以直接進行RSA加密,比較小的意思為:被加密數據的長度必須能夠滿足填充條件,如果采用PKCS1_1.5的填充方式,D占用的字節要小於 k-11
運算過程很簡單: 將D進行填充到D1, 要求D1所占用的字節數為 k (即同N的長度相同)
則計算密文E的過程為 DE = (D1 ^ E) % N ( ^ 表示指數運算)
在程序中實現建議妳采用壹些現成的庫,如果有OpenSSL則可以網上搜索壹下,資料應該不少。
如果沒有的話可以直接引入壹些大數計算的庫直接進行模指運算(別分開,太慢)。