NAME rsa - toy RSA public-key cryptosystem SYNOPSIS rsa (-i | -e | -d) DESCRIPTION 'Rsa' is a simplified implementation of an RSA (Rivest-Shamir-Adleman) public-key cryptosystem. While interesting as a novelty, it does not provide sufficient security to resist an informed attack. 'Rsa' has three options. The "-i" (initialize) option must be selected by a user before any other users can send him encrypted information. The "-e correspondent" (encipher) option is used to encrypt standard input to standard output using the public key of the named user. (In a practical system, only the named user would then be able to decrypt the result, using his private key.) The "-d" (decipher) option is used to decrypt standard input to standard output using the private key of the current user. Thus, if the current user has login name "BOZO", the network rsa -e bozo | rsa -d effects an identity transformation. Further information on public-key cryptosystems in general and the RSA algorithm in particular can be found in the following references: Hellman, Martin E. "The Mathematics of Public-Key Cryptography," in Scientific American, Vol. 241, No. 2, pp. 146-157, August, 1979 Rivest, R. L., Adi Shamir, and Len Adleman On Digital Signatures and Public-Key Cryptosystems, Report MIT/LCS/Tm-82, Laboratory for Computer Science, Massachusetts Institute of Technology, April, 1977 Rivest, R. L., A. Shamir, and A. Adleman "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems," in Communications of the ACM, Vol. 21, No. 2, pages 120-126, February, 1978. EXAMPLES rsa -i # initializes public and private key files plaintext> rsa -e system >ciphertext ciphertext> rsa -d >plaintext rsa -e bozo >>=extra=/mail/bozo FILES "=varsdir=/.rsa_encipher" for public-key information; "=varsdir=/.rsa_decipher" for private-key information. MESSAGES Various self-explanatory messages if key files are not present or unreadable. BUGS 32 bit arithmetic is insufficient to guarantee security. Locally supported. SEE ALSO Subsystem Mathematical Function Library ('vswtml')