Algorytm rsync – algorytm będący podstawą działania protokołu i narzędzia transferu plików rsync. Algorytm znajduje różnice między dwoma plikami umieszczonymi na dwóch różnych komputerach (czy bardziej ogólnie: urządzeniach) połączonych łączem o niskiej przepustowości; różnice dane są jako lista poleceń, które opisują w jaki sposób przekształcić jeden plik w drugi, bez konieczności transmisji wszystkich danych.
Założenia algorytmu są następujące: jeden plik jest w pełni dostępny na pierwszym komputerze (A), natomiast informacje o drugim pliku, znajdującym się na innym komputerze (B), są częściowe.
Pierwszy etap algorytmu wykonywany jest na komputerze B. Synchronizowany plik jest dzielony na bloki o rozmiarze kilkuset bajtów-kilku kilobajtów. Dla każdego z nich liczone są wartości dwóch funkcji mieszających – słabej 32-bitowej (ozn. ) oraz mocniejszej, wymagającej więcej obliczeń, 128-bitowej MD5 (w sumie 20 bajtów na blok). Te dane są transmitowane do komputera A.
Natomiast na komputerze A, w pliku wyszukiwane są wszystkie wystąpienia bloków, przy czym ich pozycje mogą być dowolne;