+--------------+
| Crypt BETA 1 |
+--------------+

Written By: Chris Marsalo
Email: prgmrChris@email.com

Contents
========
1. BASIC Description of Crypt BETA 1
2. DISCLAIMER
3. INCORPORATION
4. About The Author
5. Comming Soon
6. Program notes


1. BASIC Description of Crypt BETA 1
====================================

Crypt is a cryptography program that uses a complex formula and "keys" for encryption/decryption.
A key a sort of passcode, it is need to encrypt and decrypt the data. If you decrypt the data
with a different key than the one the data was encrypted with, then the data will be worthless
and irreversible. The program encrypts/decrypts the data in MATRIX [A].

2. DISCLAIMER
=============

I personally consider the encryption technique to be secure. Even though anyone can view the
source of the program, they still would not be able to easily decrypt your data. I don't believe
that the formula can be easily cracked mathematically, given that I had several math teachers try
to break it. I do not guarantee that the formula is completely secure, however, I do believe that
it would be very difficult to reverse.

3. INCORPORATION
================

I wrote Crypt BETA 1 in such a manner that my encryption algorithms could be incorporated into
other people's programs, without them having to modify and of Crypt's source code. To incorporate
the cryptography algorithms into a program, the program CRYPTLIB must be on the calculator too. However, CRYPT does not, as it is only the engine for the cryptography algorithms. In the
program, store what you would like encrypted into [A], then add the following into your code
after that:

3 ->            (Supposed to be theta)
{key for encryption,1,0} -> L1
prgmCRYPTLIB

The code above will encrypt [A], and if you want to decrypt the data just change the 3 to a 4. Now, that is the most basic way to use the cryptography. If you want the user to be able to enter
the key, then store 1 to theta to encrypt or 2 to theta to decrypt. The user will be prompted to
enter the key.

If you have any further questions or want me to clarify anything please email me. I check my mail
several times a day so responses should come relatively fast.

4. ABOUT THE AUTHOR
===================

My name is Chris Marsalo, and I have been programming for 3 years. I started with Apple BASIC, and I am now proficient in QBasic, Visual Basic, and C++ as well as TI-BASIC on TI-82's and
TI-83's. I have been teaching myself Z80 assembly through the tutorials on http://www.ticalc.org/
and will have an assembly release of crypt soon using a better algorithm that I am still testing.
I have been doing calculator programming for about a year and half. I am 16 and a sophmore in
high school. I am very familiar with computer hardware (meaning I built all 4 computers in my
house myself), and am pretty good at programming. Also, I know a decent amount of Linux and UNIX.
If you are trying to learn how to use either one then email me. I currently run a Win95/BSDI UNIX
3.1 dual boot, and fell in love with BSDI UNIX, when I realized how much better it ran than
Windows, and I haven't had to reboot nearly as much. I own a TI-82, TI-83, and TI-85. Any thing
else feel free to email me. Now that I own my own Graph-Link, I will be releasing alot more
TI-BASIC programs, and maybe some assembly if I get good enough. If anyone is interested in
helping me writing the assembly version of CRYPT I would greatly appreciate it. I really need
help learning how to access external variables.

5. COMMING SOON
===============

The next release of CRYPT will have a couple new features, first and primarily layering. By
layering, I mean that the program will be able to encrypt the data several times by creating
SHADOW keys based on the original key you enter. Also, the size will decrease a little. I have
found a few places where the code could be cut down some, but I was to lazy to do it yet. That's
about it for now. I am also working on a compression program in TI-BASIC for compressing lists
and matrices. If any assembly programmers would like to help me write a program for compressing
programs email me.

6. PROGRAM NOTES
================

10/23/2000 - First public release of CRYPT