Name: Anonymous 2018-05-31 18:51
ITT we discuss web security.
inb4 collisions everywhere
preimage resistance doesn't mean much in the context in which MD5 was usedPreimage resistance means a lot actually.
just being able to quickly but non-exhaustively bruteforce short ASCII strings is enough to extract a lot of cleartextsMD5
the other way people used MD5 in crypto was in certificates, and this was obviously vulnerable to collisionsCollisions in certificates only matter if you need to sign someone else's data (such as in OpenPGP and in cases with CAs). It is not an issue if you are a CA and you generate the certificate yourself, it is not an issue if you use OpenPGP + MD5 and never sign other people's keys, it is not an issue if you use a self-signed certificate.
https://trailofbits.files.wordpress.com/2012/06/flame-md5.pdfThe issue here was that the generated certificate was attacked-controlled (a common issue when you rely on a 3rd party CA) and was signed by MS afterwards. We know that MD5's collision resistance is broken so it was a stupid move by MS to use it for something that needed collision resistance.
Don't use shitty short passwords? You only need 20 characters (0-9a-zA-Z) to reach 128 bits of security.when you have to use 56789 different passwords with 242475889 different retarded rules about what constitues a valid password, some of them will end up short and shitty unless your're are using a password manager. but that has some usability-related caveats too.
In fact, if your hashed password has been leaked, what is the point of protecting the actual password? Chances are that the rest of the information about your account have been leaked and tampered with. This is why you should use public key authentication instead.most places on the internet and even on the corporate intranets don't use pubkey though. mym'am SSH on a remote server does, but how many things accessible through a browser have that option?
Meanwhile MD5 is totally safe for things like self-signed certificates and password hashing. It is also safe if used with any algorithm that only needs preimage resistance such as Ed25519 or SPHINCS(+).
but that has some usability-related caveats too.The only caveat is that some sites do not let the firefox password manager work correctly because they think that they are smart or some shit.
most places on the internet and even on the corporate intranets don't use pubkey thoughThey should then. We should make password authentication as insecure and painful as possible so they end up forced to use pk authentication.
how many things accessible through a browser have that option?Until very recently client-side certificates in TLS leaked shit like username and other stuff. I suggest we purge TLS once we make the move to client side public keys.
scrypt, bcrypt, argon2All except script and pbkdf2 are cancerous shitware, the mainstream argon2 implementation does not even follow their own standard and ends up with a different result. Not to mention that there are outstanding security issues with it for years that were ignored by its creators. Not to also mention that it uses BLAKE2 which is yet another Zooko scamware and downgrade from BLAKE or SHA-3 and other Keccak/sponge based constructions.
The only caveat is that some sites do not let the firefox password manager work correctly because they think that they are smart or some shit.the other caveat is that you need to have an OS running to run a password manager, so you need a separate password for OS and/or for disk encryption. my employer has bullshit rules for domain password, which is obviously used for the OS, and I don't think there's a good way of using a manager for that
Until very recently client-side certificates in TLS leaked shit like username and other stuff. I suggest we purge TLS once we make the move to client side public keys.I agree, TLS is shit.
so you need a separate password for OS and/or for disk encryptionOS/Disk encryption does not provide authentication - that will not protect you from software nor hardware keyloggers. This is one more reason why we should move to pk crypto.
but why not use sha3 with them?Performance or compatibility reasons? I would not know, I use PBKDF2 with 2^16 rounds + SHAKE256 for mine.