source: trunk/CrypPlugins/KeySearcher_IControl/IControlKeySearcher.cs @ 2280

Last change on this file since 2280 was 1674, checked in by Paul Lelgemann, 12 years ago

o Refactored distributed KeySearcher: updated directory structure and variable names

File size: 2.3 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Cryptool.PluginBase.Control;
6// KeyPattern kicked out of this project and will be sourced from the namespace KeySearcher
7using KeySearcher.KeyPattern;
8using Cryptool.Plugins.KeySearcher_IControl;
9
10namespace Cryptool.PluginBase.Control
11{
12    public interface IControlKeySearcher : IControl
13    {
14        /// <summary>
15        /// This event gets thrown after Bruteforcing had ended. This is no evidence, that bruteforcing was successful.
16        /// But when the returned List is filled, we have (at least a part) of the possible best keys
17        /// </summary>
18        event KeySearcher_IControl.BruteforcingEnded OnEndedBruteforcing;
19
20        /// <summary>
21        /// get the connected Encryption Control
22        /// </summary>
23        /// <returns></returns>
24        IControlEncryption GetEncyptionControl();
25        /// <summary>
26        /// get the connected CostFunction Control
27        /// </summary>
28        /// <returns></returns>
29        IControlCost GetCostControl();
30
31        /// <summary>
32        /// Initiates bruteforcing, but really starts not until all MasterControls had finished initializing.
33        /// </summary>
34        /// <param name="pattern">a valid KeyPattern to bruteforce</param>
35        /// <param name="encryptedData">encryptedData which are necessary for encrypting and calculating a cost factor</param>
36        /// <param name="initVector">initVector necessary in some kinds of cipher-block-mode</param>
37        void StartBruteforcing(KeyPattern pattern, byte[] encryptedData, byte[] initVector);
38
39        void StopBruteforcing();
40
41        ///// <summary>
42        ///// Bruteforces a given KeyPattern with all available cores in multi-threading mode
43        ///// </summary>
44        ///// <param name="pattern">an arbitrary difficult KeyPattern</param>
45        ///// <param name="encryptControl">the encryption type, which will be used for test-wise decryption with the calculated keys</param>
46        ///// <param name="costControl">the cost function type, which will be used to evaluate the bruteforcing results</param>
47        //void bruteforcePattern(KeyPattern pattern, IControlEncryption encryptControl, IControlCost costControl);
48    }
49}
Note: See TracBrowser for help on using the repository browser.