I recently learned about message authentication codes at uni and the lecturer said that it's important to use a padding to make the message an integer multiple of a certain length before hashing because otherwise "many" hash function allow data to be appended without changing the hash.
I didn't mishear that. It's on a lecture slide.
This lecture slide also shows this titled "actual implementation":
HMAC(Key, M) = H((Key ⊕ opad) ∥ H(Key ⊕ ipad ∥ M))
Meaning of the symbols:
M: message H: cryptographic hash function Key: symmetrical key opad, ipad: inner/outer padding ∥: concatenation ⊕: XOR
First of all, I find the "actual implementation" rather awkward. That probably should be
n times with
n*length(opad) ≥ length(key) and
n*length(ipad) ≥ length(key).
But mostly, I find that hard to believe and can't seem to find anything about it on the internet. Does this actually occur with cryptographic hash functions?