As part of my job I regularly need to upload big files (a 512 MB to 1 GB ISO, for example). In some cases, very little changes from ISO to ISO (say, a 10 MB file in a 1 GB ISO). Unfortunately, I can't just send the changed file - I need to send the whole ISO. A faster connection is not a valid solution.
Is there any tool (preferably Linux, preferably free) that can make and apply diffs of such big binary files?