diff dcrypt/crypto/ciphers/Blowfish.d @ 14:5ce3012f1def

Removed some redundancy in code. Added NotSupportedError, a base PRNG class and a class which creates a PRNG from a hash function. Changed the MAC class' finalization methods to digest and hexDigest instead of finish and hexFinish respectively. Also added a base Checksum class, crc32 and adler32 in dcrypt.misc as per request.
author Thomas Dixon <reikon@reikon.us>
date Tue, 18 Nov 2008 18:03:40 -0500
parents 8c7f8fecdd75
children 3a57367afe34
line wrap: on
line diff
--- a/dcrypt/crypto/ciphers/Blowfish.d	Fri Sep 12 05:20:43 2008 -0400
+++ b/dcrypt/crypto/ciphers/Blowfish.d	Tue Nov 18 18:03:40 2008 -0500
@@ -209,8 +209,6 @@
         uint[18] P;
         uint[256] S0, S1, S2, S3;
         ubyte[] workingKey;
-        bool initialized,
-             encrypt;
     } // end private
     
     char[] name() {
@@ -226,7 +224,7 @@
         if (!keyParams)
             throw new InvalidParameterError(
                     name()~": Invalid parameter passed to init");
-        this.encrypt = encrypt;
+        _encrypt = encrypt;
         
         uint len = keyParams.key.length;
         if (len < MIN_KEY_SIZE || len > MAX_KEY_SIZE)
@@ -241,10 +239,10 @@
         
         workingKey = keyParams.key;
         // Yes, this is ghetto. I know.
-        initialized = true;
+        _initialized = true;
         setup(workingKey);
         
-        if (!encrypt)
+        if (!_encrypt)
             P.reverse; // Oh yes I did.
     }
     
@@ -256,7 +254,7 @@
     }
     
     uint update(void[] input_, void[] output_) {
-        if (!initialized)
+        if (!_initialized)
             throw new NotInitializedError(name()~": Cipher not initialized.");
         
         ubyte[] input = cast(ubyte[]) input_,