X8 -

Leslie R. McBride
104 Westwood Dr. Apt. 355
Lafayette, LA 70506
E-mail: Macck@linknet.net

0. Disclaimer.

This software is free. Use at your own risk. It may cause loss of data
and other unpleasant side-effects if used improperly. No warranty is
expressed or implied. The author assumes no responsibility for the
use of this software or its fitness for purpose.

1. What is X8.

X8 is a DOS program and source code. It is a reference implementation
of three new cryptographic functions. X8 is menu, rather than
command line oriented. To run the program simply place X8.EXE in
a directory included in your PATH statement and type X8 at the
DOS prompt. See X8.TXT for a description of the encryption methods.

2. The Menus

The first step is selecting an algorithm. Select from the menu:

1 - M8 (A new algorithm) similar to SCOTT8)
2 - IS8 (Improved SCOTT8)
3 - RS8 (Reduced SCOTT8)
4 = ROT13 (NOT SECURE = DOESN'T USE A PASSWORD)

The second step is deciding whether you wish to encrypt or decrypt.

E - Encrypt
D - Decrypt

The third step is deciding if you want to use chaining.
PCBC chaining will destroy the remainder of the file if any part
is changed. For ROT13 only No Chaining yields 'printable characters'.

P - PCBC Chaining
N - No Chaining

The program will then ask for an input and output file. File names 
are limited to 79 characters including any path. File names should
be valid for the system in question. The program makes no attempt
to determine file extensions or assign a default file extension.
File extensions must be included in the file name.

Then the program will ask for the password and ask you to verify it.

3. Password handling.

Verification is required for encryption and decryption. Password
length is maximum 255 characters. ROT13 does not use a password.
Any 'printable' character is valid in a password, the implementation
limits the characters to the '95 printable ASCII' characters. Each
character is represented by '*' to show that the character was valid
and received.

4. Security.

X8 provides adequate security against casual snoopers. Only the
IS8 and M8 algorithms provide 'Industrial Strength' encryption.
ROT13 should not be used for security. It is provided simply to verify
the programs file manipulation is working properly.

IS8 and M8 are fairly new algorithms, their actual strength is unknown.
RS8 is presumed to be weaker than IS8 and M8 but is faster than either.
RS8 also allows decryption if part of the block is scrambled during
transmission.

See X8.TXT for a more complete understanding of their strength.

5. Porting to other platforms.

The source consists of several files:

X8.H       - The header file containing the list of functions and some
             platform dependent macros
GETFUNC.C  - The functions to get a filename and password, these are
             platform dependent due to lack of a standard function
             to disable screen echo of the keyboard.
CRYPT1.C   - The basic encrypt and decrypt functions.
X8.C       - The individual method functions called by ENCRYPT and DECRYPT
PASS.C     - The functions to set the table from the password.
RANDINIT.C - Constant data used in setting the password.
MAIN.C     - The main program that handles all of the input/output.
ROT13.C    - Standard ROT13 encryption, useful for making sure everything
             is working properly.

The source was originally compiled on Borland C++ 4.51 using a large
memory model. Every effort has been made to make it as portable as possible.

If you port this to another system please include a file CHANGES.TXT
and describe how the new program differs from the original.

6. Known Bugs.

The program is not well behaved if the same file is used for input and
output.

Back spacing is not handled properly after a screen wrap.

7. Copyright.

This program is being released as Zero-Cost Shareware. I am retaining
the copyright. You may copy it, give it to your friends, or port the 
code to other platforms. All I ask is that you leave this notice 
attached with any distribution, give me proper credit and E-Mail or 
snail-mail me if you use the program and like it. I would also 
appreciate comments on the encryption methods. The algorithms used 
are not patented. The algorithms may be used in other programs
and derivative works as long as credit is given.

8. Export.

This program and source code are subject to U.S.A. export regulations.
They may not be exported from the U.S.A. without a license. X8.TXT
may also require a license as 'Technical Data'.

9. Technical data.

See the included source code and X8.TXT.

