
STRENC Version 1.03
Program Description and Release Notes
________________________________________

1. STRENC is a MSDOS application with filter functionality, for 
encryption of data streams. The well known filter concept uses standard 
input-output-devices with the ability to redirect data from/to files  
and/or other applications (using control characters <, >, | )
STRENC takes input data stream byte by byte, outputting the corresponding
encrypted byte value immediately. That way it is well-suited for use with 
other data stream oriented applications.
Command line formats for encryption and decryption are absolutely 
identical (symmetric operation).


2. Encryption keys:
Key values can be supplied on command line, in environment variable or
automatically, generated by STRENC.
Examples for valid keys (keys values are case sensitive):
key 
K
"This is my personal key to use with STRENC"
123.43.57.129

Format when given in environment variable:
set STRENC=x......                 x...... for key value.

If a key is not found on command line nor in variable STRENC= 
STRENC will generate a unique key value (16 characters), apply it in its
processing and log it in file STRENC.LOG. There may be cases where that feature
is useful.



3. Special option "Text Structure Preservation":
That unique feature splits input byte values (0... 255) into 3 ranges:
control-characters(0...31), 7bit ASCII(32...127) and 8bit(128..255)
to operate differently on these "code pages" .
The important thing here is that control-characters keep THEIR ORIGINAL VALUE
IN THEIR RESPECTIVE POSITIONS, so preserving linefeeds (thereby
line lengths), tabs, formfeeds etc. Separate 7bit and 8bit processing
prevents value changes between these code pages, as they usually occur
in crypto operations. This should be useful for mail/fax/document
transmission functions. 
Even better: Embedded control-characters don't influence in any way the
encryption process actually running. That makes it possible to insert,delete,
or change control-characters in ALREADY ENCRYPTED TEXT (ciphertext), 
to give it a special meaning to be interpreted by the recipient e.g.:
"if started with 3 LF: apply key 10 of key list" or "2 TABs:decrypt twice".


The option above is activated by appending "!!!1" to the key value, as:
key!!!1 
K!!!1
"This is my personal key to use with STRENC!!!1"
123.43.57.129!!!1

In case of STRENC-automatic key: "!!!1" is the only parameter to give on the
command line.

To get an impression how STRENC works this readme document has been
encrypted and is stored here under README.ENC.
When you run the command:
STRENC Key!!!1 < readme.enc | more
you should see exactly what you read here on the screen.

You may encrypt text from keyboard input into a file:
STRENC mykey!!!1 >cipher.txt
then typing any text breaking with Return followed by CTRL-Z,
and to redisplay the plaintext on screen:
STRENC mykey!!!1 <cipher.txt
or convert it into plaintext file:
STRENC mykey!!!1 <cipher.txt >original.txt


4. Status of the program and distribution.
STRENC v1.03 is FREEWARE.
It can be freely distributed in its unmodified form and 
be included in any software collection such as CD-ROM's but may NOT be sold.  


5. Installation:
As you can read this you are ready to run STRENC.EXE right here,  
no need for further installation procedures.


6. Compatibility:
This version is encryption compatible with STRENC running on other 
OS platforms.


7. Comments, suggestions, requests for information 
to: strenc@SDF.LONESTAR.ORG

8. Legal Stuff:
Copyright 1999, Joachim Dathe ("The author")

STRENC uses a symmetric pseudorandom number controlled scrambling
algorithm which is not subject to U.S. export restrictions.

THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED,
IMPLIED OR OTHERWISE, INCLUDING AND WITHOUT LIMITATION, ANY WARRANTY OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGE
WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGE FOR LOSS OF PROFITS,
BUSINESS INTERRUPTION, LOSS OF INFORMATION, OR ANY OTHER LOSS) , WHETHER OR NOT
ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING
OUT OF OR IN CONNECTION WITH THE USE OR INABILITY TO USE THIS SOFTWARE.



