Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!bellcore!decvax!cca!ima!ISM780!geoff
From: geoff@ISM780.UUCP
Newsgroups: net.jokes
Subject: Another New System Call
Message-ID: <150@ISM780.UUCP>
Date: Thu, 7-Mar-85 00:22:31 EST
Article-I.D.: ISM780.150
Posted: Thu Mar  7 00:22:31 1985
Date-Received: Sat, 9-Mar-85 10:46:57 EST
Lines: 70
Nf-ID: #N:ISM780:29500006:000:2621
Nf-From: ISM780!geoff    Mar  5 15:04:00 1985

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   scribble(2)                                               scribble(2)

   NAME
	   scribble -- provide perfect data security

   SYNOPSIS
	   #include 
	   #include 

	   scribble ( dev, segment, nblks, key )
	   dev_t         *dev;
	   long          segment;
	   unsigned long nblks;
	   char          *key;

   DESCRIPTION
	   Scribble provides the  only  perfect data security  mechanism
	   ever provided for UNIX(tm)  and  UNIX-like operating systems.
	   It implements the "Trash-Table" algorithm set forth by  Knuth
	   (vol 14, pg 10023,  part III).   Scribble  accesses  the  raw
	   device specified by indexing _dev_ into the device table, and
	   processed _nblks_ blocks of data starting at _segment_, using
	   the string found at _key_ as "salt". The exact algorithm is a
	   government secret, and  has  never  been published, but it is
	   (approximately):

	       IF  (this block is an indirect block) THEN
		   Encrypt the addresses on disk (see crypt(3)),
		   find the blocks addressed, and recurse.
	       Else
		   add the "salt" to each byte, ignoring overflow.

	   If either _segment_ or _nblks_ is zero,  the  entire disk is
	   randomised, if dev is NULL, all devices in /dev are protected
	   from further access.  _Key_ defaults to the  string  found by
	   chasing the NULL pointer (implementation dependent, but often
	   "Mona Lisa" in  EBCDIC).   A Call to _scribble_  results in a
	   interrupt-disabled   special  high-priority  ioctl  which  is
	   guaranteed to complete.

   RETURN VALUE
	   Scribble returns the number of blocks actually protected.

   SEE ALSO
	   stopit(2), thrash(2),  harass(1),  dumpola(3), unexec(3).

   CAVEATS
	   If any of the blocks involved in the scribble operation are
	   double-indirect blocks, more data may be protected than was
	   intended.  If the drive where the dev device resides is not
	   bolted to the floor, it may  "walk" several feet across the
	   machine room floor, due to vibrations induced by head move-
	   ment;  this will cause unpredictable results.

   BUGS
	   The "Trash-Table" algorithm cannot  be  reversed, therefore
	   data is  permanently  protected  from unauthorized  access.

   LICENCE REQUIRED
	   This entry applies only to the INsecurity software license.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			  Proposal submitted by
	  Geoffrey Kimbrough -- Director of Dangerous Activities --
			       ima!ism780!geoff

	     Treating UNIX(tm) systems the way they deserve.