     ****************************************
     * Original algorithm by Bruce Schneier *
     ****************************************
     Note: Check is book named "Applied Cryptography"
     Its 2th Edition is THE BEST reference available!


 --- Feedback ---

I'm happy to receive your Comments, Questions or Suggestions...
Please do not hesitate to contact me:
        Mail to : Dutra de Lacerda <dulac@ip.pt>
            and : Dutra de Lacerda <dutra.lacerda@mail.telepac.pt>
I MAY be late sometimes but always answer to this subject.
If this MAY be the case please accept my apologies for the delay.


 --- Names ---

   Even versions are development versions (usually not distributed).
   Odd versions are the ones available.

   Minor versions have a 'abc' tag.
   Normal versions have a diferent decimal number.


 --- History ---

(BLOWPAS.zip) *** NOT MINE ***
   - First assembly implementation by  John Lots and Walter van Holst.
   - Assembly rewrite by Jeroen Pluimers

(BLWCBC10)
   - CBC Mode Implementations by Dutra Lacerda using the BlowPas Unit.

(BLWCBC11)
   + Unit Rewrite improving 15X the Pascal Code (1500%)

(BLWCBC12)
   + Unit  Assembly  Use improving 5X the previous Pascal Code  (500%)
     and therefore being twice as fast  than  the  BLOWPAS  386  code.

(BLCBC13.zip) *** First Public Release ***
   ! Discovered the Initialization Bug in the  Lots-Holst BLOWPAS Unit
     used in previou versions while making a complete code rewrite.
     Meaning: PREVIOUS VERSIONS ARE NOT SECURE.
   + Correction made and Source code released,  before  its  time,  to
     protect users and developers.
   * Improvements in progress in the assembly and general code  to  be
     made  public  domain  when  I  get  TASM 4.0 to make the 386 code
     (twice faster) and the general routines are converted to Objects.

(BLWCBC14)
   ! Discovered a small Bug still herited from the the BlowPas Unit in
     the init routine of the algorithm... (again!) This one is smaller
     than the one corrected in version 1.3  but still affects security
     though in a  much lesser degree   ( one of the 4 P-Boxes  was not
     initialized... meaning that the program was  still safe,  but not
     as  much  as desired and/or expected)
   + Added a random CBC Init Vector. Forgotten  in  demo  version 1.3.
     This small change makes the cipher text less vulnerable to known
     text attack. And also means that:
     THIS  VERSION  IS  NOT COMPATIBLE WITH PREVIOUS ONES.
   * This also means this version is no longer a  demo  but  a  strong
     cipher program.
   * Also changed my idea of making the ASM code public.
     Still waiting to get my hands on TASM 4.0 (This is a hard life!)
     Now only the TP7 will be public.

(BLWCBC15.zip)
   + Added  a  New  Field  in  the EOF Header to restore the  original
     encrypted file extension (used only if  NO  output  argument  has
     been declared).
   + Full COMPATIBILITY with FUTURE versions.
   + Added I/O check routines and a RunTime Error Trap routine.

   // This demo is becoming a little bit more than that... Humm!

(BLWCB15-a-b-c)
   = This versions correct small glitches in the interface with the user.
   = Full COMPATIBILITY with 1.4 and FUTURE versions.
   ! A 'Writeln' in a wrong place produced a incorrect layout.
   + Better I/O errors control
   + Disk Full check added
   + ErrorLevel file added to benefit Power-Users
   + Read-me file with important TIPS was also added

   //Humm... Really this as grown to be more than just a demo


(BLWCBC16.zip) *** THIS is NOT an OFICIAL version ***
               *** Just to experiment before v1.7 ***

     ... after a 4 years gap... today is 2001/08/24  ---
   ! Changed Status from Public Domain to OPEN SOURCE.
   = Cipher Unit was OOPed.
   = All versions of FPC should compile this...
   + Processing was further optimized, specially to Optimized CPUs
     ... 3% when used in 8086 up to 786 (new Athlon family).
     ... 50% when used 32bit code under W9x (Linux should do better).
   ! Version 1.6d was truncating some files... (problem in _BlwFile)
     ... Version 1.6d is correct

     BUGS
     ~~~~
   ! Pre-1.6g all had a problem with FreeBSD FPC compiler. Solved!
   - All versions 1.6 are still not compatible with 1.5.
     Blame seems to be the perfected _BlwFile.pas unit... Why?!?
     When Solved it will be official BLW-CBC v1.7
     ... today is 2001/10/22 ...


(BLWCBC17.zip) *** FUTURE OFICIAL VERSION ***
   //Ok! It is not a demo anymore... lets enhance and move it to Linux.
   Adding: Parser for Command Line Switches and option control.
   Adding: TEA and RIJNDAEL routines.

<--- End of File --->

