Sie sind auf Seite 1von 6

F A S T E N C R Y P T

Version 1.2
Copyright (c) 1994 by Michael J. Harris

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's 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 all 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". There are 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; write for
information.

HOW TO USE IT

The Key:
~~~ ~~~

When you first run Fast Encrypt you will be asked for a 16
character key. You then must enter 16 characters of your
choice. You may use symbols or any other ASCII character,
remember that it is CASE SENSITIVE. DO NOT FORGET YOUR
KEY! You will not be able to unencrypt your file without
the key. There are no "backdoors" or "magic-keys", so if
you to forget your key I won't be able to help you.

Examples of valid keys are:


BarbersAre Neat!
$#)'[p0p9ovm,d.a

Anything will work, but remember you must type EXACTLY the
same thing when you want to decrypt. That means:

BarbersAre Neat! and


Barbersare neat! are *NOT* the same

Tips for key selection:


~~~~ ~~~ ~~~ ~~~~~~~~~

Use keys that are totally unrelated to anything (don't use


phone numbers, Social Securtity number, etc). Include both
upper AND lower case letters. You should also have at
least one symbol in your key (!@#$%^&*)_=+-/.,;' and the
like. Using weird characters increases the difficulty of a
brute force cracking your key since more character
combinations have to be tried instead of just the alphabet.

The Substitution Boxes:


~~~ ~~~~~~~~~~~~ ~~~~~

After you type in your key, it will fill the substitution


boxes. This may take several seconds (on slower 386s).
Substitution is one of the main ways that Fast Encrypt
encrypts your data (see below for a more technical
explanation). After it fills the substitution boxes it
will ask you if you want to save the substitution boxes to
disk. Saving the substitution boxes to disk will allow you
to encrypt/decrypt as much as you want with the same Key,
without having to build the substitution boxes every time
you run the program (it can save LOTS of time). HOWEVER -
anyone that has access to the substitution boxes saved to
your disk can decrypt your data. So never save the
substitution box on a computer or diskette that somebody
can get access to. Fast Encrypt will automatically find
your saved substitution boxes and ask you if you want to
use them. If you answer no you will be prompted to enter a
new key. The substitution boxes are stored on disk in a
file called: EXTERNAL.KEY

Encrypt/Decrypt:
~~~~~~~~~~~~~~~

After the subsitution boxes have been created/loaded from


disk, it will ask you if you want to Encrypt or Decrypt.
Encrypt scrambles up your files; Decrypt unscrambles them.

The Files:
~~~ ~~~~~

You must then enter two file names. The first one is the
file that will be processed (encrypted or decrypted) the
second file is where the output will be placed.

Example:

Encrypt or Decrypt E/D: e


Enter the name of the file: WHATEVER.XXX

Enter the name of the output file; it


MUST be different than the input file: WHATEVER.CPT

In the above example, WHATEVER.XXX is being encrypted, and


the encrypted version of it is placed in WHATEVER.CPT. Any
valid DOS names/extentions are valid. Use of paths is also
OK, so C:\DOS\WHATEVER.XXX is allowed for either input or
output.

Encryption/Decryption:
~~~~~~~~~~~~~~~~~~~~~

After all of the above is entered, the data is encrypted or


decrypted. This goes very quickly (except for really big
files, of course). You may find that your encrypted files
are slightly larger than the originals; they are never more
than 16 bytes larger, so it shouldn't matter much. When
the files are decrypted the files return to their original
size (the reason why is discussed in the technical
section at the end of the documentation).

COMMAND LINE SUPPORT:


~~~~~~~~~~~~~~~~~~~~

If desired, Fast Encrypt can be run completely from the


command line. The structure of the command line is very
simple. The first thing entered on the command line is the
Encrypt/Decrypt selector. This also indicates whether to
process the files with a key on the command line, or to
load EXTERNAL.KEY. If a capital letter ( 'E' or 'D' ) is
entered, a key will be loaded from the command line. If a
lower case letter ( 'e' or 'd' ) is entered, EXTERNAL.KEY
will be used.

The next information entered is the input file. This is the


file that will be processed.

After that is the output file. This is where the output


will be put.

If command line key was selected, then the key is the final
thing entered on the command line. If MORE than 16
characters are entered, only the first 16 will be used. If
LESS than 16 characters are entered then the unused spaces
will be assigned a zero value.

EXAMPLES:
fe E whatever.in whatever.out HereIsMyKeyOK:-)

Encrypts WHATEVER.IN and places the out put in WHATEVER.OUT


Uses HereIsMyKeyOK:-) as the key.

fe d myfile.in myfile.out

Decrypt MYFILE.IN and places the decrypted copy in


MYFILE.OUT, uses the external file EXTERNAL.KEY as the key.

fe D c:\dos\command.com c:\whatever\it.out ThisIsTheBestKey?

Decrypts c:\dos\command.com and places the unencrypted file


in c:\whatever\it.out using ThisIsTheBestKey? as the key.

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 greatfull if
you would let me know if you do find one. E-Mail/U.S.
Mail is the perfered method of contact, however phone
service is 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. No problems were encountered.

INTERNET: mharris@clovis.felton.ca.us

U.S. Mail: Michael Harris


125 Blueberry Dr.
Scotts Valley, CA 95066

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 (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). The total number of
possible keys if some massive number with over 20 digits. I
haven't taken the time to calculate it exactly.
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 (2 to the 128th power) 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 virtually impossible to
break the encryption even with multiple arrays of the
fastest supercomputers working for literally hundreds (if
not 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 on a 386-40 with 8 megs of RAM
running OS/2 version 2.1 (HPFS on one drive, FAT on the
other one. Fast Encrypt runs fine on both drives).

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.

END OF DOCUMENTATION Feb. 4, 1994

Das könnte Ihnen auch gefallen