Changeset 676 for trunk/CrypPlugins/AES


Ignore:
Timestamp:
Oct 7, 2009, 3:39:26 PM (12 years ago)
Author:
Sven Rech
Message:

KeySearcher is now able to try all keys
(only works properly with SDES right now)
(error when trying to save the workspace)

+ a very small QuadraticSieve fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/AES/AES.cs

    r662 r676  
    642642        #endregion
    643643
    644         private IControlEncryption testSlave;
     644        private IControlEncryption controlSlave;
    645645        [PropertyInfo(Direction.ControlSlave, "AES Slave", "AES Slave", "", DisplayLevel.Experienced)]
    646         public IControlEncryption TestSlave
     646        public IControlEncryption ControlSlave
    647647        {
    648648          get
    649649          {
    650             if (testSlave == null)
    651               testSlave = new AESControl(this);
    652             return testSlave;
     650              if (controlSlave == null)
     651                  controlSlave = new AESControl(this);
     652              return controlSlave;
    653653          }
    654654        }     
     
    657657    public class AESControl : IControlEncryption
    658658    {
    659       private AES plugin;
    660 
    661       public AESControl(AES Plugin)
    662       {
    663         this.plugin = Plugin;
    664       }
    665 
    666       #region IControlEncryption Members
    667 
    668       public byte[] Encrypt(byte[] key, byte[] data, byte[] iv)
    669       {
    670         ((AESSettings)plugin.Settings).Action = 0;
    671         return execute(key, data, iv);
    672       }
    673 
    674       public byte[] Decrypt(byte[] key, byte[] data, byte[] iv)
    675       {
    676         ((AESSettings)plugin.Settings).Action = 1;
    677         return execute(key, data, iv);
    678       }
    679 
    680       private byte[] execute(byte[] key, byte[] data, byte[] iv)
    681       {
    682         plugin.InputKey = key;
    683         plugin.InputIV = iv;
    684         CryptoolStream cs = new CryptoolStream();
    685         cs.OpenRead(this.GetType().Name, data);
    686         plugin.InputStream = cs;
    687         plugin.Execute();
    688         CryptoolStream output = plugin.OutputStream;
    689 
    690         byte[] byteValues = new byte[output.Length];
    691         int bytesRead;
    692         output.Seek(0, SeekOrigin.Begin);
    693         bytesRead = output.Read(byteValues, 0, byteValues.Length);
    694         plugin.Dispose();
    695         cs.Close();
    696         output.Close();
    697         return byteValues;
    698       }
    699 
    700       #endregion
     659        private AES plugin;
     660
     661        public AESControl(AES Plugin)
     662        {
     663            this.plugin = Plugin;
     664        }
     665
     666        #region IControlEncryption Members
     667
     668        public byte[] Encrypt(byte[] key)
     669        {
     670            ((AESSettings)plugin.Settings).Action = 0;
     671            return execute(key);
     672        }
     673
     674        public byte[] Decrypt(byte[] key)
     675        {
     676            ((AESSettings)plugin.Settings).Action = 1;
     677            return execute(key);
     678        }
     679
     680        public string getKeyPattern()
     681        {
     682            return "not implemented yet";
     683        }
     684
     685        public byte[] getKeyFromString(string key)
     686        {
     687            return null;
     688        }
     689
     690        private byte[] execute(byte[] key)
     691        {
     692            plugin.InputKey = key;
     693            plugin.Execute();
     694            CryptoolStream output = plugin.OutputStream;
     695
     696            byte[] byteValues = new byte[output.Length];
     697            int bytesRead;
     698            output.Seek(0, SeekOrigin.Begin);
     699            bytesRead = output.Read(byteValues, 0, byteValues.Length);
     700            plugin.Dispose();
     701            output.Close();
     702            return byteValues;
     703        }
     704
     705        #endregion
    701706    }
    702707}
Note: See TracChangeset for help on using the changeset viewer.