---------
$                                               "$$a    a1                   $`
 `$        a1 $$a    a1"$$a  $$a    a1"$S.    a1 $$$$"$%$1 $$a    a1       ,$`
  `$     $$$1 $$$$ $$$1 $%%$ $$$$"$$$! $$$$"$%$1 $%%$ $$$$ $$$$"$$$1       $
    a'   $$$$ $%%$ $$$$ $$%$ $$$$ `$$' $$$$ $%%$ $%%$ $$"  $%%$ $$$$       $
    $    %$$$ $%%$ $%$$ $$$$ "$$$S$$$$ $$$$ $$%$ $%$$a     $%%$ $$"    `$ ,$
    $.,  %%$$ $%$$ $%%$ $$$$ $a,  $$%% $$$$"$$$$ $$$$      $%$$a ,a$     "$'
    `$"' %%$$ $%$$ $%$$ $$$$ $%$$ $$$% $$$$ $$$$ $$$$      $$$$ $$$$    a,$,
    `$,a $%$$ $$$$ $$$$ $$$$ $%%$ $$$$ $$%$ $$$$ $$$$      $$$$ $$%$   $`$
      $' $%$$ $$$$ $$$$ $$$$ $$$$ $$$$ $%%$ $$$$ $$%$      $%$$ $%%$  $' `$,
    ,$'  1$$$ $$$$ 1$$$ $$$$ $$$1 $$$$ $$$$ 1$$$ $%%$ v1.o $$$$ 1%%$a      $
    $    ""$$ $$"" ""$" $$"" "$"""""$$ $$"" ""$" ""$"      $$"""""$"a     `$
    $    `$"- "  a" - " --"      $
    ',$                  the Argentinian's cryptosystem                  $,'
     $ ,a$a,   '$,'-- ',$'  ,a$a, $
    $'a"    "a,    $                                        $    ,a"    "a'$
    `'        "$, '$  Index                               $' ,$"        '`
        $,a    $ "a,'                                      `,a" $    a,$
           '$a"    'a  i. Introduction.                    a'    "a$'
                    $  ii. What you Need.                  $
                   .$  iii. Getting Started.               $.
                 $'$`  iv. Tips.                           `$'$
                $`,$`  v. Disclaimer and Copyright.        `$,`$
                ` $`   vi.How to Compile... Compilers.      `$ `
                  $,   vii. The end.                        ,$

---------
 UNSAFE version 1.o (beta 4)         (c)Copyright Jodeart Mindworks 1997 - 2002
--------
 i. Welcome
    ~~~~~

  Welcome back to the new version of UNSAFE.

  I hope this package proves useful for your crypto purposes.

  Now the UNSAFE is released under expressed General Public License (GPL).
 Internal changes may be consider importants, like better source description,
 originals sources of algorithms, a lot of optimizations and fixes.
 I changed the way to encrypt, so, check it out.

  There's no safe cryptosystem, infite time makes any cryptosystem weak. But
 UNSAFE really tries to be safe, this version uses SAFER-SK, BLOWFISH, IDEA
 MD5 and QCYPHER. I think that any cryptosystem uses six algorithms to
 encrypt. UNSAFE employs cbc mode, and some rare methods made by me. :)

  UNSAFE is coded in Turbo C 2.01 for DOS. It is a spare-time project being
 written only by me.
  I choose TC 2.01 cause is a very good compiler and NOW is totally free.
 Borland releases this compiler freely because its too old. But i think that
 this is too cool.
  I choose DOS cause is 99.9% stable, and in the origins of UNSAFE, DOS was
 very popular, but not now. Now the Truth has changed, but still this project
 really likes me. I tryed to do some "manager" under Windoze but was really
 bored.
 I hope to do this someday.

  Its not the final version, and new versions will be very diferent and may be
 incompatible with this, because im changing the encryption structure all the
 time and algorithms to encrypt. But im sure that is a good version to encrypt
 your top secret data.

  This system include the original source code, with all algorithms and
 functions.

  Soon i'll port to linux, GCC rulez.


