3 ms·
Something that many of these answers fail to address is that a 256-bit key isn't big enough, if you can do 2^128 computations. This is due to the probability o
by cjg 14y ago
Something that many of these answers fail to address is that a 256-bit key isn't big enough, if you can do 2^128 computations.
This is due to the probability of key collision. See http://en.wikipedia.org/wiki/Birthday_attack http://en.wikipedia.org/wiki/Birthday_attack
Not that I'm saying 2^128 calculations isn't a lot, but compared to 2^256, it's a tiny speck.
- mrb 14y agoYou are confusing different things. You are talking about hash algorithms, whereas the OP is about encryption algorithms. And it is not proper terminology to refer to hashes as "keys". What you are trying to convey, is that hash algorithms need to generate hash sizes of 512 bits if they want to make collision generation as hard as bruteforcing a 256-bit symmetric encryption key. This is true. But please use proper terminology.
- grandsham 14y agoa birthday attack reduces the number of keys you have to search by half, not half the number of bits. This means that you would have to search 2^255 keys instead of 2^256 keys.
- pjscott 14y agoLook again. Finding a collision in a hash function with n possible values takes an expected number of guesses proportional to sqrt(n). If n = 2^256, then sqrt(n) = (2^256)^(1/2) = 2^(256/2) = 2^128.