Changeset 1751


Ignore:
Timestamp:
Jul 29, 2010, 5:02:10 PM (11 years ago)
Author:
Paul Lelgemann
Message:

+ KeySearcher: added database access for evaluation
+ Added KeySearcher/AES workspaces with different sizes

Location:
trunk
Files:
4 added
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/KeySearcher/KeySearcher.csproj

    r1727 r1751  
    114114    <Compile Include="KeySearcher.cs" />
    115115    <Compile Include="P2P\Helper\ConnectionHelper.cs" />
     116    <Compile Include="P2P\Helper\DatabaseStatistics.cs" />
    116117    <Compile Include="P2P\Presentation\StatisticsGenerator.cs" />
    117118    <Compile Include="P2P\Presentation\StatusContainer.cs" />
  • trunk/CrypPlugins/KeySearcher/KeySearcherSettings.cs

    r1727 r1751  
    11using System;
    2 using System.Numerics;
    32using System.Windows;
    4 using Cryptool.P2P;
    53using Cryptool.PluginBase;
    64using System.ComponentModel;
    75using System.Collections.ObjectModel;
    8 using KeySearcher.KeyPattern;
    96using KeySearcher.P2P.Storage;
    107
     
    1613        private int coresUsed;
    1714        private const string GroupPeerToPeer = "Peer-to-Peer network";
     15        private const string GroupEvaluation = "Evaluation";
    1816
    1917        public KeySearcherSettings(KeySearcher ks)
     
    152150        }
    153151
     152        private string evaluationHost;
     153        [TaskPane("Host", "Database host with evaluation database", GroupEvaluation, 0, false, DisplayLevel.Expert, ControlType.TextBox)]
     154        public String EvaluationHost
     155        {
     156            get
     157            {
     158                return evaluationHost;
     159            }
     160            set
     161            {
     162                if (value != evaluationHost)
     163                {
     164                    evaluationHost = value;
     165                    OnPropertyChanged("EvaluationHost");
     166                    HasChanges = true;
     167                }
     168            }
     169        }
     170
     171        private string evaluationUser;
     172        [TaskPane("User", "Username for evaluation database", GroupEvaluation, 1, false, DisplayLevel.Expert, ControlType.TextBox)]
     173        public String EvaluationUser
     174        {
     175            get
     176            {
     177                return evaluationUser;
     178            }
     179            set
     180            {
     181                if (value != evaluationUser)
     182                {
     183                    evaluationUser = value;
     184                    OnPropertyChanged("EvaluationUser");
     185                    HasChanges = true;
     186                }
     187            }
     188        }
     189
     190        private string evaluationPassword;
     191        [TaskPane("Password", "Password for evaluation database", GroupEvaluation, 2, false, DisplayLevel.Expert, ControlType.TextBox)]
     192        public String EvaluationPassword
     193        {
     194            get
     195            {
     196                return evaluationPassword;
     197            }
     198            set
     199            {
     200                if (value != evaluationPassword)
     201                {
     202                    evaluationPassword = value;
     203                    OnPropertyChanged("EvaluationPassword");
     204                    HasChanges = true;
     205                }
     206            }
     207        }
     208
     209        private string evaluationDatabase;
     210        [TaskPane("Database", "Name of the evaluation database", GroupEvaluation, 3, false, DisplayLevel.Expert, ControlType.TextBox)]
     211        public String EvaluationDatabase
     212        {
     213            get
     214            {
     215                return evaluationDatabase;
     216            }
     217            set
     218            {
     219                if (value != evaluationDatabase)
     220                {
     221                    evaluationDatabase = value;
     222                    OnPropertyChanged("EvaluationDatabase");
     223                    HasChanges = true;
     224                }
     225            }
     226        }
     227
    154228        private ObservableCollection<string> coresAvailable = new ObservableCollection<string>();
    155229        public ObservableCollection<string> CoresAvailable
  • trunk/CrypPlugins/KeySearcher/P2P/DistributedBruteForceManager.cs

    r1733 r1751  
    162162                    continue;
    163163                }
     164
     165                // Push statistics to database
     166                status.CurrentOperation = "Pushing statistics to evaluation database";
     167                DatabaseStatistics.PushToDatabase(status, StopWatch.ElapsedMilliseconds, keyPoolTree.Identifier, settings, keySearcher);
    164168            }
    165169
     
    170174                keySearcher.GuiLogMessage("Calculation complete.", NotificationLevel.Info);
    171175                keyPoolTree.UpdateStatusForFinishedCalculation();
    172                
    173176            }
    174177
  • trunk/CrypPlugins/KeySearcher/P2P/Storage/StorageKeyGenerator.cs

    r1727 r1751  
    3939
    4040            rawIdentifier += Encoding.ASCII.GetString(inputData);
    41 
    42             /*
     41           
    4342            // Add cost of input data to preserve cost master settings
    4443            rawIdentifier += keySearcher.CostMaster.calculateCost(inputData);
    4544
     45            /*
    4646            // Add decrypted input data to preserve encryption settings
    4747            var keyLength = keySearcher.Pattern.giveInputPattern().Length / 3;
    4848            var decryptedData = keySearcher.ControlMaster.Decrypt(inputData, new byte[keyLength], new byte[8]);
    4949            rawIdentifier += Encoding.ASCII.GetString(decryptedData);
    50              */
     50            */
    5151
    5252            var hashAlgorithm = new SHA1CryptoServiceProvider();
  • trunk/CrypPlugins/KeySearcher/P2P/Tree/KeyPoolTree.cs

    r1729 r1751  
    1212    internal class KeyPoolTree
    1313    {
     14        public readonly string Identifier;
     15       
    1416        private readonly KeySearcher keySearcher;
    1517        private readonly StatusContainer statusContainer;
     
    1820        private readonly NodeBase rootNode;
    1921        private readonly StorageHelper storageHelper;
    20         private readonly string identifier;
    2122        private readonly StatusUpdater statusUpdater;
    2223        private readonly int updateIntervalMod;
     
    3132            this.statusContainer = statusContainer;
    3233            this.statisticsGenerator = statisticsGenerator;
    33             identifier = identifierGenerator.Generate();
     34            Identifier = identifierGenerator.Generate();
    3435
    3536            storageHelper = new StorageHelper(keySearcher, statisticsGenerator, statusContainer);
     
    4041            statisticsGenerator.MarkStartOfNodeSearch();
    4142            rootNode = NodeFactory.CreateNode(storageHelper, keyQualityHelper, null, 0, this.patternPool.Length - 1,
    42                                               identifier);
     43                                              Identifier);
    4344            statisticsGenerator.MarkEndOfNodeSearch();
    4445
     
    4849        public DateTime StartDate()
    4950        {
    50             return storageHelper.StartDate(identifier);
     51            return storageHelper.StartDate(Identifier);
    5152        }
    5253
Note: See TracChangeset for help on using the changeset viewer.