TCryptLib 2.3                        

 Delphi 3,4,5.  - , ,  
  (TMemoryStream)   ,    , 
     ,    
 .        LZ  Zip,   
 .     , 
     (zip, rar).  , 
        ,  
   . Shareware $10 , source $25.

       (brute force attack)
  93  (      , ,
).  Celeron 412 MHz/48 MB RAM/Windows NT 4.0 SP5/normal.

       
          -

   3           5  26 
   4           8.4     
   5           32.55     ()
   6           8.3       ()

:
  kbcrypt.dcu, lzh.dcu, zlib.dcu, *.obj   
,   *.dcu  *.obj     . :

Delphi 3
  Component -> Install Component,    kbcrypt.dcu, 
 .

Delphi 4
 Component -> Install Packeges-> Borland User Components ,   
  kbcrypt.dcu,  .

Delphi 5
  Dclusr50.bpl ( Component -> Install Packeges-> Borland User
Components ),     kbcrypt.dcu,  .


TCryptLib = class(TComponent)
public
  //   
  procedure EncryptFile;   //        
  procedure DecryptFile;   //     
  function  EncryptStr(StrToEncrypt : string ) : string;    //  
  function  DecryptStr(StrToDecrypt : string ) : string;    //    
  procedure EncryptMemory(StreamToEncrypt : TMemoryStream); //    
  procedure DecryptMemory(StreamToDecrypt : TMemoryStream); //    
  function  PasswdHash : string;  //     
  function  PasswdIsGood(hash, passwd : string) : boolean;  //        
published
  //  
  property Infile         : string   //   
  property Outfile        : string   //   
  property Password       : string   //     12 
  property IncludeHash    : boolean  //   hash   ,    
  property Compression    : CompressType //    ( none, Z, LZ )
  property TerminateFiles : boolean  //      
  property AddKey         : integer  //    
  property MultKey        : integer  //    
  property OnBadPassword  : TNotifyEvent  // ,     ,   .
  property OnFileCrypt    : TNotifyEvent  //     
  property OnMemCrypt     : TNotifyEvent  //     
end;

 
-------------------------------------------------------------------------------

:
        
InFile   -      DecryptFile, EncryptFile
OutFile  -     DecryptFile, EncryptFile
Password -    12 
Compression - ,        LZH
     .     ,  
        .
Compression : CompressType;   CompressType = (none, Z, LZ);
          : none -  ; 
    Z -     Zlib; LZ -  LZW. 
             .
AddKey, MultKey - ,      - 
     .   ,    
     .
TerminateFiles  -           
    ,   FAT ,     
          .
IncludeHash -      EncryptFile  hash
     .   ( DecryptFile )     
        OnBadPassword.    
    EncryptMemory  hash  .


:

EncryptFile -    InFile  OutFile 
DecryptFile -  InFile  OutFile
     InFile, OutFile    ,     
      .       16- 
      ,  IncludeHash=true.    
          ,   
      OnBadPassword   .   
         ,   EncryptMemory,
            IncludeHash=false
EncryptMemory(StreamToEncrypt : TMemoryStream) -     
    (      ). 
DecryptMemory(StreamToDecrypt : TMemoryStream) -    .
           
     .        
       PasswdIsGood.
EncryptStr(StrToEncrypt : string ) : string; -    
     1 .     . 
DecryptStr(StrToDecrypt : string ) : string; -  .   
PasswdHash : string; -  32   -    
    .           
      .
PasswdIsGood(hash, passwd : string) : boolean;   
       passwd   hash.   
       .

:

OnBadPassword -   DecryptFile    ,
                  ,  IncludeHash=true.
OnFileCrypt,  OnMemCrypt -      , 
                     -
                   .

-------------------------------------------------------------------------------
LZH compression unit written by  A. Olowofoyeku, Andy Tam, Douglas Webb, 
Andrew Eigus. Thanks to them.  Additional thanks to S.Maksutin.
-------------------------------------------------------------------------------

14.05.1999
    TCryptLib 1.0
09.08.1999
    TCryptLib 2.0     ( EncryptCore )  
       .    -  
      range check error     - .
31.08.1999
    TCryptLib 2.1     EncryptCore, DecryptCore.
           
    EncryptMemory, DecryptMemory.
22.09.1999
    TCryptLib 2.2    TerminateFiles -   
       ,    EncryptFile,
    DecryptFile.     FAT .  - 
         -  brute force attack.
     Delphi 5 ( lzh.pas,  76).
20.10.1999
    TCryptLib 2.3  Shareware $10
      IncludeHash,  OnFileCrypt, OnMemCrypt, 
    !!!    Compression c boolean  CompressType !!!
    -    LZW, Zip.

-------------------------------------------------------------------------------

 
kosta@energobank.ru    borodach@chat.ru
http://www.chat.ru/~borodach
