I would like to know about the safety of RSA based encryption, especially when used to encrypt files with gpg or encrypt connections over ssh.

Is it possible to reconstruct a working private key, given some public key?

Is it easier to decrypt one small file? Or is the complexity of decrypting a small file equal to the complexity needed to reconstruct a whole private key?

How does the bit strength affect the security/complexity of an RSA encryption? As far as I know RSA (like every asymmetric encryption) needs a high entropy to generate a matching private/public key pair in contrast to for example AES, because symmetric encryption really "uses" each bit entropy directly for encryption?!

Is the rise of complexity to decrypt some file by increasing the bit strength exponential?

Why are most RSA encryption tools limited to 4096 bits strength?

closed as too broad by Jakuje, Stephen Harris, GAD3R, roaima, Anthon Sep 19 '16 at 17:22

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • You might get a better audience at security.stackexchange.com – Jeff Schaller Sep 19 '16 at 13:53

You should read the manual, it explains a lot. I'll comment mostly.

The public key in RSA consists of 2 large carefully chosen primes that are multiplied. To attack RSA, the attacker needs to find these factors.

So yes, actually, when you publish your public key the attacker knows what number to factorize. But in fact the public keys are meant to be public and safe to publish, assuming the mathematics around factorisation of large numbers stays hard.

RSA in PGP is not used to encrypt data directly. It encrypts a symmetric key. Here is the other opportunity for the attacker, but the symmetric key is of course a random number for every message in PGP. In this way you don't need to encrypt data multiple times for every recipient (it would multiply the amount of data), but you encrypt the symmetric key for each recipient.

Decryption of small and large files is not relevant on RSA side, because of the symmetric cipher used there.

A cipher is strong when the best approach to directly decipher it is brute force. Assuming this is the best approach that the attacker has, bit length of the key makes the problem exponentially harder.

I am not sure why it is 4096 bit as maximum, to be honest, but I can imagine that you need multiple algorithms that need to be proven secure, working properly and be efficient/usable for the user.

Not the answer you're looking for? Browse other questions tagged or ask your own question.