Remix.run Logo
▲ loeg 3 hours ago

> being familiar with cryptographic protocols and formats where the hash algorithm is usually a parameter that can vary for each concrete hash.

This flexibility ("agility") in cryptographic protocols is often seen as a mistake today, actually.

▲WorldMaker an hour ago | parent [-]

Cryptographic protocols have been moving towards something of a compromise in flexibility. "Everything flexible" is a security risk, especially when "everything" includes "fallback to nothing secure". "No flexibility" is a security risk because you can't upgrade. The middle path is something like "version numbers" with hard breakpoints. "I only support v2 of this cryptographic protocol and will not fallback to v1."

Which is sort of the hash algorithm approach git is taking with incompatible versions and a version break.