3 ms·
That's correct, but to provide some color to the comment since it doesn't really explain why it's correct: Hash functions can provide integrity against acciden
by dsacco 9y ago
That's correct, but to provide some color to the comment since it doesn't really explain why it's correct:
Hash functions can provide integrity against accidental errors or very simple manipulations related to XORing the message or digest. This might not be useful against an active attacker, but technically speaking it is a (weak) form of integrity, which is why we use checksums.
Message authentication codes (MACs) are required to assure integrity against active attackers because you need to elevate to authentication, and hash functions cannot provide authentication (at least not on their own). Authentication is a stronger notion in security than integrity because it simultaneously guarantees and requires integrity - there is no point in having integrity without authentication, because you'd be assuring data integrity without assuring the data origin, which short circuits the integrity problem for an attacker. Conversely, you can't have authentication without data integrity because an attacker could simply forge the data origin.
- baby 9y ago> Authentication is a stronger notion in security than integrity because it simultaneously guarantees and requires integrity - there is no point in having integrity without authentication the "Authentication" in "Message Authentication Code" really is a term of the past that we now use to mean cryptographic integrity. Another way to see this: integrity is not a security provided by hash functions in the cryptography sense of it.
- dsacco 9y agoYep, that's correct. It's still helpful to differentiate between authentication guarantees, however (e.g. data origin vs peer entity auth).