1
$\begingroup$

I understand that a CRC verifies data integrity by producing a checksum, which is the result of polynomial long division. I've heard hash values referred to as hash checksums, so my question is whether hash functions use some sort of polynomial division as well? I know they break the data up into block ciphers, so my guess would be that the hash functions create some relationship between the polynomial check value and how it's divided into the different blocks. Can someone let me know if I'm way off base here? I'm a crypto newbie so apologies if I'm way off.

$\endgroup$

1 Answer 1

3
$\begingroup$

I've heard hash values referred to as hash checksums, so my question is whether hash functions use some sort of polynomial division as well?

No, they do not.

Actually, the original meaning of "checksum" has nothing to do with polynomial division at all; instead, it was just a simple sum used to detect errors. The usage has been generalized to mean anything added to the data to detect random errors; a CRC does that, and a hash of the data could be used as well.

These both work well about detecting random errors. However, since we're in crypto stack exchange, we also get to worry about deliberate changes made by an intelligent attacker; in that case, neither CRCs nor hashes help (as the attacker can easily compute the CRC/hash of the modified data). If this is the problem space you're in, you need to use either a Message Authentication Code or a Signature; they both depend on secret information that the attacker does not know.

$\endgroup$
1
  • $\begingroup$ Thank you poncho. This was helpful. I actually was thinking more in the realm of file identification, as opposed to an adversarial model. In my relatively primitive knowledge of hashing, I thought they used polynomial division, in combination with some other operation, to produce the hash value. I know hash functions are one-way compression functions, I'm just unsure as to which fundamental mathematical operations drive the algorithms, if that makes any sense. $\endgroup$ Jun 17, 2017 at 13:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.