title: Alternative to PKI digital signature
body: <p>I'm looking for a way of transforming an xml document in a way that achieves the following goals:</p>
  
  <ul>
  <li>It can be distributed to known applications across the internet and managed by them without any special storage requirements</li>
  <li>The applications can determine the source of the document</li>
  <li>The applications can determine if it has been tampered with or altered since it was generated</li>
  <li>The document is encrypted, but for obfuscation purposes rather than because it contains sensitive information</li>
  <li>The application can programmatically read the contents of the xml</li>
  </ul>
  
  <p>This sounds like a classic digital signature scenario. However, I do not want the source and recipient applications to have to deal with the logistical issues associated with managing public and private keys. </p>
  
  <p>So, my question is: is there any way of meeting these requirements reliably without the use of digital certificates?</p>