Why does rsyncrypto require a public key during decryption?
For completeness / posterity / future inquisitors, this is the response I got when I asked on the mailing list. I have also included it below because links sometimes break.


  No, you're not missing anything. This requirement is not,
  algorithmically, necessary. 
  
  When you're decrypting with the symmetric key available, rsyncrypto uses
  the public key in order to know how much of the file's header to skip.
  In other words, all it actually needs from your public key is how many
  bits it is. Since the first part of the file is the symmetric key,
  encrypted using the private key, the key's length is needed in order to
  know how much to skip. 
  
  Of course, in retrospect, I could have stored that information inside
  the symmetric key file, and made the usage simpler. I'm hoping to, some
  day, get around to working on rsyncrypto again, and this will definitely
  go there. 
  
  Unfortunately, rsyncrypto's current file format makes it impossible to
  encrypt using a stream algorithm. Since this is a kinda important
  change, the changes planned for rsyncrypto 2.0 are breaking changes. As
  that's the case, I will not do another breaking change (changing the
  format of the symmetric key file) for so little gain. 
  
  If this restriction is a problem for the deployment type you are
  planning, you can simply generate some random public key for the
  decryption machine. So long as it is the same length as the original
  encryption key, everything should work fine. 
  
  Shachar