Quizás una vista no tan técnica ayude a entender el problema ...
Solo piense en un sobre que contenga el mensaje y el hashsum. Puede perforar el sobre y voltear ciertos bits del mensaje. También puede perforar donde está el hashsum y cambiar los bits de él. Sin embargo, como no puede mirar dentro del sobre, tiene (casi) ninguna posibilidad de voltear el hashsum de manera que se obtenga el valor correcto para el mensaje modificado.
Cuando el receptor abre el sobre, ve un mensaje y un hashsum que no coinciden: una clara indicación de que se modificó algo, el mensaje, la suma de comprobación o ambos.
Editar:
Ok, más técnico ... :-)
Considere el siguiente mensaje M, que transfiero en texto sin formato.
Por favor transfiera 100 $ a mi cuenta.
su hash (SHA1) es 5f7e22d270ca9da68543e3f97f30f1859e20a88a.
El MAC resultante es
f56c10e4264a5173aa97660f7438fc0e12618d1e
Este MAC es el hashsum que cifré con una contraseña secreta. Puede modificar libremente el mensaje y el MAC, pero no puede descubrir cómo modificar el MAC para que, cuando lo descifre, entregue el hashsum correcto, que coincida con su mensaje modificado. En consecuencia, cuando descifre, me daré cuenta de que el hashsum no coincide con el mensaje y se modificó algo.
De eso se trata un MAC, detectar modificaciones.