Reputation
67,507
Next tag badge:
655/400 score
76/80 answers
Badges
19 169 261
Newest
 Nice Answer
Impact
~3.1m people reached

Apr
1
awarded  Nice Answer
Apr
1
comment Why improvising your own Hash function out of existing hash functions is so bad
@thejh It was an example of how ignorance of the internals of an operation can lead to security vulnerabilities. It was not meant to be a direct analogy, hence why I said "Obviously it's more complicated in the case of KDFs, but the same principle applies."
Apr
1
revised Why do you need message authentication in addition to encryption?
cleanup of MAC / MIC section, added note about auth vs. integrity
Apr
1
revised Why do you need message authentication in addition to encryption?
added paragraph about replay attacks
Apr
1
answered Why do you need message authentication in addition to encryption?
Apr
1
comment Why improvising your own Hash function out of existing hash functions is so bad
@Phil Done. Hopefully it makes sense.
Apr
1
revised Why improvising your own Hash function out of existing hash functions is so bad
Added a paragraph about combining KDFs.
Apr
1
awarded  Nice Answer
Apr
1
comment Why improvising your own Hash function out of existing hash functions is so bad
My point is that since we don't know what potential problems might exist, why not go with the known safe route and just use scrypt with a decent work factor? It's more than secure enough for almost every purpose.
Apr
1
comment Why improvising your own Hash function out of existing hash functions is so bad
The interaction between the two is undefined, because nobody has studied it. Combining the two might provide more security, but it also might lead to unusual interactions between the internals of those hashes. A good example of this is the one time pad. Computing c=m^k gives you a perfect level of security when k is truly random and unknown to the attacker. So let's do it twice, for more security! So we end up with c=m^k^k, which results in m. Oh, whoops. Obviously the interactions are more complex in hashes, but the principle still stands.
Apr
1
revised Why improvising your own Hash function out of existing hash functions is so bad
added 7 characters in body
Apr
1
comment Why improvising your own Hash function out of existing hash functions is so bad
The security issue isn't really a cryptographic one. You have to write lines of code to produce this implementation, and every line you write brings potential vulnerabilities. Even subtle things like how Unicode is handled on certain machines can be catastrophic from a security perspective. Keep it simple, keep the implementation clean of needless crud, and you'll be safer.
Apr
1
answered Why improvising your own Hash function out of existing hash functions is so bad
Apr
1
comment Why improvising your own Hash function out of existing hash functions is so bad
@GeorgePowell Your sha1(md5(bcrypt())) scheme makes no sense. What does it offer that bcrypt alone doesn't? If you're looking for more security in bcrypt, why not just increase the work factor, or switch to scrypt? Abusing other hash primitives, especially mainly-broken ones like MD5, for an undefined and minuscule benefit (which may actually be a detriment) isn't smart and can only provide you with more complexity.
Mar
31
answered How dangerous are direct references to database keys?
Mar
31
comment When hashing passwords, is it ok to use the hashed password as the salt?
@ThomasPornin My bad, that's correct.
Mar
31
awarded  Good Answer
Mar
31
answered When hashing passwords, is it ok to use the hashed password as the salt?
Mar
31
answered Is BackTrack 5 really the best OS to have in IT Security?
Mar
31
answered Should a full disk encrypted hard drive on a live system be considered encryption at rest?