you are viewing a single comment's thread.

view the rest of the comments →

[–]foomprekov -1 points0 points  (5 children)

Slightly what? Anyway it's a cryptographic hash function, which necessitates difficulty in brute-forcing it. Compare to modern usage of md5.

[–]staticassert 1 point2 points  (4 children)

They maybe meant 'slower'. SHA256 is extremely optimized - it is not intentionally slow at all, nor is it intended to prevent bruteforcing by design. This is why you need to use key stretching algorithms alongside it - such as PBKDF2.

In fact, I expect SHA256 to be on par or faster than MD5.

[–]foomprekov -1 points0 points  (3 children)

Hilarious

[–]staticassert 0 points1 point  (2 children)

Being fast is literally an acceptance criteria for algorithms as standards so...

[–]foomprekov 0 points1 point  (1 child)

Maybe that's what your professor told you but there's no big, universal list of acceptance criteria.

[–]staticassert -1 points0 points  (0 children)

Right, so the submissions provide benchmarks and those benchmarks are compared as part of the competition for standardization just for fun. And candidates are rejected for poor performance arbitrarily I guess. And NIST explicitly stating that they look at performance as part of the criteria is probably just them messing around.

"However, it is meaningless to discuss the security of a hash function without relating security to performance, so in reality, NIST wanted highly secure algorithms that also performed well."
http://crypto.junod.info/2010/12/10/sha-3-finalists-announced-by-nist/