最近我們一直在潛心使用OpenSSL來幫助加密/解密我們擁有的一些數據。每個「客戶」都有公鑰/私鑰對和由本地證書頒發機構給予的X509證書。我現在正在研究用該密鑰對加密/解密數據。爲RSA加密破解大數據
我看過的所有內容都使用方法RSA_public_encrypt
和RSA_private_decrypt
進行RSA加密。但是,對於填充類型RSA_PKCS1_OAEP_PADDING,我一次可以加密的數據量受限於RSA_size(rsa) - 41
。所以我的問題是如何在堅持使用我們的RSA方案時加密大量數據(沒有靜態關鍵字等)。我正在考慮將數據分成塊,然後對其進行加密,但似乎它正在破壞填充點。
任何幫助,將不勝感激。
合理。在C中生成一個隨機密鑰的最好方法是什麼?使用arc4random()從UTF8中選擇隨機字符?在openssl或c的stdlib中是否有「安全隨機」類? – Staros 2011-03-11 19:50:56
@Staros arc4random()看起來像一個不錯的選擇,因爲它聽起來像密碼強大的RC4生成器。然而,我也想看看erickson在這個問題上的回答,並檢查使用OpenPGP的可能性 - 它會爲您處理所有事情。 – 2011-03-11 19:53:31
@Staros - 從'/ dev/random'讀取所需的位數。它們不需要是任何編碼中的字符。 – aaz 2011-03-11 20:03:13