Changeset 8893


Ignore:
Timestamp:
Sep 17, 2020, 10:09:28 AM (16 months ago)
Author:
kopal
Message:

Enigma Analyser:

  • added search space visualization to presentation
  • added analysis mode to presentation

CrypAnalysisViewControl:

  • changed font of bestlist to Courier new (= monospaced font)
Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/EnigmaAnalyzer/AssignmentPresentation.xaml

    r8885 r8893  
    1010    <crypanalysisviewcontrol:CrypAnalysisViewControl ResultHeaderCaption="{Loc LocalLabel}" ResultListCaption="{Loc TopTenLabel}">
    1111        <crypanalysisviewcontrol:CrypAnalysisViewControl.ResultHeaderLabels>
     12            <crypanalysisviewcontrol:ViewLabel Caption="{Loc AnalysisMode}" x:Name="AnalysisMode"  />
     13            <crypanalysisviewcontrol:ViewLabel Caption="{Loc AnalysisStep}" x:Name="AnalysisStep" />
     14            <crypanalysisviewcontrol:ViewLabel Caption="{Loc SearchFrom}" x:Name="SearchFrom"  />
     15            <crypanalysisviewcontrol:ViewLabel Caption="{Loc SearchTo}" x:Name="SearchTo"  />
    1216            <crypanalysisviewcontrol:ViewLabel Caption="{Loc StartLabel}" x:Name="StartTime" />
    13             <!--<crypanalysisviewcontrol:ViewLabel Caption="{Loc EndLabel}" x:Name="EndTime" />-->
    1417            <crypanalysisviewcontrol:ViewLabel Caption="{Loc TimeLeftLabel}" x:Name="TimeLeft" />
    15             <!--<crypanalysisviewcontrol:ViewLabel Caption="{Loc SpeedLabel}" x:Name="CurrentSpeed" />-->
    16             <!--Empty for layouting purposes:-->
    1718            <crypanalysisviewcontrol:ViewLabel Caption="{Loc EndLabel}" x:Name="EndTime" />
    18             <crypanalysisviewcontrol:ViewLabel Caption="{Loc StepLabel}" x:Name="Step" />
    1919        </crypanalysisviewcontrol:CrypAnalysisViewControl.ResultHeaderLabels>
    2020
  • trunk/CrypPlugins/EnigmaAnalyzer/EnigmaAnalyzer.cs

    r8890 r8893  
    281281                    break;
    282282                case AnalysisMode.IC_SEARCH:
    283                     _resultReporter_OnNewCryptanalysisStep(new NewCryptanalysisStepArgs("IoC Search"));
    284                     PerformICTrigramSearch(true);
     283                    {
     284                        var step = new NewCryptanalysisStepArgs("IoC Search");
     285                        _resultReporter_OnNewCryptanalysisStep(step);
     286                        OnNewAnalysisMode(step);
     287                        PerformICTrigramSearch(true);
     288                    }
    285289                    break;
    286290                case AnalysisMode.TRIGRAM_SEARCH:
    287                     _resultReporter_OnNewCryptanalysisStep(new NewCryptanalysisStepArgs("Trigram Search"));
    288                     PerformICTrigramSearch(false);
     291                    {
     292                        var step = new NewCryptanalysisStepArgs("Trigram Search");
     293                        _resultReporter_OnNewCryptanalysisStep(step);
     294                        OnNewAnalysisMode(step);
     295                        PerformICTrigramSearch(false);
     296                    }
    289297                    break;
    290298                case AnalysisMode.HILLCLIMBING:
    291                     _resultReporter_OnNewCryptanalysisStep(new NewCryptanalysisStepArgs("Hillclimbing"));
    292                     PerformHillclimbingSimulatedAnnealing(HcSaRunnable.Mode.HC);
     299                    {
     300                        var step = new NewCryptanalysisStepArgs("Hillclimbing");
     301                        _resultReporter_OnNewCryptanalysisStep(step);
     302                        OnNewAnalysisMode(step);
     303                        PerformHillclimbingSimulatedAnnealing(HcSaRunnable.Mode.HC);
     304                    }
    293305                    break;
    294306                case AnalysisMode.SIMULATED_ANNEALING:
    295                     _resultReporter_OnNewCryptanalysisStep(new NewCryptanalysisStepArgs("Simulated Annealing"));
    296                     PerformHillclimbingSimulatedAnnealing(HcSaRunnable.Mode.SA);
     307                    {
     308                        var step = new NewCryptanalysisStepArgs("Simulated Annealing");
     309                        _resultReporter_OnNewCryptanalysisStep(step);
     310                        OnNewAnalysisMode(step);
     311                        PerformHillclimbingSimulatedAnnealing(HcSaRunnable.Mode.SA);
     312                    }
    297313                    break;
    298314                case AnalysisMode.GILLOGLY:
    299                     _resultReporter_OnNewCryptanalysisStep(new NewCryptanalysisStepArgs("Gillogly"));
    300                     PerformGilloglyAttack();
     315                    {
     316                        var step = new NewCryptanalysisStepArgs("Gillogly");
     317                        _resultReporter_OnNewCryptanalysisStep(step);
     318                        OnNewAnalysisMode(step);
     319                        PerformGilloglyAttack();
     320                    }
    301321                    break;
    302322                default:
    303323                    throw new NotImplementedException(string.Format("Cryptanalysis mode {0} not implemented", _settings.AnalysisMode));
    304324            }
    305         }       
     325        }
     326
     327        private void OnNewSearchSpace(Key from, Key to)
     328        {
     329            Presentation.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     330            {
     331                try
     332                {
     333                    _presentation.SearchFrom.Value = string.Format("{0}", from.getKeystringShort());
     334                    _presentation.SearchTo.Value = string.Format("{0}", to.getKeystringShort());
     335                }
     336                catch (Exception)
     337                {
     338                    //do nothing
     339                }
     340            }, null);
     341        }
     342
     343
     344        private void OnNewAnalysisMode(NewCryptanalysisStepArgs args)
     345        {
     346            Presentation.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     347            {
     348                try
     349                {
     350                    _presentation.AnalysisMode.Value = args.Step;
     351                }
     352                catch (Exception)
     353                {
     354                    //do nothing
     355                }
     356            }, null);
     357        }
    306358
    307359        private void _resultReporter_OnNewCryptanalysisStep(NewCryptanalysisStepArgs args)
     
    311363                try
    312364                {
    313                     _presentation.Step.Value = args.Step;
     365                    _presentation.AnalysisStep.Value = args.Step;
    314366                }
    315367                catch (Exception)
     
    418470            }
    419471
     472            OnNewSearchSpace(lowKey, highKey);
     473
    420474            //analysis objects
    421475            var bombeSearch = new BombeSearch();
     
    494548                return;
    495549            }
     550
     551            OnNewSearchSpace(lowKey, highKey);
    496552
    497553            //analysis objects
     
    564620                return;
    565621            }
     622
    566623            SetPlugs(lowKey, highKey, null);
    567624
     
    576633                return;
    577634            }
     635
     636            OnNewSearchSpace(lowKey, highKey);
    578637
    579638            //analysis objects
     
    642701                return;
    643702            }
     703
     704            OnNewSearchSpace(lowKey, highKey);
    644705
    645706            //analysis objects
  • trunk/CrypPlugins/EnigmaAnalyzer/Properties/Resources.Designer.cs

    r8889 r8893  
    8080       
    8181        /// <summary>
     82        ///   Sucht eine lokalisierte Zeichenfolge, die Analysis Mode: ähnelt.
     83        /// </summary>
     84        public static string AnalysisMode {
     85            get {
     86                return ResourceManager.GetString("AnalysisMode", resourceCulture);
     87            }
     88        }
     89       
     90        /// <summary>
    8291        ///   Sucht eine lokalisierte Zeichenfolge, die Analysis Mode ähnelt.
    8392        /// </summary>
     
    98107       
    99108        /// <summary>
     109        ///   Sucht eine lokalisierte Zeichenfolge, die Analysis Step: ähnelt.
     110        /// </summary>
     111        public static string AnalysisStep {
     112            get {
     113                return ResourceManager.GetString("AnalysisStep", resourceCulture);
     114            }
     115        }
     116       
     117        /// <summary>
    100118        ///   Sucht eine lokalisierte Zeichenfolge, die Analysis Type ähnelt.
    101119        /// </summary>
     
    809827       
    810828        /// <summary>
     829        ///   Sucht eine lokalisierte Zeichenfolge, die Search From: ähnelt.
     830        /// </summary>
     831        public static string SearchFrom {
     832            get {
     833                return ResourceManager.GetString("SearchFrom", resourceCulture);
     834            }
     835        }
     836       
     837        /// <summary>
     838        ///   Sucht eine lokalisierte Zeichenfolge, die Search To: ähnelt.
     839        /// </summary>
     840        public static string SearchTo {
     841            get {
     842                return ResourceManager.GetString("SearchTo", resourceCulture);
     843            }
     844        }
     845       
     846        /// <summary>
    811847        ///   Sucht eine lokalisierte Zeichenfolge, die Start Time: ähnelt.
    812848        /// </summary>
     
    814850            get {
    815851                return ResourceManager.GetString("StartLabel", resourceCulture);
    816             }
    817         }
    818        
    819         /// <summary>
    820         ///   Sucht eine lokalisierte Zeichenfolge, die Analysis Step: ähnelt.
    821         /// </summary>
    822         public static string StepLabel {
    823             get {
    824                 return ResourceManager.GetString("StepLabel", resourceCulture);
    825852            }
    826853        }
  • trunk/CrypPlugins/EnigmaAnalyzer/Properties/Resources.de.resx

    r8889 r8893  
    124124    <value>Verwende diese Sprache für die Kostenfunktion.</value>
    125125  </data>
     126  <data name="AnalysisMode" xml:space="preserve">
     127    <value>Analyse Modus:</value>
     128  </data>
    126129  <data name="AnalysisModeCaption" xml:space="preserve">
    127130    <value>Analysemodus</value>
     
    130133    <value>Welcher Kryptoanalysemodus soll ausgeführt werden?</value>
    131134  </data>
     135  <data name="AnalysisStep" xml:space="preserve">
     136    <value>Analyseschritt:</value>
     137  </data>
    132138  <data name="AnalysisTypeGroup" xml:space="preserve">
    133139    <value>Analyseverfahren</value>
     
    367373    <value>Rotorstellungen</value>
    368374  </data>
     375  <data name="SearchFrom" xml:space="preserve">
     376    <value>Suche von:</value>
     377  </data>
     378  <data name="SearchTo" xml:space="preserve">
     379    <value>Suche bis:</value>
     380  </data>
    369381  <data name="StartLabel" xml:space="preserve">
    370382    <value>Startzeit:</value>
    371383  </data>
    372   <data name="StepLabel" xml:space="preserve">
    373     <value>Analyseschritt:</value>
    374   </data>
    375384  <data name="TextHeader" xml:space="preserve">
    376385    <value>Text</value>
  • trunk/CrypPlugins/EnigmaAnalyzer/Properties/Resources.resx

    r8889 r8893  
    124124    <value>Use this language for the cost function.</value>
    125125  </data>
     126  <data name="AnalysisMode" xml:space="preserve">
     127    <value>Analysis Mode:</value>
     128  </data>
    126129  <data name="AnalysisModeCaption" xml:space="preserve">
    127130    <value>Analysis Mode</value>
     
    130133    <value>Which cryptanalysis mode should be performed?</value>
    131134  </data>
     135  <data name="AnalysisStep" xml:space="preserve">
     136    <value>Analysis Step:</value>
     137  </data>
    132138  <data name="AnalysisTypeGroup" xml:space="preserve">
    133139    <value>Analysis Type</value>
     
    367373    <value>Rotor Positions</value>
    368374  </data>
     375  <data name="SearchFrom" xml:space="preserve">
     376    <value>Search From:</value>
     377  </data>
     378  <data name="SearchTo" xml:space="preserve">
     379    <value>Search To:</value>
     380  </data>
    369381  <data name="StartLabel" xml:space="preserve">
    370382    <value>Start Time:</value>
    371383  </data>
    372   <data name="StepLabel" xml:space="preserve">
    373     <value>Analysis Step:</value>
    374   </data>
    375384  <data name="TextHeader" xml:space="preserve">
    376385    <value>Text</value>
  • trunk/LibSource/CrypAnalysisViewControl/Themes/Generic.xaml

    r8393 r8893  
    116116
    117117    <Style TargetType="{x:Type local:CrypAnalysisResultListView}">
     118        <Setter Property="FontFamily" Value="Courier New"/>
    118119        <Setter Property="Background" Value="Transparent" />
    119120        <Setter Property="FontSize" Value="10" />
Note: See TracChangeset for help on using the changeset viewer.