--------
 ii. What You Will Need
     ~~~~~~~~~~~~~~~~

  The DOS port requires a AT-class PC or higher running with 200kb more of RAM
 and MS-DOS (or PC-DOS, DR-DOS, whatever) v3.30 or later.
 UNSAFE will run under Windows 98 in a DOS box without a problem, although for
 more speed, you may want to run it in a true DOS session.

               Ŀ
               Bare minimum     RecommendedOptimum Equipment       
      Ĵ
      System: 80286SX & CoProc.PII 400    AMD-K7 or better        
      Memory: 200KB            200KB      2MB (with smartdrive)   
      Video:  VGA MONO         VGA        VGA                     
      

  Be aware that the bare minimum is NOT a recommended minimum.  UNSAFE will be
 torture on a 286sx.  Anything less than a pentium should not be used, for
 purposes of preserving your sanity.
  This version is made to be really secure, in this beta is only available the
 best mode to encrypt.


--------
 iii. Getting Started
      ~~~~~~~~~~~~~

  Well.. i know that the use of unsafe is not very easy... i think that is
 difficult cause is very unusual. But if you try the examples you'll
 understand my philosophy :)

  The sintax of UNSAFE is:

        UNSAFE <-e/-d> {-pPAINTEXTFILE} -cCIPHERTEXTFILE [-o]
               [-sPASSWORD / -a / -kKEYFILE] (-mFILENANE,numKBYTES)
               (-wFILENAME,numPASSES) / [-w,numPASSES]

                     Ŀ
                               legend            
                     Ĵ
                      <> may be necessary        
                      {} only need on encryption 
                       only need on decryption 
                      [] optional                
                      () extra funtions          
                     

 -e and -d
 
  Select encrypt or decrypt mode.

  -e Select encrypt mode, its no need to use this when you encrypt files.
  -d Choose decrypt mode, its no need if you not include -p parameter.

 -p(...PLAINTEXTFILE) (file not encrypted)
 
  This is the plaintext filename, when you encrypt is necessary this parameter
 for encrypt onto cipherfile. But with -d isn't necessary, and is the file to
 create when you decrypt the cipherfile.
  In decryption, the file entered is the file to create when you decrypt the
 cypherfile, by DEFAULT restore the file with the original name.

 -c(...CIPHERTEXTFILE) (file encrypted)
 
  Here you enter the ciphertext filename, is always necessary and is the
 target file on encryption (-e) and the source file when you use the
 decryption switch.

 -o
 
  If the file exist overwrite without ask, this overwriting wipe this file.

 -s(...PASSWORD) , -a and -k(...KEYFILE)
 
  This is the mode to enter the password, -s is the command line password and
 (...PASSWORD) is a string with the pass, -a prompt for pw (default), and -k
 uses a password make with (...KEYFILE), the name of the file to use as key.
  To use the command line password, type -sSTRING, where STRING is the
 password. This option should be used if you wanna encrypt/decrypt using a
 batch file or a system manager. This STRING cannot use spaces, this will
 replace by '_' characters or another one. Remember : UNSAFE is case sensitive
 , "Hello" and "HEllo" are differents as a passfhrase.
  The ask mode (-a) allows you to use the SPACE char, but is still case
 sensitive.
  The (...KEYFILE) that you can use with -w parameter is someone file,
 whatever you want. But you can make a keyfile using the -m parameter.
 Remember : if you loose the keyfile you cant decrypt the file ANYMORE.

 -m(...FILENANE),(...numKBYTES)
 
  It generates a keyfile with FILENAME of numKBYTES kilo bytes, for example,
 if you type
                        c:>UNSAFE.EXE -mNEWKEY.KEY,1
 Its make a file named NEWKEY.KEY with 1024 bytes of some pseudo randomic
 info. But this trash generator is still too poor, in the future i'll make
 a good keyfile generator.

 -w(...FILENAME),(...numPASSES) or  -w,(...numPASSES)
 
  Using this sintax you may wipe some (...FILENAME), but if you ignore the
 (...FILENAME), using -w,(...numPASSES) you're setting the wipe mode of
 UNSAFE ON with (...numPASSES) passes to erase the source file. Then, your
 source file will be WIPE when the target file was made.
 By default the wipe mode of UNSAFE is OFF
  Remember: 'Wipe' is a process to destroy the information, overwriting with
 trash.

 EXAMPLES
 
 ** unsafe -pMYSECRET.DOC
    Encrypt the file MYSECRET.DOC in MYSECRET.DOC asking to you the pw.

 ** unsafe -cMYSECRET.DOC
    Decrypt the file MYSECRET.DOC in MYSECRET.DOC asking to you the pw.

 ** unsafe -pMYSECRET.DOC -cMYSECRET.ENC
    Encrypt the file MYSECRET.DOC in MYSECRET.ENC asking to you the pw.

 ** unsafe -pMYSECRET.DOC -cMYSECRET.ENC -w,10 -sHELLO
    Encrypt the file MYSECRET.DOC in MYSECRET.ENC using the password 'HELLO',
    wipe MYSECRET.DOC it with 10 passes. Note: this program is case sensitive.

 ** unsafe -d -cMYSECRET.ENC
    Decrypt MYSECRET.ENC in the original plaintext filename. Ask you for the
    password. Note: "-d" is optional.

 ** unsafe -d -cMYSECRET.ENC -w,10 -sHELLO
    Decrypt MYSECRET.ENC in the original plaintext filename, using the
    password 'HELLO' and wipe MYSECRET.ENC with 10 passes. Note: "-d" is
    optional.

 ** unsafe -mTEST.KEY,100
    Make a keyfile named TEST.KEY of 102400 bytes.

 ** unsafe -d -cMYSECRET.ENC -pHELLO.TXT -w,2 -kMYSECRET.KEY
    Decrypt MYSECRET.ENC in HELLO.TXT and wipe MYSECRET.ENC with 2
    passes. Use the keyfile nammed MYSECRET.KEY to decrypt. Note: "-d" is
    necessary.

 ** unsafe -o -e -pMYSECRET.DOC -cMYSECRET.ENC -kTEST.KEY -w,10
    Encrypt MYSECRET.DOC in MYSECRET.ENC using the keyfile TEST.KEY and wipe
    MYSECRET.DOC with 10 passes. If MYSECRET.ENC exist, this will be just
    erased without any prompt. Note: "-e" parameter is optional.

 ** unsafe -o -d -pMYSECRET.DOC -cMYSECRET.ENC -kTEST.KEY -w,2
    Decrypt MYSECRET.ENC in MYSECRET.DOC using the keyfile TEST.KEY and wipe
    MYSECRET.ENC with 2 passes. If MYSECRET.DOC exist, this will erased to
    create the new MYSECRET.DOC file. Note: "-d" is necessary.

 ** unsafe -wMYSECRET.DOC,100
    Wipe MYSECRET.DOC with 100 passes. Note: its a really good number to
    destroy your files, but may be some slow.

 ** unsafe -wMYSECRET.DOC,100 -wMYSECRET.BAK,10
    Wipe MYSECRET.DOC with 100 passes, wipe MYSECRET.BAK with 10 passes.

 NOTES
 

   You can make keys, wipe files and encrypt or decrypt a file at the same
 time. I think that this makes Unsafe very powerfull now!.
   But still you cant encrypt a file and decrypt another at the same time.
 So, you cant encrypt two files at the same time, this makes Unsafe very
 limited for the moment. :(

  Using the ESC key you can cancel the operation of UNSAFE.

  The "-w,numPASSES" only affect the encryption/decryption environment, its
 means that when you overwrite a key (-mFILEthatEXIST,numKBYTES) this file
 will be erased (just a delete).


--------
 iv. Tips
     ~~

    1 - Compress your file before encrypt it, then you'll have the benefit of
        the compression. Encrypted files are NOT compressible... So do it
        before.

    2 - Use LONG passphrases (copy a part of a book, etc.), since the security
        of a good crypt algorithm depends on the passphrase and its length.
        Remember: NEVER use word than you can find in your dictionary, and
        allways keep the pass in your main, dont write in everywhere. ;)

    3 - The original file is still on your disk...  If that is NOT in your idea
        you may wipe the file using the command -w. See more information in
        "Getting Started".

    4 - To encrypt more than one file, use some like backup to join them and
        later encrypt it.

    5 - UNSAFE still has not encrytion with volumes size. so, this can be fixed
        We recommend to fix it using RAR (set the compress setting to STORE)
        and split the cyphertext. For more info you may read the RAR manual.

    6 - If you use random keys, please, keep this in some safe place. Unsafe is
        a complex system but if your keys are weak, Unsafe is "unsafe".
        Remember this and dont be such a lamer.


