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.