Changeset 676 for trunk/CrypPlugins/DES


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/DES/DES.cs

    r662 r676  
    361361        #endregion
    362362
    363         private IControlEncryption testSlave;
     363        private IControlEncryption controlSlave;
    364364        [PropertyInfo(Direction.ControlSlave, "DES Slave", "Direct access to DES.", "", DisplayLevel.Beginner)]
    365         public IControlEncryption TestSlave
     365        public IControlEncryption ControlSlave
    366366        {
    367367          get
    368368          {
    369             if (testSlave == null)
    370               testSlave = new DESControl(this);
    371             return testSlave;
     369              if (controlSlave == null)
     370                  controlSlave = new DESControl(this);
     371              return controlSlave;
    372372          }
    373373        }   
     
    376376    public class DESControl : IControlEncryption
    377377    {
    378       private DES plugin;
    379 
    380       public DESControl(DES Plugin)
    381       {
    382         this.plugin = Plugin;
    383       }
    384 
    385       #region IControlEncryption Members
    386 
    387       public byte[] Encrypt(byte[] key, byte[] data, byte[] iv)
    388       {
    389         ((DESSettings)plugin.Settings).Action = 0;
    390         return execute(key, data, iv);
    391       }
    392 
    393       public byte[] Decrypt(byte[] key, byte[] data, byte[] iv)
    394       {
    395         ((DESSettings)plugin.Settings).Action = 1;
    396         return execute(key, data, iv);
    397       }
    398 
    399       private byte[] execute(byte[] key, byte[] data, byte[] iv)
    400       {
    401         plugin.InputKey = key;
    402         plugin.InputIV = iv;
    403         CryptoolStream cs = new CryptoolStream();
    404         cs.OpenRead(this.GetType().Name, data);
    405         plugin.InputStream = cs;
    406         plugin.Execute();
    407         CryptoolStream output = plugin.OutputStream;
    408 
    409         byte[] byteValues = new byte[output.Length];
    410         int bytesRead;
    411         output.Seek(0, SeekOrigin.Begin);
    412         bytesRead = output.Read(byteValues, 0, byteValues.Length);
    413         plugin.Dispose();
    414         cs.Close();
    415         output.Close();
    416         return byteValues;
    417       }
    418 
    419       #endregion
     378        private DES plugin;
     379
     380        public DESControl(DES Plugin)
     381        {
     382            this.plugin = Plugin;
     383        }
     384
     385        #region IControlEncryption Members
     386
     387        public byte[] Encrypt(byte[] key)
     388        {
     389            ((DESSettings)plugin.Settings).Action = 0;
     390            return execute(key);
     391        }
     392
     393        public byte[] Decrypt(byte[] key)
     394        {
     395            ((DESSettings)plugin.Settings).Action = 1;
     396            return execute(key);
     397        }
     398
     399        public string getKeyPattern()
     400        {
     401            return "not implemented yet";
     402        }
     403
     404        public byte[] getKeyFromString(string key)
     405        {
     406            return null;
     407        }
     408
     409        private byte[] execute(byte[] key)
     410        {
     411            plugin.InputKey = key;
     412            plugin.Execute();
     413            CryptoolStream output = plugin.OutputStream;
     414
     415            byte[] byteValues = new byte[output.Length];
     416            int bytesRead;
     417            output.Seek(0, SeekOrigin.Begin);
     418            bytesRead = output.Read(byteValues, 0, byteValues.Length);
     419            plugin.Dispose();
     420            output.Close();
     421            return byteValues;
     422        }
     423
     424        #endregion
    420425    }
    421426}
Note: See TracChangeset for help on using the changeset viewer.