Since antiquity (and, for ceremonial purposes, up to the present day), physical documents have had seals affixed. In principle, these seals enable anyone, if he knows what he's looking for, to judge the authenticity of a document without consulting the authority that issued it. (In practice, there are ways of producing convincing forgeries, but leave that to one side for a moment.)
Is it possible, by affixing a string of characters, or suchlike, to a PDF, to achieve the same thing digitally?
I can think of a way of doing something similar:
- Come up with a private key and a hashing function.
- Hash the private key together with the timestamp for when the document was issued.
- Affix the above hash, together with the timestamp, to the document.
- When someone wants to authenticate a document, check that hashing the private key together with the timestamp produces the same hash as on the document.
However, the major difference between the above method and a physical Great Seal (e.g., The Great Seal of the United States) is the need to consult someone who has the private key. This check would have to come from a central authority since making the private key public would allow free reign to any forger.
Is there a way, then, of doing something like the above, but without the need for a central authority? If no, is it logically impossible, or is it an open problem?