2002-03-08-09:18:52 Fernando Favsix: > Anybody knows how can I calculate the time a > computer (let's say a Pentium III 866 MHz) would take > to break an encryption key of 128 bits?!
That question can't be answered as asked. The answer depends on exactly what you mean by "break", and what encryption algorithm you are talking about. Let me suppose you mean "find a key that will decrypt a given cyphertext to a reasonable plaintext", and the encryption algorithm is a modern respectable block cypher that uses 128 or more bits; something of good strength and well regarded, like 3DES, AES, IDEA, Blowfish, Twofish, and so on. Given it's a good cypher, the only way you can find the key you're looking for is by brute force. (That's basically a key part of the definition of "good cypher"). Now I honestly have no idea fast a P3-866 can be programmed to do brute force cracking. But we can a feel for the answer by assuming that it won't be faster than one key tried per cycle. So we have 2^128=340282366920938463463374607431768211456 possible keys, 866*1024*1024=908066816 tries per second, dividing gives us 374732740945065504368540439464 seconds to try all possible keys, divide by 86400 seconds/day and we get 4337184501678998893154403 days, divide again by 365 days/year and we get 11882697264873969570286 years, an awful lot that is. And that's if we could try one key per clock cycle. We probably can't:-). Oh, if you wish you can divide by 2 again to get the average rather than worst-case time to crack. Still an awfully big number. Perhaps this helps explain why 128-bit keys are regarded as a Good Idea for symmetric cyphers. As a closing note, try the same exercise with a 56-bit key and you get under 3 years. And note that brute-forcing plain DES isn't even news any more, it's taken for granted. So a single P3-866 isn't much by modern brute-force cracking standards. -Bennett
msg04794/pgp00000.pgp
Description: PGP signature