So I generated 2 1024 bit prime numbers, I generated N and got a 2048 bit number, does that make my encryption 2048 bit or 1024 bit?
2 Answers
The key length specified for RSA is the length of the modulus $n$ in bits. Thus, if you generate $n=p*q$ and get a 2048 bit modulus, your RSA encryption is 2048 bit.
The way we think about key length or key size is often just a convention. In the case of RSA we commonly take the modulus size, but that doesn't tell the whole story. Key strength is an especially tricky concept.
Take for instance 3DES. A 2-key DES has an encoded size of 128 bits. This includes parity bits so the actual key size used is 112 bits. The intended key strength is 80 bits and the actual key strength is about 63 bits if you include the most potent attack on it.
If you want to have a good indication of key strength vs key size, you can take a look at keylength.com (e.g. NIST section). In the case of RSA you need to look at "Factoring Modulus". You'll see that the "minimum of strength" is $2^{112}$ for the modulus size - i.e. the key size - of 2048 bits.
Often key length and key strength are used interchangeably though. Nobody will expect an actual strength of 2048 (as compared with a symmetric block cipher) if you say you have an RSA key with a strength of 2048 bits. So in the end it comes down to context.
-
$\begingroup$ Funfact: the key (i.e. the private exponent) is (roughly) as long as the modulus, enabling us to use "size of modulus" equivalently to "size of private key". $\endgroup$– SEJPMDec 23, 2015 at 12:54