Я активно использую библиотеку bouncycastle для своих приложений RSA crypto.Мой вопрос: когда я шифрую один открытый текст два раза одним и тем же ключом, это приводит к двум различным шифротекстам, поэтому в реализации bouncycastles должна быть какая-то рандомизация (сам RSA не рандомизирован, поэтому enc (a, k)всегда одно и то же).
Может кто-нибудь сказать, пожалуйста, как это делается?Я кое-что узнал о криптослеплении, но мне показалось, что для этого мне понадобится какой-нибудь ослепляющий движок.
Вот мой исходный код:
private byte[] encRSA(byte[] in, java.security.PublicKey publicKey) {
try {
Cipher rsaCipher = Cipher.getInstance("RSA/NONE/PKCS1Padding", "BC");
rsaCipher.init(Cipher.ENCRYPT_MODE, publicKey);
rsaCipher.update(in);
return rsaCipher.doFinal();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
Может кто-нибудь пожалуйстапомогите мне?
Спасибо !!!