Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!dimacs.rutgers.edu!seismo!uunet!lll-winken!sol.ctr.columbia.edu!cunixf.cc.columbia.edu!cs.columbia.edu!maguire From: maguire@cs.columbia.edu (Gerald Q. Maguire) Newsgroups: comp.lang.postscript Subject: Re: signatures in PostScript Message-ID: Date: 24 Feb 91 02:55:24 GMT References: <13137@sunquest.UUCP> <1991Feb4.181613.22256@tcsc3b2.tcsc.com> <1340@ecicrl.ocunix.on.ca> <7697@dayton.UUCP> Sender: maguire@cs.columbia.edu (Gerald Q. Maguire) Distribution: usa Organization: Columbia University Department of Computer Science Lines: 25 In-Reply-To: jad@dayton.UUCP's message of 19 Feb 91 19:35:40 GMT I have found that a simple way to do this to use Adobe Illustrator and input your signature as a series of splines. My signature results in approximately 80 curves - each curve consists of 6 coords with roughly 6 digits of precision. As simply method of protecting this is to only include a version of this in documents which has been modified to encode the date+time+documentID (you are of course free to encrypt this "timestamp" before encoding it into the coords). The result is that if someone edits the PostScript into another document you can establish if it is the correct signature for this document [you can even write a procedure to do signature authentication if you wish to use public key encryption techniques]. The nice thing is that small perterbations to the signture when printed (due to the modification of the low order digits in the coords) does not destroy the appearance of the signature. A homework problem is to determine the range of variance which produces an observable but not objectionable change when the document is printed at a given resolution. A more advanced homework problem is to produce a version that when scanned (after being printed) will permit the extraction of the encoded information - thus making it possible to authenticate printed versions without access to the source PostScript. [For the real security enthusiast you can also very the line used for the spline to ensure that you can tell an original printed version from a copy of a printed version (using the same techniques used for high security printed documents {which take advantage of the physics of toners}).] Chip