yes, rsync is "the bomb" and it uses some sort of digest algorithm to pull out the most significant bits and formulate a checksum which is usually just like a 128 bit string or so.. then I imaginge it would exchange the checksums and compare them to see if the file has changed