Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RSA Encryption C#

I have a class which in C# doing RSA encryption where I used the default RSACryptoServiceProvider class. But I have a concern regarding the following; If you have the word hello for an input and the encrypted string is returned as ABCDE, if you perform another encrypt operation on the input hello, using the same keys (public and private) for the RSA will the output be again ABCDE?

Thanks in advance

like image 419
Ryan Avatar asked Feb 10 '26 16:02

Ryan


1 Answers

Indeed, RSA is a deterministic encryption algorithm, so given the same keys and plaintext, the same cryptotext will be outputted. RSA is commonly used with a padding scheme to be semantically secure.

This is of course only the general case. I can't vouch for the RSACryptoServiceProvider in C#

Edit:

Of course, your chosen padding scheme needs to be pretty pseudorandom as well. OAEP is one commonly used.

like image 127
mikek Avatar answered Feb 15 '26 00:02

mikek