古詩詞大全網 - 藝術簽名 - iOS怎麽使用模和指數進行RSA加密

iOS怎麽使用模和指數進行RSA加密

首先確認妳要加密的數據有多大,如果比較大建議先使用對稱算法進行加密,將對稱算法的密鑰使用RSA加密即可。

現在定義:

妳所拿到的公鑰模為 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則可以網上搜索壹下,資料應該不少。

如果沒有的話可以直接引入壹些大數計算的庫直接進行模指運算(別分開,太慢)。