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.

In the public key world, the future impact of number theory and other interesting<br />

approaches such as quantum computing is a much bigger unknown. Cryptographers<br />

have a much harder time predicting how far out in time a particular key size is going<br />

to be secure. For example, in 1990, Ron Rivest, the “R” in RSA, believed that a 677bit<br />

modulus would provide average security, and 2,017 bits would provide high security,<br />

at least through the year 2020. Ten years later, 512 bits was clearly weak, and<br />

1,024 was the minimum size anyone was recommending (though few people have<br />

recommended anything higher until more recently, when 2,048 bits is looking like<br />

the conservative bet).<br />

Cryptographers try to relate the bit strength of public key primitives to the key<br />

strength of symmetric key cryptosystems. That way, you can figure out what sort of<br />

protection you’d like in a symmetric world and pick public key sizes to match. Usually,<br />

the numbers you will see are guesses, but they should be as educated as possible<br />

if they come from a reputable source. Table 7-1 lists our recommendations. Note<br />

that not everyone agrees what numbers should be in each of these boxes (for example,<br />

the biggest proponents of elliptic curve cryptography will suggest larger numbers<br />

in the nonelliptic curve public key boxes). Nonetheless, these recommendations<br />

shouldn’t get you into trouble, as long as you check current literature in four or five<br />

years to make sure that there haven’t been any drastic changes.<br />

Table 7-1. Recommended key strengths for public key cryptography<br />

Desired security level Symmetric length “Regular” public key lengths Elliptic curve sizes<br />

Acceptable (probably secure 5 80 bits 2048 bits (1024 bits in some cases; 160 bits<br />

years out, perhaps 10)<br />

see below)<br />

Good (may even last forever) 128 bits 2048 bits 224 bits<br />

Paranoid 192 bits 4096 bits 384 bits<br />

Very paranoid 256 bits 8192 bits 512 bits<br />

Remember that “acceptable” is usually good enough; cryptography is<br />

rarely the weakest link in a system!<br />

Until recently, 1,024 bits was the public key size people were recommending. Then,<br />

in 2003, Adi Shamir (the “S” in RSA) and Eran Tromer demonstrated that a $10 million<br />

machine could be used to break RSA keys in under a year. That means 1,024-bit<br />

keys are very much on the liberal end of the spectrum. They certainly do not provide<br />

adequate secrecy if you’re worried about well-funded attackers such as governments.<br />

314 | Chapter 7: Public Key Cryptography<br />

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

Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

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

Saved successfully!

Ooh no, something went wrong!