Changeset 677


Ignore:
Timestamp:
Oct 7, 2009, 4:49:16 PM (12 years ago)
Author:
Sven Rech
Message:

some KeySearcher updates (but still doesn't really work)

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPluginBase/Control/IControlEncryption.cs

    r676 r677  
    66namespace Cryptool.PluginBase.Control
    77{
     8    public delegate void KeyPatternChanged();
    89    public interface IControlEncryption : IControl
    910    {
     
    1213        string getKeyPattern();
    1314        byte[] getKeyFromString(string key);
     15        event KeyPatternChanged keyPatternChanged;
    1416    }
    1517}
  • trunk/CrypPlugins/AES/AES.cs

    r676 r677  
    217217using System.Runtime.Remoting.Contexts;
    218218using Cryptool.PluginBase.Control;
    219 
    220 
    221219
    222220namespace Cryptool.Plugins.Cryptography.Encryption
     
    416414
    417415        public void Execute()
    418         {
     416        {           
    419417            process(settings.Action);
    420418        }
     
    657655    public class AESControl : IControlEncryption
    658656    {
     657        public event KeyPatternChanged keyPatternChanged;
    659658        private AES plugin;
    660659
     
    662661        {
    663662            this.plugin = Plugin;
     663            ((AESSettings)plugin.Settings).PropertyChanged += settingsChangedHandler;
    664664        }
    665665
     
    680680        public string getKeyPattern()
    681681        {
    682             return "not implemented yet";
     682            int bytes = 0;
     683            switch (((AESSettings)plugin.Settings).Keysize)
     684            {
     685                case 0:
     686                    bytes = 16;
     687                    break;
     688                case 1:
     689                    bytes = 24;
     690                    break;
     691                case 2:
     692                    bytes = 32;
     693                    break;
     694            }
     695            string pattern = "";
     696            for (int i = 1; i < bytes; i++)
     697                pattern += "[0-9A-F][0-9A-F]-";
     698            pattern += "[0-9A-F][0-9A-F]";
     699            return pattern;
    683700        }
    684701
    685702        public byte[] getKeyFromString(string key)
    686703        {
    687             return null;
     704            int bytes = 0;
     705            switch (((AESSettings)plugin.Settings).Keysize)
     706            {
     707                case 0:
     708                    bytes = 16;
     709                    break;
     710                case 1:
     711                    bytes = 24;
     712                    break;
     713                case 2:
     714                    bytes = 32;
     715                    break;
     716            }
     717            byte[] bkey = new byte[bytes];
     718            for (int i = 0; i < bytes; i++)
     719            {
     720                bkey[i] = Convert.ToByte(key.Substring(i * 3, 2), 16);
     721            }
     722            return bkey;
    688723        }
    689724
     
    703738        }
    704739
     740        private void settingsChangedHandler(object sender, PropertyChangedEventArgs e)
     741        {
     742            if (e.PropertyName == "Keysize")
     743                keyPatternChanged();
     744        }
     745
    705746        #endregion
    706747    }
  • trunk/CrypPlugins/DES/DES.cs

    r676 r677  
    376376    public class DESControl : IControlEncryption
    377377    {
     378        public event KeyPatternChanged keyPatternChanged;
    378379        private DES plugin;
    379380
     
    399400        public string getKeyPattern()
    400401        {
    401             return "not implemented yet";
     402            return "[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]-"
     403                +"[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]";
    402404        }
    403405
    404406        public byte[] getKeyFromString(string key)
    405407        {
    406             return null;
     408            byte[] bkey = new byte[8];
     409            for (int i = 0; i < 7; i++)
     410            {
     411                bkey[i] = Convert.ToByte(key.Substring(i * 3, 2), 16);               
     412            }
     413            return bkey;
    407414        }
    408415
  • trunk/CrypPlugins/KeySearcher/KeySearcher.cs

    r676 r677  
    147147        public bool nextKey()
    148148        {
    149             int wildcardCount = 0;
    150             bool overflow = ((Wildcard)wildcardList[0]).succ();
    151             wildcardCount = 1;
    152             while (overflow && (wildcardCount < wildcardList.Count))
    153                 overflow = ((Wildcard)wildcardList[wildcardCount++]).succ();
     149            int wildcardCount = wildcardList.Count-1;
     150            bool overflow = ((Wildcard)wildcardList[wildcardCount]).succ();
     151            wildcardCount--;
     152            while (overflow && (wildcardCount >= 0))
     153                overflow = ((Wildcard)wildcardList[wildcardCount--]).succ();
    154154            return !overflow;
    155155        }
     
    272272        #endregion
    273273
     274        private void keyPatternChanged()
     275        {
     276            settings.Pattern = new KeyPattern(controlMaster.getKeyPattern());
     277        }
     278
    274279        #region IControlEncryption Members
    275280
     
    281286            set
    282287            {
     288                if (controlMaster != null)
     289                    controlMaster.keyPatternChanged -= keyPatternChanged;
    283290                if (value != null)
    284291                {
    285292                    settings.Pattern = new KeyPattern(value.getKeyPattern());
     293                    value.keyPatternChanged += keyPatternChanged;
    286294                    controlMaster = value;
    287295                    OnPropertyChanged("ControlMaster");
    288296                }
     297                else
     298                    controlMaster = null;
    289299            }
    290300        }
  • trunk/CrypPlugins/SDES/SDES.cs

    r676 r677  
    431431    public class SDESControl : IControlEncryption
    432432    {
     433        public event KeyPatternChanged keyPatternChanged;
    433434        private SDES plugin;
    434435
Note: See TracChangeset for help on using the changeset viewer.