[net.micro.cpm] CIPH Cipher/Encode/Wrap program available

Keith Petersen <W8SDZ@Simtel20.ARPA> (11/25/84)

Thanks to AIZ@JPL-VLSI.ARPA for contributing CIPH.LBR to our CP/M
collection.  It's now available from Simtel20:

Filename			Type	 Bytes	 CRC

Directory MICRO:<CPM.TXTUTL>
CIPH.LBR.1			COM	 23296  E07AH

Here's what it is:

The Prototype AIZ Cipher/Encode/Wrap Program: CIPH
by A.I. Zygielbaum, June 4, 1984

The CIPH files contain the original CIPH.BAS file which is 
written for MicroSoft BASIC Version 5 and a compiled CIPH.COM
file which will run on 8080 or Z80 systems.

CIPH is designed to encode (decode) ASCII files 1) to fold (and 
unfold) all characters into (and out of) the printable ASCII set 
and 2) to encrypt (decipher) files according to the BASIC random 
number generator.  The folding is simply a mapping that takes 
parity set characters and control characters and transforms each 
of them into two printable ASCII characters.  This allows, for 
example, WORDSTAR files to be transmitted via mail systems with 
no loss of special or control characters.

The encryption algorithm is based upon the addition of a random 
number to the ASCII value of each character in the file.  The 
BASIC randomization routine is preset with a seed derived from a 
keyword.  Naturally, once a file is encrypted using a keyword, it 
can be deciphered only with the same keyword.

All commands in the program are prompted and consist of:

     1.   indicating encode or decode
     2.   specifying the input file
     3.   specifying the output file
     4.   giving the keyword, if required.

If no keyword is specified, then the program merely folds or 
unfolds the file to or from the printable ASCII set.

This is a prototype program.  Therefore, it has not been 
optimized.  It has been in used for many conversions with no 
problem.  An assembly language version is being written to speed 
the conversions and also to allow direct interface with terminal 
software.