The Nizkor Project: Remembering the Holocaust (Shoah)

Shofar FTP Archive File: miscellany/censorship/cybersitter/csdecode.pl


Current believed-optimum CyberSitter-decoder (43 chars):

perl -lne 's/./$&^"\x94"/ge;map print,/[ ,-9A-}]{5,}/g' cywin0.opt







From: Jamie McCarthy 
Subject: XOR ( 0x94 )
Date: Apr 26, 1997
To: fight-censorship@vorlon.mit.edu
    peacefire-talk@vorlon.mit.edu
Cc: postmaster@solidoak.com

Regarding the CyberSitter "encrypted" filter file, Bennett Haselton
wrote:

>The filter file codebreaker just XOR's every character with 0x94 and
>extracts all strings that are more than 4 printable characters long.

You've got to be kidding me.  Just amazing.  And here I thought we were
living in the 1990s.

XORing with a fixed value is the kind of "encryption" I used in high
school, and even then I knew it wouldn't keep out a determined 9th
grader.

Here's a program which, according to Brian Milburn, "illegally modifies
and decodes data and source code protected by U.S. and International
intellectual property laws."  Invoke from a unix command line:

   perl -0777ne '$_^="\224"x length;@a=grep/.{5}/,split/[^\w,.[\]{}]+/;
   $"="\n";print"@a"' cywin0.opt > cywin0.txt

Note that:

       (a) none of Solid Oak's source code is involved (obviously)

   and (b) the data in question is available with no notices about
intellectual property at ftp://acorn.solidoak.com//Anonymous/cywin0.opt .
 The README file in that directory appears to have nothing to do with
this file, and there is no notice in the "230" header returned by the FTP
server.

The program itself is 70 bytes long (85 if you count the unix trimmings)
and took me ten minutes to write.  Will Solid Oak now send me a demand
letter asking me to stop distributing those 70 bytes?  Stay tuned.

The program is based _solely_ on Mr. Haselton's description, quoted
above, which is 22 words long.  Will Solid Oak now threaten to sue him
(again) for uttering those 22 words?  Stay tuned.

Posted to fight-censorship and peacefire-talk.  Cc'd to
postmaster@solidoak.com.  Bcc'd to a friend of mine at PGP, Inc., for his
amusement.
--
 Jamie McCarthy          http://www.absence.prismatix.com/jamie/
 jamie@nizkor.org     Director of Operations, The Nizkor Project
                                          http://www.nizkor.org/







Date: Sat, 26 Apr 1997 22:38:11 -0400
Message-Id: <9704270238.AA08935@frumious-bandersnatch.MIT.EDU>
From: Seth Finkelstein 
To: jamie@voyager.net
Subject: cybersitter decoder contest

> I still prefer .{5} because you lose some info otherwise.  Even .{5} 
> loses some info -- check out what it does with "don't,buy,cybersitter" -- 
> I think the apostrophe-t gets lost.  Which reminds me, apostrophe should 
> be in the character class there (or rather its negation).  I know it 
> hurts to use one _more_ character but it seems more correct :-)

	The apostrophe is even more of a headache, because it'll mess
up the csh quoting. We can cut through this with rewriting the range
of the regexp.

> Is there a reason there's a terminal semicolon before the last '?  It's 
> unnecessary, isn't it?

	You're right. How's this (re-arranging the $_ position):

perl -lne '$,=$/,print grep/.{6}/,split/[^ ,-9A-}]+/,$_^="\224" x length'

================
Seth Finkelstein
sethf@mit.edu







Received: from kaukau.mcs.vuw.ac.nz (kaukau.mcs.vuw.ac.nz [130.195.5.20]) by vixa.voyager.net (8.8.5/CICNet) with ESMTP id BAA06927 for ; Wed, 30 Apr 1997 01:19:29 -0400 (EDT)
Received: from bats.mcs.vuw.ac.nz (bats.mcs.vuw.ac.nz [130.195.5.13])	by kaukau.mcs.vuw.ac.nz (8.8.5/8.8.5) with ESMTP id RAA28867;	Wed, 30 Apr 1997 17:22:37 +1200 (NZST)
Received: (from phil@localhost) by bats.mcs.vuw.ac.nz (8.8.5/8.7.3) id RAA02029; Wed, 30 Apr 1997 17:22:37 +1200 (NZST)
Sender: phil@bats.mcs.vuw.ac.nz
To: jamie@voyager.net (Jamie McCarthy)
Subject: Re: Decoding CyberSitter in 1 line - but how long a line?
References: 
Mime-Version: 1.0 (generated by tm-edit 7.106)
Content-Type: text/plain; charset=US-ASCII
From: Phil Abercrombie 
Date: 30 Apr 1997 17:22:36 +1200
In-Reply-To: jamie@voyager.net's message of Tue, 29 Apr 1997 23:50:04 -0400
Message-ID: <6wyba1qe3n.fsf@bats.mcs.vuw.ac.nz>
Lines: 11
X-Mailer: Gnus v5.4.25/Emacs 19.34

Depends a little what YOU mean by "printable".

> perl -lne '$,=$/;print grep/.{5}/,split/[^ ,-9A-}]+/,$_^="\224"x length' cywin0.opt

Here's my 1 liner

$ perl -lne 's/./$&^"\x94"/ge;map print,/[ -~]{5,}/g' cywin0.opt

I don't understand the politics behind all this, I just write code.

        -phil



Home ·  Site Map ·  What's New? ·  Search Nizkor

© The Nizkor Project, 1991-2012

This site is intended for educational purposes to teach about the Holocaust and to combat hatred. Any statements or excerpts found on this site are for educational purposes only.

As part of these educational purposes, Nizkor may include on this website materials, such as excerpts from the writings of racists and antisemites. Far from approving these writings, Nizkor condemns them and provides them so that its readers can learn the nature and extent of hate and antisemitic discourse. Nizkor urges the readers of these pages to condemn racist and hate speech in all of its forms and manifestations.