bsy's Anonymously FTP'able Bits

bsy is now at UCSD, and this page is no longer being maintained here.


The following are my papers that are anonymously FTP'able. Other CMU CS technical reports may also be found by anonymous FTP from, in the /usr/anon/1993 directory, or accessed here. These reports are all in PostScript. Send email to if you have problems with or questions about the FTP server.

Notice: Please read the copyright notice before obtaining a copy of the reports.

Some browsers insists on cd'ing down each directory component in turn. This interacts badly with the access control mechanism implemented in the CMU FTP daemon. If you are using such a browser, please FTP directly by hand, or use another browser.

  • Using Secure Coprocessors, PhD thesis. Technical report CMU-CS-94-149. (Also compressed or gzipped)

  • Strongbox chapter from the book CMU Computer Science: A 25th Anniversary Commemorative. The book contains a draft of the chapter due to communication problems with the publisher.

    Strongbox is a security library for self-securing programs, bootstrapping security for client/server applications from a core secure server via fingerprinting techniques and zero knowledge authentication and key exchange.

  • Dyad: A System for Using Physically Secure Coprocessors (dvi) Technical Report CMU-CS-91-140R.

    Dyad is a project to explore the use of physically secure coprocessors to provide strong security guarantees in a distributed environment.

  • Cryptography: Its Not Just for Electronic Mail Any More' (dvi) Technical Report CMU-CS-107.

    This paper describes how to use cryptographic techniques to enable the use of electronic metering/franking of physical mail while maintaining security.

  • Software

    The following are pointers to software that are available from my FTP area. The codes run under a BSD4.3 environment; some have no operating system dependencies at all. They are all compressed TAR files.
    My C header file and build scripts for allowing easy porting across various platforms (data type sizes, etc), and for setting up a shared source tree with multiple shadow object trees for simultaneous compilation for multiple architectures.
    my AVL tree implementation.
    my generalized message library and the faucet/drain program which are built on top of it. (faucet.tar.Z and gms.tar.Z are the same file.) Faucet and drain are pairs of programs that allow you to send data easily through the network, enabling the use of a dataflow style of programming, obtaining coarse-grained parallelism on a network of workstations. Faucet/drain may be compiled to authenticate the client via a simple secret key protocol, in which case the pubdes package below is required. The simple queuing package below is required.
    my context grep with optional highlighting of the matched text.
    NCSA's httpd (beta 0.3) with my extensions for easily site-customized access control (the CMUCS code duplicates our Anonymous FTP access controls via per-directory .anonr files), and a mechanism for running subservers. It is compatible with HTTP/0.9 cognizant clients, so it works with Mosaic 2.0.
    My collection of subservers that run under the above httpd. These are not CGI compliant -- they currently run only under my older, pre-CGI http server. When I next have time I'll see about converting things. This package includes a script for translating Unix manual pages (the output of man, so MPATH/MANPATH searches are done) to hypertext on-the-fly, and the subserver that uses it; a AFS-specific white-pages lookup subserver; and also a few other miscellaneous routines. Also included are my scripts for starting xmosaic up and controlling it from remote machines; using the remote-control scripts requires the gms package above. These subservers run under my modified httpd, and if you want to enable the access control mechanism you will need to grab that as well. The url_fetch script requires the server package for fetching http: and gopher: URLs, and the gms package for fetching certain news: URLs. file:/ftp: URLs are simply handled with ftp.
    My simple network interface program for running inetd-style TCP-based servers by unprivileged users.
    sample code to use pseudoterminals transparently. The code skeleton allows the programmer to install `filters' on the I/O streams easily; a program that separately logs input/output streams (other half of script functionality) is given as sample.
    my version of Phil Karn's (<>) public domain DES package, modified to allow multithreaded use. Please do not access if you are not physically in the United States and are either a permanent resident or citizen. And can guarantee that the network packets will not travel over any but U.S. land-based lines. Requires comp_environ, but a simple modification to the Makefile to add -Dint32=APPROPRIATE_TYPE to CFLAGS will do in a pinch.
    a simple queue implementation. Used by gms.tar.Z.
    my portable process checkpointing package. This library allows easy checkpointing of processes so that a process may be restarted after a system crash. Useful for compute-bound processes.
    my generic client program for connecting to any TCP or UDP server. Required by the url_fetch script in the http_srv package.
    my X client for maintaining consistent idle time. It modifies the idle time of your console to reflect keyboard activity in any window, so people who finger you will know whether you're actually around or not. Optionally, xidle can pretend that you're idle when you're not (hide mode), or pretend that you're busy when you're actually not touching the keyboard (busy mode). If you just want consistent idle times, the server patch by the same name suffices.
    fast bitblt routines for a simple bitmap format; requires X11.
    Webster's dictionary interactive client code, used internally by the http server script. Features word completion listing. Modified netware.
    My implementation of Adi Shamir's Secret Sharing. Permits you to split a secret file into n pieces to distribute to n trusted friends, r of whom must release their shares in order to reconstruct the original secret. One example usage would be to set up your own key escrow a la Clipper, but without any government intervention/participation. Requires the use of the public domain DES package for cryptographically secure pseudo-random number generation.

    CMU Censorship | SCS home | refs | other folks | SCS News | WWW News

    bsy picture /, last updated 4 April 1996.

    Join the Blue Ribbon Anti-Censorship Campaign!