Use HMAC-SHA512 to sign messages, not a checksum

A checksum provides integrity, but not authentication. We want to know that the
message came from the user, not just that it's valid!