Rsync algorithm
Appearance
Rsync algorithm - an algorithm that rsync file transfer protocol and utility use.
The source file is split into chunks, each of which is computed two checksums: a cryptographic hash and a rolling checksum. The rolling checksum has the property that if bytes n and n+k are known, the checksum of bytes n+1 to n+k can be computed from the checksum of bytes n to n+k-1 without knowing the intermediate bytes. The rolling checksum is computed for all chunk-sized contiguous blocks of the destination file; any that match a source chunk checksum are computed the cryptographic hash. All chunks of the source file which don't match anything in the destination are transferred, and the file is reassembled.
See also:
- http://rsync.samba.org/tech_report/node2.html - the algorithm