The checksum protects against accidental changes.
A cryptographic hash protects against a very motivated attacker.
When you send bits on a wire, it may happen that some bits are either upside down, deleted, or inserted. To allow the receiver to detect (or sometimes correct) accidents like this, the sender uses a checksum.
But if you assume that someone is actively and intelligently modifying the message on the wire, and you want to protect it from this type of attacker, then use a cryptographic hash (I ignore the cryptographic hashing of the hash or the use of a secondary channel or such, since the question does not seem to be eludes this).
user3464863 Nov 20 '14 at 20:14 2014-11-20 20:14
source share