21.03.2013 Views

Problem - Kevin Tafuro

Problem - Kevin Tafuro

Problem - Kevin Tafuro

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Solution<br />

There’s some debate on this issue. When using RSA, we recommend a 2,048-bit<br />

instantiation for general-purpose use. Certainly don’t use fewer than 1,024 bits, and<br />

use that few only if you’re not worried about long-term security from attackers with<br />

big budgets. For Diffie-Hellman and DSA, 1,024 bits should be sufficient. Elliptic<br />

curve systems can use far fewer bits.<br />

Discussion<br />

The commonly discussed “bit size” of an algorithm should be an indication of the<br />

algorithm’s strength, but it measures different things for different algorithms. For<br />

example, with RSA, the bit size really refers to the bit length of a public value that is<br />

a part of the public key. It just so happens that the combined bit length of the two<br />

secret primes tends to be about the same size. With Diffie-Hellman, the bit length<br />

refers to a public value, as it does with DSA. * In elliptic curve cryptosystems, bit<br />

length does roughly map to key size, but there’s a lot you need to understand to give<br />

an accurate depiction of exactly what is being measured (and it’s not worth understanding<br />

for the sake of this discussion—“key size” will do!).<br />

Obviously, we can’t always compare numbers directly, even across public key algorithms,<br />

never mind trying to make a direct comparison to symmetric algorithms. A<br />

256-bit AES key probably offers more security than you’ll ever need, whereas the<br />

strength of a 256-bit key in a public key cryptosystem can be incredibly weak (as<br />

with vanilla RSA) or quite strong (as is believed to be the case for standard elliptic<br />

variants of RSA). Nonetheless, relative strengths in the public key world tend to be<br />

about equal for all elliptic algorithms and for all nonelliptic algorithms. That is, if<br />

you were to talk about “1,024-bit RSA” and “1,024-bit Diffie-Hellman,” you’d be<br />

talking about two things that are believed to be about as strong as each other.<br />

In addition, in the block cipher world, there’s an assumption that the highly favored<br />

ciphers do their job well enough that the best practical attack won’t be much better<br />

than brute force. Such an assumption seems quite reasonable because recent ciphers<br />

such as AES were developed to resist all known attacks. It’s been quite a long time<br />

since cryptographers have found a new methodology for attacking block ciphers that<br />

turns into a practical attack when applied to a well-regarded algorithm with 128-bit<br />

key sizes or greater. While there are certainly no proofs, cryptographers tend to be<br />

very comfortable with the security of 128-bit AES for the long term, even if quantum<br />

computing becomes a reality.<br />

* With DSA, there is another parameter that’s important to the security of the algorithm, which few people<br />

ever mention, let alone understand (though the second parameter tends not to be a worry in practice). See<br />

any good cryptography book, such as Applied Cryptography, or the Handbook of Applied Cryptography, for<br />

more information.<br />

This is the Title of the Book, eMatter Edition<br />

Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.<br />

Selecting Public Key Sizes | 313

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!