--------
 v. Disclainer and Copyright
    ~~~~~~~~~~~~~~~~~~~~~~

  UNSAFE - cryptosystem.
 (c) Copyright 1997, 1998, 1999, 2000 Jodeart Mindworks
 Project, design and code by Abaddon - Luis Capra
 Testers : Diego Padula, Juan Weston
 Corrections : Gaston Mucci
 Amyx : Impure Rose
 License : GPL (read license.txt)

  BLOWFISH has been implemented as per: "Description of a New Varible-Length
 Key, 64-bit Block Cypher (Blowfish)" Bruce Schneier, "Fast Software
 Encryption", lecture Notes in Computer Science No. 809, Springer-Verlag 1994.

  IDEA(tm) is a trademark of Ascom-Tech AG,developed by Xuejia Lai and James
 L. Massey, of ETH Zurich. Optimized by Colin Plumb.

  Safer Encryption Algorithm Copyright Peter Gutmann 1994-1996.
 Code to implement the improved SAFER-SK form of the SAFER cypher, originally
 published as "SAFER K-64: A Byte-Oriented Block-Cyphering Algorithm", James
 L. Massey, "Fast Software Encryption", Lecture Notes in Computer Science No.
 809, Springer-Verlag 1994, p.1.  This code implements the 128-bit key
 extension designed by the Special Projects Team of the Ministry of Home
 Affairs, Singapore and published as "SAFER K-64: One Year Later", James L.
 Massey, presented at the K. U. Leuven Workshop on Algorithms, Leuven, Belgium,
 14-16 December, 1994, to appear in "Fast Software Encryption II", Lecture
 Notes in Computer Science, Springer-Verlag 1995, along with Lars Knudsen's
 strengthened key schedule, presented in "A Key-Schedule Weakness in SAFER
 K-64," Lars Knudsen, presented at Crypto '95 in Santa Barbara, California.
 All parts of the SAFER-SK algorithm are non-proprietary and freely available
 for anyone to use as they see fit.

  MD5 has been implemented as per: RFC 1321, "The MD5 Message Digest Algorithm"
 ,Ronald Rivest, 1992.

 GREETZ TO:
 DAP, Bambin, Tongas, Impure Rose, Yasop, Martin De Marchi.


--------
vi. How to Compile... Compilers
    ~~~~~~~~~~~~~~~~~~~~~~~~~

  I think that Unsafe only compiles under Turbo C 2.x.
  I prove 32 bits compilers.. but too many errors.
  If you dont have this great and FREE compiler, go to my homepage and
 visit the links.

  The file tcconfig.tc is include in the UNSAFE SOURCE, to compile correctly
 using TC.


--------
 vii. The end
      ~~~~~

  In next versions y like to improve :

     Data compression.
     Selfextracters creation.
     MIME64 conversion for cyphertext.
     Better random functions.
     Calculate hash when encrypt/decrypt (at the same time).
     Weak passwords autodetection.
     Use of masks.
     Recurse subdirectorys.
     Differents levels of encryptions.
     Secure viewer.

  For upgrades visit http://www.unsafe.com.ar

  Thanks for try this, report all bugs and comments, make your pray all night
 and please... please... email me sending comments!.

                                                                        Be safe!


--------