Re: Signing as one member of a set of keys
Anonymous wrote: > Len Sassaman has put the ringsig program up at > >>http://www.abditum.com/~rabbi/ringsig/ > > > First, the ring signature portion has successfully been repaired from > the truncation imposed by the anon remailer in the original post. > > Second, unfortunately all of the tabs have been converted to spaces. > This will prevent the sig from verifying. > > Third, a number of the lines have been wrapped. This will also prevent > the verification from going through. The version I posted does not appear to suffer from either of these problems (but also does not verify). Cheers, Ben. -- http://www.apache-ssl.org/ben.html http://www.thebunker.net/ Available for contract work. "There is no limit to what a man can do or how far he can go if he doesn't mind who gets the credit." - Robert Woodruff
Re: Signing as one member of a set of keys
Anonymous wrote: >>>*** COULD SOMEONE PLEASE FOLLOW THE STEPS ABOVE AND PUT THE ringsig.c, >>>ringsign, ringver, AND sigring.pgp FILES ON A WEB PAGE SO THAT PEOPLE >>>CAN DOWNLOAD THEM WITHOUT HAVING TO GO THROUGH ALL THESE STEPS? *** >> >>Once it works, I'll happily do that, but... >> >> >>>6. Finally, the verification step: run the ringver perl script, giving the >>>PGP key file created in step 5 as an argument, and giving it the ringsig.c >>>file as standard input: >>> >>>./ringver sigring.pgp < ringsig.c >>> >>>This should print the message "Good signature". >> >>ben@scuzzy:~/tmp/multisign$ ./ringver pubring.pkr < testwhole >>ERROR: Bad signature > > > Could you post the files anyway on a web page, then the author can check > them against his copies and see which are corrupted? http://www.alcrypto.co.uk/ringsign/ Cheers, Ben. -- http://www.apache-ssl.org/ben.html http://www.thebunker.net/ Available for contract work. "There is no limit to what a man can do or how far he can go if he doesn't mind who gets the credit." - Robert Woodruff
Re: Signing as one member of a set of keys
Len Sassaman wrote: > On Sat, 17 Aug 2002, Anonymous wrote: > > >>*** COULD SOMEONE PLEASE FOLLOW THE STEPS ABOVE AND PUT THE ringsig.c, >>ringsign, ringver, AND sigring.pgp FILES ON A WEB PAGE SO THAT PEOPLE >>CAN DOWNLOAD THEM WITHOUT HAVING TO GO THROUGH ALL THESE STEPS? *** > > > The files are available at: > > http://www.abditum.com/~rabbi/ringsig/ > > Also, if you'd like to send me a more detailed blurb for the webpage, I'd > be happy to put it up. Otherwise, this will have to do. > > >>9. Please report whether you were able to succeed, and if not, which step >>failed for you. > > > I just ran into a bunch of errors when trying to compile with OpenSSL > 0.9.7beta3. I'm debugging now... There's a fixed verion on the page I just posted (admittedly against a current 0.9.7 snapshot, not beta3). http://www.alcrypto.co.uk/ringsign/ Cheers, Ben. -- http://www.apache-ssl.org/ben.html http://www.thebunker.net/ Available for contract work. "There is no limit to what a man can do or how far he can go if he doesn't mind who gets the credit." - Robert Woodruff
Re: Signing as one member of a set of keys
On Thu, 22 Aug 2002, Anonymous wrote: > Len Sassaman has put the ringsig program up at > > http://www.abditum.com/~rabbi/ringsig/ [...] > Second, unfortunately all of the tabs have been converted to spaces. > This will prevent the sig from verifying. [...] I've put a corrected version in its place. If this still has problems, could you send me the md5sum of the correctly formatted file so that I can be sure I get it right? --Len.
Re: Signing as one member of a set of keys
Len Sassaman has put the ringsig program up at > http://www.abditum.com/~rabbi/ringsig/ First, the ring signature portion has successfully been repaired from the truncation imposed by the anon remailer in the original post. Second, unfortunately all of the tabs have been converted to spaces. This will prevent the sig from verifying. Third, a number of the lines have been wrapped. This will also prevent the verification from going through. Is it possible for you to visit http://www.inet-one.com/cypherpunks/dir.2002.08.05-2002.08.11/msg00221.html and use the kind of "Save as Text" command in your browser, to get the version with the tabs and without the wrapping? Doing this with IE on this system avoids these problems. Then you just need to bring over the missing signature lines, which has been done successfully in the files above. Thanks very much to Len Sassaman for making this file available. ++multisig v1.0 +Hkvy3oF8ULSowmX+Q3oUgRxy7gEkn5fsiq3ezXz5dPJxQxz4nR9F+9YzjMTagOw FpUA9idUECIm2023Ech/AHDSHFk4hqlZBon0Rak5N12C7R7tqdY2EkKOG9j2i24J MkD0W7/qH53V2q6TheJUeRsSg4nn58nazWIKlOG8FZiGm+j6tRXnAiGVAE2+Mqtk 5Vig7GQ/c+MZWwgccN3pc8xENanr4dIbBJVzDQBZL2auoLpukRrj22AO+ujUnprh pY8tj2BnJgyRxsQBSm/Kk9EGihnOy0bTNiaZiwEcd5vtTp8df3q8WdPDN/d0SDIi T8Vr3SIikplopi/aaRoMk9S0o1I9FMJU8QwHXXi/6W300+a5m+aaOqnvjVJ7c0hE h6tiS7g7IWHwlA1mTkm4+XNdQayUr43a7CTkBz+dYOA2qKOMfMwoWbIw82fwauKW M4tmxgx/XFKljbFfXWT3klBJlJL1i9Rpi4ilf0gvxkAdxXas++oQ3BHg23FwV7ze FyDIHfEU3DQkbcatu3iScJ5eH5B1PBbxdrkRlEIFzA5zl/3u7pEPmcbHNJAETdRb oVW6yY8TolDAPfgAqMcFC72kuxDj6Z0tLhB13f1o7fvtIVEoVDs2cBgNkf3r75tP LwyTzNTKy9rrIRJScJ/Ibb4XvsZHRLHSw9CNI/6qqMSVtiSuCBS/7kF0XGpr1FJe eael8oJJh2C8eDov6yyHGOixUuJR6rs/pp2YvvyWLKeMu8BN9AScFyFk6k4aT/ck /tEFNs3WyldNeIAw7lYAvj6qcJG1wqZkDT75x0qw+sTYJRREF7VPrdUGW+qfPFsn 626RnieO6ggYPq12DEb0aT8tdXESoVJcdpNp4NHoGUxD05p9mhsT1aFbocGVrpxa UpsOfPcHKHNQbmAuZE6P4LMa/UlEn1l1rDuKSCbmnBqVvfYr96IjsF4c+PZTBllF YJaz8XTeXvOvEuscbz8q+E7IJ+1VA5nosUYNd7u/LGN0Jg9jTn7HIzfQ4pKUV66r jZnnKOvU8AZLHcEbduBMvLvE/5IZro5OYlDa+odIXISTIRvHP9k+GbHyeBKQ1CLj UzVJAHyyu9g/J1b+QR5eyPDETkGhlnC7rpjvfqjwyKLfI80oVo/o2xV5K8dLNIFG FGLcGMil4pjojXyBv/bx0rIOdpeipusCOn/JNl/6o94AP2XMjWRtxz1A9Jygy+qZ x5yZxrOpKAhxSpyLi4af8fgqz16u/VLzfjBpIs7apNtLjbjv7qG5PXbT5I/RPPnl hl6YMQYsBc6+5RbaRIZ8bflcDNkm/ar/hb5j2fpVhhainL6BlNw7DWFg4XTCV0zg
Re: Signing as one member of a set of keys
On Sat, 17 Aug 2002, Anonymous wrote: > *** COULD SOMEONE PLEASE FOLLOW THE STEPS ABOVE AND PUT THE ringsig.c, > ringsign, ringver, AND sigring.pgp FILES ON A WEB PAGE SO THAT PEOPLE > CAN DOWNLOAD THEM WITHOUT HAVING TO GO THROUGH ALL THESE STEPS? *** The files are available at: http://www.abditum.com/~rabbi/ringsig/ Also, if you'd like to send me a more detailed blurb for the webpage, I'd be happy to put it up. Otherwise, this will have to do. > 9. Please report whether you were able to succeed, and if not, which step > failed for you. I just ran into a bunch of errors when trying to compile with OpenSSL 0.9.7beta3. I'm debugging now... --Len.
Re: Signing as one member of a set of keys
Anonymous wrote: >>>*** COULD SOMEONE PLEASE FOLLOW THE STEPS ABOVE AND PUT THE ringsig.c, >>>ringsign, ringver, AND sigring.pgp FILES ON A WEB PAGE SO THAT PEOPLE >>>CAN DOWNLOAD THEM WITHOUT HAVING TO GO THROUGH ALL THESE STEPS? *** >> >>Once it works, I'll happily do that, but... >> >> >>>6. Finally, the verification step: run the ringver perl script, giving the >>>PGP key file created in step 5 as an argument, and giving it the ringsig.c >>>file as standard input: >>> >>>./ringver sigring.pgp < ringsig.c >>> >>>This should print the message "Good signature". >> >>ben@scuzzy:~/tmp/multisign$ ./ringver pubring.pkr < testwhole >>ERROR: Bad signature > > > Could you post the files anyway on a web page, then the author can check > them against his copies and see which are corrupted? OK. Coming soon. Cheers, Ben. -- http://www.apache-ssl.org/ben.html http://www.thebunker.net/ Available for contract work. "There is no limit to what a man can do or how far he can go if he doesn't mind who gets the credit." - Robert Woodruff
Re: Signing as one member of a set of keys
> > *** COULD SOMEONE PLEASE FOLLOW THE STEPS ABOVE AND PUT THE ringsig.c, > > ringsign, ringver, AND sigring.pgp FILES ON A WEB PAGE SO THAT PEOPLE > > CAN DOWNLOAD THEM WITHOUT HAVING TO GO THROUGH ALL THESE STEPS? *** > > Once it works, I'll happily do that, but... > > > 6. Finally, the verification step: run the ringver perl script, giving the > > PGP key file created in step 5 as an argument, and giving it the ringsig.c > > file as standard input: > > > > ./ringver sigring.pgp < ringsig.c > > > > This should print the message "Good signature". > > ben@scuzzy:~/tmp/multisign$ ./ringver pubring.pkr < testwhole > ERROR: Bad signature Could you post the files anyway on a web page, then the author can check them against his copies and see which are corrupted?
Re: Signing as one member of a set of keys
Anonymous wrote: > Steps to verify the "ring signature" file (note: you must have the openssl > library installed): > > > 1. Save http://www.inet-one.com/cypherpunks/dir.2002.08.05-2002.08.11/msg00221.html, > as text, to the file ringsig.c. Delete the paragraph of explanation, and/or any > HTML junk, so the file starts with: > > /* Implementation of ring signatures from > * http://theory.lcs.mit.edu/~rivest/RivestShamirTauman-HowToLeakASecret.pdf > * by Rivest, Shamir and Tauman > > and it ends with: > > lPglqmmy3p4D+psNU1rlNv6yH/L0PgcuW7taVpbopjl4HLuJdWcKHJlXish3D/jb > eoQ856fYFZ/omGiO9x1D0BsnGFLZVWob4OIZRzO/Pc49VIhFy5NsV2zuozStId89 > [...] > */ > > > 2. The "[...]" above is where a remailer caused some of the signature > to be stripped out. Replace the last few lines of ringsig.c with the > text from > http://www.inet-one.com/cypherpunks/dir.2002.08.05-2002.08.11/msg00306.html. > This has the lines from the END PGP PUBLIC KEY BLOCK line onward. > The last lines of the ringsig.c file should be: > > BjHTDH0VZeu3IxUFh37w2fIEehL8WrXvCoCMFnd1/bnn/qI/STXgg6as579/yBIJ > nJra7Ceru4q4wUssK79T6SdOM6wcvVg96ub4UOTaPO4wYhhadCbLFpl3tPfTLceb > */ > > > 3. Compile ringsig.c using the openssl library, to form an executable file > "ringsig". Try running ringsig and you will get a usage message. > > > 4. Get the two perl scripts from > http://www.inet-one.com/cypherpunks/dir.2002.08.05-2002.08.11/msg00313.html > and save them as "ringver" and "ringsign". > > > 5. Run the ringsig.c file through the "pgp" program to create a PGP key > ring file from the PGP PUBLIC KEY BLOCK data. With the command line > version of PGP 2.6.2 the command is: > > pgp -ka ringsig.c sigring.pgp > > This will also show you the set of keys, one of which made the signature. > > *** COULD SOMEONE PLEASE FOLLOW THE STEPS ABOVE AND PUT THE ringsig.c, > ringsign, ringver, AND sigring.pgp FILES ON A WEB PAGE SO THAT PEOPLE > CAN DOWNLOAD THEM WITHOUT HAVING TO GO THROUGH ALL THESE STEPS? *** Once it works, I'll happily do that, but... > 6. Finally, the verification step: run the ringver perl script, giving the > PGP key file created in step 5 as an argument, and giving it the ringsig.c > file as standard input: > > ./ringver sigring.pgp < ringsig.c > > This should print the message "Good signature". ben@scuzzy:~/tmp/multisign$ ./ringver pubring.pkr < testwhole ERROR: Bad signature (Incidentally, this was the procedure I followed in the first place, except I manually broke the file into parts, rather than using ringver). I still suggest sending the relevant file as an attachment, so it doesn't get mangled in transit. I wonder how many people are now convinced I didn't write this code? ;-) Cheers, Ben. -- http://www.apache-ssl.org/ben.html http://www.thebunker.net/ Available for contract work. "There is no limit to what a man can do or how far he can go if he doesn't mind who gets the credit." - Robert Woodruff
Re: Signing as one member of a set of keys
Steps to verify the "ring signature" file (note: you must have the openssl library installed): 1. Save http://www.inet-one.com/cypherpunks/dir.2002.08.05-2002.08.11/msg00221.html, as text, to the file ringsig.c. Delete the paragraph of explanation, and/or any HTML junk, so the file starts with: /* Implementation of ring signatures from * http://theory.lcs.mit.edu/~rivest/RivestShamirTauman-HowToLeakASecret.pdf * by Rivest, Shamir and Tauman and it ends with: lPglqmmy3p4D+psNU1rlNv6yH/L0PgcuW7taVpbopjl4HLuJdWcKHJlXish3D/jb eoQ856fYFZ/omGiO9x1D0BsnGFLZVWob4OIZRzO/Pc49VIhFy5NsV2zuozStId89 [...] */ 2. The "[...]" above is where a remailer caused some of the signature to be stripped out. Replace the last few lines of ringsig.c with the text from http://www.inet-one.com/cypherpunks/dir.2002.08.05-2002.08.11/msg00306.html. This has the lines from the END PGP PUBLIC KEY BLOCK line onward. The last lines of the ringsig.c file should be: BjHTDH0VZeu3IxUFh37w2fIEehL8WrXvCoCMFnd1/bnn/qI/STXgg6as579/yBIJ nJra7Ceru4q4wUssK79T6SdOM6wcvVg96ub4UOTaPO4wYhhadCbLFpl3tPfTLceb */ 3. Compile ringsig.c using the openssl library, to form an executable file "ringsig". Try running ringsig and you will get a usage message. 4. Get the two perl scripts from http://www.inet-one.com/cypherpunks/dir.2002.08.05-2002.08.11/msg00313.html and save them as "ringver" and "ringsign". 5. Run the ringsig.c file through the "pgp" program to create a PGP key ring file from the PGP PUBLIC KEY BLOCK data. With the command line version of PGP 2.6.2 the command is: pgp -ka ringsig.c sigring.pgp This will also show you the set of keys, one of which made the signature. *** COULD SOMEONE PLEASE FOLLOW THE STEPS ABOVE AND PUT THE ringsig.c, ringsign, ringver, AND sigring.pgp FILES ON A WEB PAGE SO THAT PEOPLE CAN DOWNLOAD THEM WITHOUT HAVING TO GO THROUGH ALL THESE STEPS? *** 6. Finally, the verification step: run the ringver perl script, giving the PGP key file created in step 5 as an argument, and giving it the ringsig.c file as standard input: ./ringver sigring.pgp < ringsig.c This should print the message "Good signature". 7. How do you know what this means? For that you have to read the paper referenced in the program to become convinced of the theory, and then to study the program to be convinced that it implements the algorithm in the paper. 8. To create your own signatures, create a PGP keyring file which holds your own key as well as the keys of other people that you want people to think might have issued the signature. They must all be RSA public keys. Create a PGP secring.pgp file which holds just your secret key, and change your passphrase on that key to be blank. (This is temporary, you can change it back or delete the secring.pgp when you are done.) Then use the ringsign perl script: "./ringsign filetosign pubkeyfile privkeyfile > outfile" This will append a signature to the file you are signing. You also need to make sure the recipient knows the pubkeyfile, so you may want to send that separately, or include it in the file being signed as was done in this case. 9. Please report whether you were able to succeed, and if not, which step failed for you. BTW there are a couple of papers on ring signatures to be presented at Crypto 02 so there might be some new improvements coming to the code if the ideas look good. One possibility is extending them to work with DSS keys in addition to the current RSA keys.
Re: Signing as one member of a set of keys
Anonymous User wrote: > This program can be used by anonymous contributors to release partial > information about their identity - they can show that they are someone > from a list of PGP key holders, without revealing which member of the > list they are. Maybe it can help in the recent controvery over the > identity of anonymous posters. It's a fairly low-level program that > should be wrapped in a nicer UI. I'll send a couple of perl scripts > later that make it easier to use. Hmm. So has anyone managed to get the signature to verify? Doesn't work for me! But perhaps things got mangled in the mail? Or I chose the wrong subset of the email to verify (I tried all the obvious ones)? Sending this stuff as attachments instead of inline would work better, of course. Cheers, Ben. -- http://www.apache-ssl.org/ben.html http://www.thebunker.net/ Available for contract work. "There is no limit to what a man can do or how far he can go if he doesn't mind who gets the credit." - Robert Woodruff
Re: Signing as one member of a set of keys
Interesting. Unless some clever at jobs were involved, this was likely not written by Ian or Ben. I can vouch that Ian was not near a computer at the time the second message (with the complete signature) was posted, and Ben was somewhere over the Atlantic in an airplane, unlikely to be reading his mail. Lance has probably been too busy with Anonymizer 2.0 to be a good choice, and I also suspect that Pr0duct Cypher is the same as one of the people in that list. I'll put my money on the author being one of the last three people in that list. Adam Back .org>cc: [EMAIL PROTECTED], [EMAIL PROTECTED], Adam Back <[EMAIL PROTECTED]> Sent by: Subject: Re: Signing as one member of a set of keys owner-cypherpunks @lne.com 08/09/2002 12:11 PM Very nice. Nice plausible set of candidate authors also: pub 1022/5AC7B865 1992/12/01 [EMAIL PROTECTED] pub 1024/2B48F6F5 1996/04/10 Ian Goldberg <[EMAIL PROTECTED]> pub 1024/97558A1D 1994/01/10 Pr0duct Cypher pub 1024/2719AF35 1995/05/13 Ben Laurie <[EMAIL PROTECTED]> pub 1024/58214C37 1992/09/08 Hal Finney <[EMAIL PROTECTED]> pub 1024/C8002BD1 1997/03/04 Eric Young <[EMAIL PROTECTED]> pub 1024/FBBB8AB1 1994/05/07 Colin Plumb <[EMAIL PROTECTED]> Wonder if we can figure out who is most likely author based on coding style from such a small set. It has (8 char) TABs but other wise BSD indentation style (BSD normally 4 spaces). Also someone who likes triply indirected pointers ***blah in there. Has local variables inside even *if code blocks* eg, inside main() (most people avoid that, preferring to declare variables at the top of a function, and historically I think some older gcc / gdb couldn't debug those variables if I recall). Very funky use of goto in getpgppkt, hmmm. Somewhat concise coding and variable names. Off the cuff guess based on coding without looking at samples of code to remind, probably Colin or Ian. Of course (Lance Cottrell/Ian Goldberg/Pr0duct Cypher/Ben Laurie/Hal Finney/Eric Young/Colin Plumb) possibly deviated or mimicked one of their coding styles. Kind of interesting to see a true nym in there also. Also the Cc -- Coderpunks lives? I think the Cc coderpunks might be a clue also, I think some of these people would know it died. I think that points more at Colin. Other potential avenue might be implementation mistake leading to failure of the scheme to robustly make undecidable which of the set is the true author, given alpha code. Adam On Fri, Aug 09, 2002 at 03:52:56AM +, Anonymous User wrote: > This program can be used by anonymous contributors to release partial > information about their identity - they can show that they are someone > from a list of PGP key holders, without revealing which member of the > list they are. Maybe it can help in the recent controvery over the > identity of anonymous posters. It's a fairly low-level program that > should be wrapped in a nicer UI. I'll send a couple of perl scripts > later that make it easier to use.
Re: Signing as one member of a set of keys
Of course, the paranoid amonsgt us now believe that Mr. Back wrote the code, and is engaging in a little misdirection below. "Thanks for making the analysis easy!" ;) On Fri, Aug 09, 2002 at 08:11:15PM +0100, Adam Back wrote: | Very nice. | | Nice plausible set of candidate authors also: | | pub 1022/5AC7B865 1992/12/01 [EMAIL PROTECTED] | pub 1024/2B48F6F5 1996/04/10 Ian Goldberg <[EMAIL PROTECTED]> | pub 1024/97558A1D 1994/01/10 Pr0duct Cypher | pub 1024/2719AF35 1995/05/13 Ben Laurie <[EMAIL PROTECTED]> | pub 1024/58214C37 1992/09/08 Hal Finney <[EMAIL PROTECTED]> | pub 1024/C8002BD1 1997/03/04 Eric Young <[EMAIL PROTECTED]> | pub 1024/FBBB8AB1 1994/05/07 Colin Plumb <[EMAIL PROTECTED]> | | Wonder if we can figure out who is most likely author based on coding | style from such a small set. | | It has (8 char) TABs but other wise BSD indentation style (BSD | normally 4 spaces). Also someone who likes triply indirected pointers | ***blah in there. Has local variables inside even *if code blocks* | eg, inside main() (most people avoid that, preferring to declare | variables at the top of a function, and historically I think some | older gcc / gdb couldn't debug those variables if I recall). Very | funky use of goto in getpgppkt, hmmm. Somewhat concise coding and | variable names. | | Off the cuff guess based on coding without looking at samples of code | to remind, probably Colin or Ian. | | Of course (Lance Cottrell/Ian Goldberg/Pr0duct Cypher/Ben Laurie/Hal | Finney/Eric Young/Colin Plumb) possibly deviated or mimicked one of | their coding styles. Kind of interesting to see a true nym in there | also. | | Also the Cc -- Coderpunks lives? I think the Cc coderpunks might be a | clue also, I think some of these people would know it died. I think | that points more at Colin. | | Other potential avenue might be implementation mistake leading to | failure of the scheme to robustly make undecidable which of the set is | the true author, given alpha code. | | Adam | | On Fri, Aug 09, 2002 at 03:52:56AM +, Anonymous User wrote: | > This program can be used by anonymous contributors to release partial | > information about their identity - they can show that they are someone | > from a list of PGP key holders, without revealing which member of the | > list they are. Maybe it can help in the recent controvery over the | > identity of anonymous posters. It's a fairly low-level program that | > should be wrapped in a nicer UI. I'll send a couple of perl scripts | > later that make it easier to use. | -- "It is seldom that liberty of any kind is lost all at once." -Hume
Re: Signing as one member of a set of keys
If you think that will make the problem easy or definitive... For a start check out, Springer Series in Statistics Applied Bayesian and Classical Inference: The Cast of The Federalist Papers F. Mosteller, D.L. Wallace ISBN 0-387-90991-5 ISBN 0-540-90991-5 On Sun, 11 Aug 2002, Adam Shostack wrote: > Of course, the paranoid amonsgt us now believe that Mr. Back wrote the > code, and is engaging in a little misdirection below. > > "Thanks for making the analysis easy!" > > ;) > > > On Fri, Aug 09, 2002 at 08:11:15PM +0100, Adam Back wrote: > | Very nice. > | > | Nice plausible set of candidate authors also: > | > | pub 1022/5AC7B865 1992/12/01 [EMAIL PROTECTED] > | pub 1024/2B48F6F5 1996/04/10 Ian Goldberg <[EMAIL PROTECTED]> > | pub 1024/97558A1D 1994/01/10 Pr0duct Cypher > | pub 1024/2719AF35 1995/05/13 Ben Laurie <[EMAIL PROTECTED]> > | pub 1024/58214C37 1992/09/08 Hal Finney <[EMAIL PROTECTED]> > | pub 1024/C8002BD1 1997/03/04 Eric Young <[EMAIL PROTECTED]> > | pub 1024/FBBB8AB1 1994/05/07 Colin Plumb <[EMAIL PROTECTED]> > | > | Wonder if we can figure out who is most likely author based on coding > | style from such a small set. > | > | It has (8 char) TABs but other wise BSD indentation style (BSD > | normally 4 spaces). Also someone who likes triply indirected pointers > | ***blah in there. Has local variables inside even *if code blocks* > | eg, inside main() (most people avoid that, preferring to declare > | variables at the top of a function, and historically I think some > | older gcc / gdb couldn't debug those variables if I recall). Very > | funky use of goto in getpgppkt, hmmm. Somewhat concise coding and > | variable names. > | > | Off the cuff guess based on coding without looking at samples of code > | to remind, probably Colin or Ian. > | > | Of course (Lance Cottrell/Ian Goldberg/Pr0duct Cypher/Ben Laurie/Hal > | Finney/Eric Young/Colin Plumb) possibly deviated or mimicked one of > | their coding styles. Kind of interesting to see a true nym in there > | also. > | > | Also the Cc -- Coderpunks lives? I think the Cc coderpunks might be a > | clue also, I think some of these people would know it died. I think > | that points more at Colin. > | > | Other potential avenue might be implementation mistake leading to > | failure of the scheme to robustly make undecidable which of the set is > | the true author, given alpha code. > | > | Adam > | > | On Fri, Aug 09, 2002 at 03:52:56AM +, Anonymous User wrote: > | > This program can be used by anonymous contributors to release partial > | > information about their identity - they can show that they are someone > | > from a list of PGP key holders, without revealing which member of the > | > list they are. Maybe it can help in the recent controvery over the > | > identity of anonymous posters. It's a fairly low-level program that > | > should be wrapped in a nicer UI. I'll send a couple of perl scripts > | > later that make it easier to use. > | > > -- > "It is seldom that liberty of any kind is lost all at once." > -Hume >
Re: Signing as one member of a set of keys
Here are the perl scripts I cobbled together to put the ring signature at the end of the file, after a separator. I called the executable program from the earlier C source code "ringsig". I call these ringver and ringsign. I'm no perl hacker so these could undoubtedly be greatly improved. ringver === #! /usr/bin/perl # Usage: $0 pubkeyfile < filetoverify die("Usage: ringver pubkeyfile < filetoverify") if @ARGV != 1; $outfile = "/tmp/sigdata$$"; $sigfile = "/tmp/sigfile$$"; $separator = " \\+\\+multisig v1\\.0"; $pubfile=$ARGV[0]; -r $pubfile || die ("Error reading $pubfile"); open (OUTFILE, ">".$outfile) || die ("Unable to open $outfile for output"); open (SIGFILE, ">".$sigfile) || die ("Unable to open $sigfile for output"); # Skip leading blank lines on input file $_= while /^$/; # Save lines to outfile until separator print OUTFILE $_; while () { last if /$separator/; print OUTFILE $_; } die ("No signature found in input file") if !$_; # Save remaining lines ot sigfile print SIGFILE while ; close INFILE; close OUTFILE; close SIGFILE; open (SIG, "./ringsig -v $outfile $pubfile < $sigfile |") || die ("Error running verify program"); # Print output from program print while ; close SIG; unlink($sigfile); unlink($outfile); exit($?); ringsign === #! /usr/bin/perl # Usage: $0 filetosign pubkeyfile privkeyfile die("Usage: ringsign filetosign pubkeyfile privkeyfile > outfile") if @ARGV < 3; $outfile = "/tmp/sigdata$$"; $separator = " ++multisig v1.0"; open(INFILE, $ARGV[0]) || die ("Unable to open $ARGV[0] for input"); $pubfile=$ARGV[1]; $secfile=$ARGV[2]; -r $pubfile || die ("Error reading $pubfile"); -r $secfile || die ("Error reading $secfile"); open (OUTFILE, ">".$outfile) || die ("Unable to open $outfile for output"); # Skip leading blank lines on input file $_= while /^$/; # Save lines to outfile print OUTFILE $_; print OUTFILE $_ while ; close INFILE; close OUTFILE; # Re-open infile open(INFILE, $ARGV[0]) || die ("Unable to open $ARGV[0] for input"); open (SIG, "./ringsig -s $outfile $pubfile $secfile|") || die ("Error signing"); @sigs = ; close SIG; die ("Error from signature program") if ($?); # Output infile, separator, sig print while ; print $separator . "\n"; print @sigs; unlink($outfile);
Re: Signing as one member of a set of keys
Here are the perl scripts I cobbled together to put the ring signature at the end of the file, after a separator. I called the executable program from the earlier C source code "ringsig". I call these ringver and ringsign. I'm no perl hacker so these could undoubtedly be greatly improved. ringver === #! /usr/bin/perl # Usage: $0 pubkeyfile < filetoverify die("Usage: ringver pubkeyfile < filetoverify") if @ARGV != 1; $outfile = "/tmp/sigdata$$"; $sigfile = "/tmp/sigfile$$"; $separator = " \\+\\+multisig v1\\.0"; $pubfile=$ARGV[0]; -r $pubfile || die ("Error reading $pubfile"); open (OUTFILE, ">".$outfile) || die ("Unable to open $outfile for output"); open (SIGFILE, ">".$sigfile) || die ("Unable to open $sigfile for output"); # Skip leading blank lines on input file $_= while /^$/; # Save lines to outfile until separator print OUTFILE $_; while () { last if /$separator/; print OUTFILE $_; } die ("No signature found in input file") if !$_; # Save remaining lines ot sigfile print SIGFILE while ; close INFILE; close OUTFILE; close SIGFILE; open (SIG, "./ringsig -v $outfile $pubfile < $sigfile |") || die ("Error running verify program"); # Print output from program print while ; close SIG; unlink($sigfile); unlink($outfile); exit($?); ringsign === #! /usr/bin/perl # Usage: $0 filetosign pubkeyfile privkeyfile die("Usage: ringsign filetosign pubkeyfile privkeyfile > outfile") if @ARGV < 3; $outfile = "/tmp/sigdata$$"; $separator = " ++multisig v1.0"; open(INFILE, $ARGV[0]) || die ("Unable to open $ARGV[0] for input"); $pubfile=$ARGV[1]; $secfile=$ARGV[2]; -r $pubfile || die ("Error reading $pubfile"); -r $secfile || die ("Error reading $secfile"); open (OUTFILE, ">".$outfile) || die ("Unable to open $outfile for output"); # Skip leading blank lines on input file $_= while /^$/; # Save lines to outfile print OUTFILE $_; print OUTFILE $_ while ; close INFILE; close OUTFILE; # Re-open infile open(INFILE, $ARGV[0]) || die ("Unable to open $ARGV[0] for input"); open (SIG, "./ringsig -s $outfile $pubfile $secfile|") || die ("Error signing"); @sigs = ; close SIG; die ("Error from signature program") if ($?); # Output infile, separator, sig print while ; print $separator . "\n"; print @sigs; unlink($outfile);
RE: Signing as one member of a set of keys
Anonymous wrote: > > Here is the signature block from the "ring signature" program > which got truncated. I'll try sending it through a few > different anon remailers until it gets through. Replace the > lines from the earlier posting starting with the "END PGP > PUBLIC KEY BLOCK" line. I seem to still have problems with the signature block. If somebody on this list has a good copy, could you please place it on a web page and publish the URL? If nobody has a good copy, could perhaps Anonymous try a different method of posting, such as uuencoding? Thanks, --Lucky
Re: Signing as one member of a set of keys
Here is the signature block from the "ring signature" program which got truncated. I'll try sending it through a few different anon remailers until it gets through. Replace the lines from the earlier posting starting with the "END PGP PUBLIC KEY BLOCK" line. -END PGP PUBLIC KEY BLOCK- ++multisig v1.0 pEsBwalpBRxWyJR8tkYm6qR27UW9IT6Vg8SlOHIsEkk04RJvoSy0cy4ISFCq6vDX 5ub6c+MYi/UoyR6tI7oqpMu1abcXWm2DkfDiCsD6jQddVkiiYdG7Bih8JWdWmp5l AgzqUoz14671/ezmWSrPNsTNKV96+ZLEanZsqfkpQcnZpLkWVpJzQFe0VgDQ64b2 +e2efrbknLFq0FTdX7Sh3qzAfzNYYgADmeOxDoTm9sb6T0fULf1P7mjiN2LZXuEW m/8QvksaQi9KGa/0xN2m0heNtS1cfsTa+NJz8XYyG/tnMy7+mvI3c3lrnz+6Dpyp pbNwaX+12VcqtfNec9faoq8RJgFxmSO/ZfMOGM8cFBQ75ZOaoBJP5ObHZ/63FFh5 Wh5GzwJjQs0vLwpM3iF6G+IixEqAQYisUdCopP1wXCLgltDM6l7jRlXxNDj0AXQ1 eQJolo32vemcy8Z8GAn5tpQHmJwpdzZpboWRQY53pD4mVnEMN4GBC1mhbbI2z+Oh lPglqmmy3p4D+psNU1rlNv6yH/L0PgcuW7taVpbopjl4HLuJdWcKHJlXish3D/jb eoQ856fYFZ/omGiO9x1D0BsnGFLZVWob4OIZRzO/Pc49VIhFy5NsV2zuozStId89 mAHWyZ59wWUg9UrkasOAmSd8bkGK4PxM4tWhJxoyGVHZaBHXdBl4V2H0+szRibUC OZpY9V0rkrLE5U8gmOgg/faFeInJJ09SCxtgptV8MLdzsoHXRlN1YA0Qy5NBwmuL EaGJ/iq8OLNKbVpMNqTFHccCjcUW2smduan+I9MMnNbg74dttuw1H2jAx9jbnYP4 4Nc4+TVlNAfQr3M7c4L+lfDYXSYCzN5uOHvGqOkg2+G5KCcPsaPwi2C2lC8eItti uVDqlvDylgVHaZFQIGepZ5VcDlvxYjbi8qFi9uOutfAXMfmVfoPsPPGkkigX3ypZ FLInE/vu4i3BzwYgxU0SMnv9g2R5+GhE8gqQ1x2knOo/QZ4DJnMaW4wt6wwRZPWQ YJyykW0lTD/LkmOqIeVWleXWBW8vlJ20hCP6RKMgE2tnrQBYtFwZlNW2nFPZmOqX HDvF92xHmCHRbpu/MjrxSs8ByAs4cyN77w8f1Gxph9Xcd5iKjdXmJTAs30AzE4uS UjxkAakiTtzjodYvY+fOl1ZYA2/OEGDfC73Xdib9gwD9JWEQz8sjelKIEPdqyvNH BjHTDH0VZeu3IxUFh37w2fIEehL8WrXvCoCMFnd1/bnn/qI/STXgg6as579/yBIJ nJra7Ceru4q4wUssK79T6SdOM6wcvVg96ub4UOTaPO4wYhhadCbLFpl3tPfTLceb */
Re: Signing as one member of a set of keys
On Fri, 9 Aug 2002, Anonymous User wrote: > This program can be used by anonymous contributors to release partial > information about their identity - they can show that they are someone > from a list of PGP key holders, without revealing which member of the > list they are. Maybe it can help in the recent controvery over the > identity of anonymous posters. It's a fairly low-level program that > should be wrapped in a nicer UI. I'll send a couple of perl scripts > later that make it easier to use. > > === Most delightful. Thank you for reminding us that Cypherpunks do indeed write code. More comments in a bit. [MW SNIP] > ++multisig v1.0 > pEsBwalpBRxWyJR8tkYm6qR27UW9IT6Vg8SlOHIsEkk04RJvoSy0cy4ISFCq6vDX > 5ub6c+MYi/UoyR6tI7oqpMu1abcXWm2DkfDiCsD6jQddVkiiYdG7Bih8JWdWmp5l > AgzqUoz14671/ezmWSrPNsTNKV96+ZLEanZsqfkpQcnZpLkWVpJzQFe0VgDQ64b2 > +e2efrbknLFq0FTdX7Sh3qzAfzNYYgADmeOxDoTm9sb6T0fULf1P7mjiN2LZXuEW > m/8QvksaQi9KGa/0xN2m0heNtS1cfsTa+NJz8XYyG/tnMy7+mvI3c3lrnz+6Dpyp > pbNwaX+12VcqtfNec9faoq8RJgFxmSO/ZfMOGM8cFBQ75ZOaoBJP5ObHZ/63FFh5 > Wh5GzwJjQs0vLwpM3iF6G+IixEqAQYisUdCopP1wXCLgltDM6l7jRlXxNDj0AXQ1 > eQJolo32vemcy8Z8GAn5tpQHmJwpdzZpboWRQY53pD4mVnEMN4GBC1mhbbI2z+Oh > lPglqmmy3p4D+psNU1rlNv6yH/L0PgcuW7taVpbopjl4HLuJdWcKHJlXish3D/jb > eoQ856fYFZ/omGiO9x1D0BsnGFLZVWob4OIZRzO/Pc49VIhFy5NsV2zuozStId89 > [...] > */ That [...] you see is an artifact of the anonymous remailer you were using. Mixmaster, I believe, gives the option to truncate messages which appear to include binary encoded data. PGP messages are explicitly allowed to be sent. Immediate problem: we can't verify your signature. Short term solution: find a remailer that allows binary posting. Long term solution: perhaps contact the Mixmaster authors and ask them to explicitly allow "multisig" data? -MW-
Re: Signing as one member of a set of keys
Very nice. Nice plausible set of candidate authors also: pub 1022/5AC7B865 1992/12/01 [EMAIL PROTECTED] pub 1024/2B48F6F5 1996/04/10 Ian Goldberg <[EMAIL PROTECTED]> pub 1024/97558A1D 1994/01/10 Pr0duct Cypher pub 1024/2719AF35 1995/05/13 Ben Laurie <[EMAIL PROTECTED]> pub 1024/58214C37 1992/09/08 Hal Finney <[EMAIL PROTECTED]> pub 1024/C8002BD1 1997/03/04 Eric Young <[EMAIL PROTECTED]> pub 1024/FBBB8AB1 1994/05/07 Colin Plumb <[EMAIL PROTECTED]> Wonder if we can figure out who is most likely author based on coding style from such a small set. It has (8 char) TABs but other wise BSD indentation style (BSD normally 4 spaces). Also someone who likes triply indirected pointers ***blah in there. Has local variables inside even *if code blocks* eg, inside main() (most people avoid that, preferring to declare variables at the top of a function, and historically I think some older gcc / gdb couldn't debug those variables if I recall). Very funky use of goto in getpgppkt, hmmm. Somewhat concise coding and variable names. Off the cuff guess based on coding without looking at samples of code to remind, probably Colin or Ian. Of course (Lance Cottrell/Ian Goldberg/Pr0duct Cypher/Ben Laurie/Hal Finney/Eric Young/Colin Plumb) possibly deviated or mimicked one of their coding styles. Kind of interesting to see a true nym in there also. Also the Cc -- Coderpunks lives? I think the Cc coderpunks might be a clue also, I think some of these people would know it died. I think that points more at Colin. Other potential avenue might be implementation mistake leading to failure of the scheme to robustly make undecidable which of the set is the true author, given alpha code. Adam On Fri, Aug 09, 2002 at 03:52:56AM +, Anonymous User wrote: > This program can be used by anonymous contributors to release partial > information about their identity - they can show that they are someone > from a list of PGP key holders, without revealing which member of the > list they are. Maybe it can help in the recent controvery over the > identity of anonymous posters. It's a fairly low-level program that > should be wrapped in a nicer UI. I'll send a couple of perl scripts > later that make it easier to use.