home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- F A S T E N C R Y P T
-
- Version 2.0
- SHAREWARE VERSION
- Copyright 1995 Michael J. Harris, All rights reserved
-
-
-
-
- OVERVIEW:
-
- Fast Encrypt is a state-of-the-art Encryption/Decryption
- program. It is orders of magnitude more secure than DES,
- very fast, can use any 16 byte string as a key, and is very
- simple to use. It was written entirely in 386 Assembler
- (for speed) and makes full use of the 386 (and 486)
- expanded capabilities. It won't run on XT/PC/AT
- (8088/8086/80286) systems.
-
-
- SHAREWARE NOTICE:
-
- Fast Encrypt is SHAREWARE: This means that if you want to
- continue to use product, you are expected to support the
- author for his time spent developing/writing/debugging the
- program. To register the program, simply print the file
- ORDER.FRM and send it in, or just write out the information
- by hand if you don't have a printer. Fast Encrypt is not
- "cripple-ware". The shareware version has no features
- disabled and the program will not "self-destruct" after a
- certain period of time. I ask that you register it after
- 14 days of use. This should be more than enough time to
- test it and see it's capabilities. Registration is only
- $15. Site licenses are also available; please write for
- more information.
-
-
- HOW TO USE IT
-
- Fast Encrypt receives all of it's input on the command
- line. In this way it is very similar to other file utility
- programs (compression utilities, virus scanners, etc). The
- command line sequence it uses is also similar to many
- programs, but also can includes a key:
-
- fe [option] <infile> <outfile> [key]
-
-
- [option]
- e Encrypts using the key on the Command line.
- E Encrypts using the external key file (EXTERNAL.KEY).
- d Decrypts using the key on the Command line.
- D Decrypts using the external key file (EXTERNAL.KEY).
- k Creates the external key file EXTERNAL.KEY. This
- option uses a different command line than the others:
- fe k [key]
-
- If a key is included on the command line while using the E
- or D option, the EXTERNAL.KEY file is used and the command
- line key is ignored.
-
-
- <infile> / <outfile>
-
- The infile is the file that is to be processed. The
- outfile is where the output is placed. Any valid DOS
- filename (including paths and/or drive changes) is
- acceptable.
-
- [key]
-
- The key can be any string of 16 (or less) ASCII characters.
- If less than 16 characters are entered, the remaining
- spaces are set to zero. Regular spaces (space bar) in the
- middle of a key are acceptable and treated just like any
- other ASCII key. The TAB is also a valid key and only
- counts as one character. Using less characters obviously
- lowers the level of security greatly and is not
- recommended. When choosing your key you should try to
- include symbols, numbers, and words not associated with
- yourself. The more random the key is, the more secure it
- is.
-
-
- EXAMPLES:
-
- fe e march.rep march.cpt Don'tRead_Me@.%+
- Encrypts file march.rep and places output in
- march.cpt using Don'tRead_Me@.%+ as a key. All
- files reside in the directory where Fast Encrypt
- was executed.
-
- fe D a:\safe\crypt.xxx d:\asm\program.asm
- Decrypts a:\safe\crypt.xxx and places the output in
- d:\asm\program.asm using the EXTERNAL.KEY file from
- the directory where Fast Encrypt was executed.
-
- fe k BadKey
- Creates an EXTERNAL.KEY file using the key BadKey.
- The file is placed in the directory where Fast
- Encrypt was executed.
-
- THE EXTERNAL.KEY FILE
-
- An external key is a regular DOS file that contains an
- expanded version of your key. There are several reasons
- for it. First, if you use .BAT files to run Fast Encrypt,
- it is often undesirable to have your key in your .BAT file.
- The external key requires no key on the command line making
- .BAT file programming easier. The other reason is speed.
- When encrypting small files, most of the time required is
- building the substitution boxes (requires a lot of math,
- see the technical info below). The external key file is
- essentially a copy of the substitution boxes already built
- and ready to go. This can speed up things tremendously
- especially on slower 386 systems. An external key is
- created using the 'k' command line option (see above). If
- you create a key in a directory that already contains an
- EXTERNAL.KEY file, the old one is overwritten. Since
- anybody that has your EXTERNAL.KEY file can read your data
- you must assure that it is completely removed from your
- disk when you are done with it. The way that DOS deletes
- files provide no security so you should always OVERWRITE
- your EXTERNAL.KEY files before deleting them. This can be
- accomplished be typing the following command line:
-
- fe k
-
- This will overwrite your EXTERNAL.KEY file with a null key.
- The file can then safely be deleted using the DOS delete
- command.
-
-
- USING COMPRESSION WITH FAST ENCRYPT
-
- Using compression is an excellent idea with any type of
- encryption. This further increases the complexity of
- cracking your files because most of the redundency is
- removed from the files before they are encrypted. Since
- there are many excellent shareware compression programs
- available, compression was not included with Fast Encrypt.
- Fast Encrypt treats a compressed file (.ZIP, .ARJ, etc.)
- just like any other file. Since it is so strongly
- recommended that you use compression, Fast Encrypt has no
- file archiving capabilites (such as encrypt *.*). Any good
- compression program will do this for you.
-
-
- CONTACTING THE AUTHOR:
-
-
- If you still have problems getting the program to work or
- have suggestions/comments, you may feel free to contact the
- author (even if you haven't registered yet). There are no
- known bugs in Fast Encrypt, but I'd be very greatful if
- you would let me know if you do find one. E-Mail/U.S.
- Mail is the perfered method of contact, and phone service
- will be provided for registered users. Be sure to include
- ALL necessary details in any mail sent to me. Fast Encrypt
- has been tested under DOS, OS/2 2.0, OS/2 2.1 (in fact, it
- was developed mostly under OS/2-DOS), OS/2 HPFS drives, and
- on several 386 and 486 systems running various DOS and OS/2
- configurations. There have been no bugs reported in any of
- the past versions.
-
-
- INTERNET: mharris@clovis.felton.ca.us
-
- U.S. Mail: Michael Harris
- 125 Blueberry Dr.
- Scotts Valley, CA 95066-4615
- USA
-
- TECHNICAL INFO:
-
- The Encryption Method:
-
- The method that Fast Encrypt uses to encrypt data is
- basically a much improved version of DES. While there is
- nothing known to be wrong with the DES algorithm itself,
- many people (including the author) feel that the key size
- that DES uses is too small to adequetly protect data. The
- key size that Fast Encrypt uses is 128 bits. (16
- characters at 8 bits each make up the 128 bits). Here is
- the total number of possible keys for DES compared to Fast
- Encrypt:
-
- DES
- 2^48 = 281474976710656
-
- Fast Encrypt
- 2^128 = 340282366920938463463374607431768211456
-
- Since each additional digit increases the numer of keys by
- a power of ten, you can see that the number of keys
- available with Fast Encrypt is extrodinarily more than DES
- (About 10^23 times more keys).
-
- There are two methods that Fast Encrypt uses to encrypt:
- Substitution and Permutation. Substitution does what the
- name implies: it takes a group of bytes out and places a
- different group of bytes in its place. You can think of it
- like one of those puzzles where each letter has been
- switched with a different letter and you have to figure out
- what it says. This is essentially what Fast Encrypt is
- doing, but on a much larger scale. It is substituting 16
- byte blocks (2^128 possible values) where in the puzzle
- example there are only 26 letters in the alphabet. Fast
- Encrypt goes through this substitution process 10 times,
- each time with a different substitution box. The
- substitution boxes are functionally dependant on the key.
- In between each substitution is a permutation. The
- permutations switch the order in which the bits occur. The
- combination of these makes it theoretically impossible to
- break the encryption even with multiple arrays of the
- fastest supercomputers working for thousands of years.
-
-
- Of course, there is no practical encryption program that is
- 100% secure (Fast-Encrypt isn't 100% secure, and doesn't
- claim to be. No other methods can truthfully claim to be
- totally safe either, because they aren't). The only
- encryption method that can be mathmatically proven
- un-crackable is the "one-time-tape" method. However, this
- method requires that the key is longer than what is being
- encrypted and the key must contain totally random numbers
- and the key must never be repeated. For example, if you
- wanted to encrypt a 1 megabyte file, you would have to have
- a key that was greater than 1 megabyte in size. This makes
- it totally useless for daily use.
-
-
- Why files grow slightly when encrypted:
-
-
- As stated above, Fast Encrypt works on blocks of 16 bytes.
- This means that it is impossible for it to encrypt a group
- of bytes that is smaller than 16 bytes. However, not all
- files in this world will divide evenly into 16 byte blocks.
- This means that Fast Encrypt must "fill in" the needed
- bytes before encrypting the last block. It also must save
- a byte that indicates how many bytes in the last block are
- "original" ones so that when it decrypts the file it can
- return it to the correct size.
-
-
- About the program:
-
-
- Fast Encrypt was written entirely in 386 assembler. This
- was done because most good encryption programs are
- painfully slow. It makes full use of the 386's 32-bit
- processing abilities. In a lot of areas the programming
- was easier and the program ran much faster because of the
- larger registers. It was built with Borland(tm) Turbo
- Assembler Version 2.0 and linked using Borland's TLink
- Version 3.0.
-
-
-
- DISCLAIMER:
-
- Use of this software and/or documentation for any purpose
- whatsoever constitutes your unqualified acceptance of the
- following statements.
-
- No encryption program is totally secure. The author makes
- no warranty that this software will protect your data in
- any way whatsoever.
-
- The author makes no warranty that this
- software/documentation will be error free. The author
- disclaims any warranties, either express or implied,
- including but not limited to any implied warranty of
- merchantability or fitness for any particular purpose.
-
- The user agrees to take full responsibility for any
- selection of and any use whatsoever made of the software
- and documentation.
-
- In no event will the author be liable for any damages
- whatsoever (including without limitation damages for loss
- of business profits, business interruption, loss of
- business information or the like) arising out of the use,
- interruption in the use of, or inability to use this
- software, even if the author has been advised of any
- possibility or likelihood of such damages.
-
- Release Date: January 5, 1995
- END OF DOCUMENTATION