Duplicity is a popular choice for this use case, i.e. Encrypted bandwidth-efficient backup using the rsync algorithm:
Duplicity backs directories by producing encrypted tar-format volumes
and uploading them to a remote or local file server. Because duplicity
uses librsync, the incremental archives are space efficient and only
record the parts of files that have changed since the last backup.
Because duplicity uses GnuPG to encrypt and/or sign these archives,
they will be safe from spying and/or modification by the server. [emphasis mine]
See Features for more details, especially regarding the Amazon S3 support:
- Choice of remote protocol: Duplicity does not make many demands on its
archive server. As long as files can be saved to, read from, listed,
and deleted from a location, that location can be used as a duplicity
backend. Besides increasing choice for the user, it can make a server
more secure, as clients only require minimal access.
Currently local file storage, scp/ssh, ftp, rsync, HSI, WebDAV,
Tahoe-LAFS, and Amazon S3 are supported, and others shouldn't be
difficult to add. [emphasis mine]
Please note that the software is qualified as beta still, but given the comparatively wide usage and open source development approach, I'd consider it sufficiently mature for production use for quite some time already and use it myself accordingly (and apparently many others do as well).