Changeset 8140


Ignore:
Timestamp:
May 31, 2019, 2:43:49 PM (3 years ago)
Author:
Christian Bender
Message:

DCAPathFinder: Implementation of the UI
ToyCiphers: Improvement of the description

Location:
trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPluginsExperimental/DCAPathFinder/DCAPathFinder.cs

    r8137 r8140  
    1515*/
    1616
     17using System;
    1718using System.ComponentModel;
    1819using System.Windows.Controls;
     
    3435        private int _expectedDifferential;
    3536        private int _messageCount;
     37        private int[] _path;
    3638
    3739        #endregion
    3840
    3941        #region Data Properties
     42
     43        /// <summary>
     44        /// This output describes the characteristic path
     45        /// </summary>
     46        [PropertyInfo(Direction.OutputData, "Path", "PathToolTip")]
     47        public int[] Path
     48        {
     49            get { return _path; }
     50            set
     51            {
     52                _path = value;
     53                OnPropertyChanged("Path");
     54            }
     55        }
    4056
    4157        /// <summary>
  • trunk/CrypPluginsExperimental/DCAPathFinder/DCAPathFinder.csproj

    r8137 r8140  
    7979      <DependentUpon>DCAPathFinderPres.xaml</DependentUpon>
    8080    </Compile>
     81    <Compile Include="UI\Overview.xaml.cs">
     82      <DependentUpon>Overview.xaml</DependentUpon>
     83    </Compile>
     84    <Compile Include="UI\StartMask.xaml.cs">
     85      <DependentUpon>StartMask.xaml</DependentUpon>
     86    </Compile>
     87    <Compile Include="UI\TutorialDescriptions.xaml.cs">
     88      <DependentUpon>TutorialDescriptions.xaml</DependentUpon>
     89    </Compile>
    8190  </ItemGroup>
    8291  <ItemGroup>
     
    122131      <Generator>MSBuild:Compile</Generator>
    123132    </Page>
     133    <Page Include="UI\Overview.xaml">
     134      <SubType>Designer</SubType>
     135      <Generator>MSBuild:Compile</Generator>
     136    </Page>
     137    <Page Include="UI\StartMask.xaml">
     138      <SubType>Designer</SubType>
     139      <Generator>MSBuild:Compile</Generator>
     140    </Page>
     141    <Page Include="UI\TutorialDescriptions.xaml">
     142      <SubType>Designer</SubType>
     143      <Generator>MSBuild:Compile</Generator>
     144    </Page>
     145  </ItemGroup>
     146  <ItemGroup>
     147    <Folder Include="UI\Controls\" />
     148  </ItemGroup>
     149  <ItemGroup>
     150    <Resource Include="Images\next-button.png" />
     151    <Resource Include="Images\prev-button.png" />
    124152  </ItemGroup>
    125153  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • trunk/CrypPluginsExperimental/DCAPathFinder/Properties/Resources.Designer.cs

    r8137 r8140  
    6262       
    6363        /// <summary>
     64        ///   Sucht eine lokalisierte Zeichenfolge, die Skip chapter ähnelt.
     65        /// </summary>
     66        internal static string BtnSkipChapter {
     67            get {
     68                return ResourceManager.GetString("BtnSkipChapter", resourceCulture);
     69            }
     70        }
     71       
     72        /// <summary>
    6473        ///   Sucht eine lokalisierte Zeichenfolge, die Choice of the algorithm ähnelt.
    6574        /// </summary>
     
    8089       
    8190        /// <summary>
    82         ///   Sucht eine lokalisierte Zeichenfolge, die 16 bit blocksize, 2 subkeys, the key consists of 32 bit ähnelt.
     91        ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 1: 16 bit blocksize, 2 subkeys, the key consists of 32 bit ähnelt.
    8392        /// </summary>
    8493        internal static string Cipher1 {
     
    8998       
    9099        /// <summary>
    91         ///   Sucht eine lokalisierte Zeichenfolge, die 16 bit blocksize, 4 subkeys, the key consists of 64 bit ähnelt.
     100        ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 2: 16 bit blocksize, 4 subkeys, the key consists of 64 bit ähnelt.
    92101        /// </summary>
    93102        internal static string Cipher2 {
     
    98107       
    99108        /// <summary>
    100         ///   Sucht eine lokalisierte Zeichenfolge, die 16 bit blocksize, 6 subkeys, the key consists of 96 bit ähnelt.
     109        ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 3: 16 bit blocksize, 6 subkeys, the key consists of 96 bit ähnelt.
    101110        /// </summary>
    102111        internal static string Cipher3 {
     
    107116       
    108117        /// <summary>
    109         ///   Sucht eine lokalisierte Zeichenfolge, die 4 bit blocksize, 4 subkeys, the key consists of 16 bit ähnelt.
     118        ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 4: 4 bit blocksize, 4 subkeys, the key consists of 16 bit ähnelt.
    110119        /// </summary>
    111120        internal static string Cipher4 {
     
    116125       
    117126        /// <summary>
     127        ///   Sucht eine lokalisierte Zeichenfolge, die In the settings of this component, you can switch between the tutorials. The following is a short description of the ciphers of the individual parts of the tutorial: ähnelt.
     128        /// </summary>
     129        internal static string DescriptionContent1 {
     130            get {
     131                return ResourceManager.GetString("DescriptionContent1", resourceCulture);
     132            }
     133        }
     134       
     135        /// <summary>
     136        ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 1 uses cipher 1 of the ToyChiffren component. This cipher works on 16 bit blocks and uses two round keys. One encryption round is executed. In this tutorial two unknown 16 bit round keys are restored. ähnelt.
     137        /// </summary>
     138        internal static string DescriptionContent2 {
     139            get {
     140                return ResourceManager.GetString("DescriptionContent2", resourceCulture);
     141            }
     142        }
     143       
     144        /// <summary>
     145        ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 2 uses cipher 2 of the ToyChiffren component. This cipher works on 16 bit blocks and uses four round keys. Three encryption rounds are executed. In this tutorial four unknown 16 bit roundkeys are restored. ähnelt.
     146        /// </summary>
     147        internal static string DescriptionContent3 {
     148            get {
     149                return ResourceManager.GetString("DescriptionContent3", resourceCulture);
     150            }
     151        }
     152       
     153        /// <summary>
     154        ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 3 uses cipher 3 of the ToyChiffren component. This cipher works on 16 bit blocks and uses six round keys. Five encryption rounds are executed. In this tutorial six unknown 16 bit round keys are restored. ähnelt.
     155        /// </summary>
     156        internal static string DescriptionContent4 {
     157            get {
     158                return ResourceManager.GetString("DescriptionContent4", resourceCulture);
     159            }
     160        }
     161       
     162        /// <summary>
     163        ///   Sucht eine lokalisierte Zeichenfolge, die Description of the Tutorials ähnelt.
     164        /// </summary>
     165        internal static string DescriptionHeader {
     166            get {
     167                return ResourceManager.GetString("DescriptionHeader", resourceCulture);
     168            }
     169        }
     170       
     171        /// <summary>
     172        ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 1 ähnelt.
     173        /// </summary>
     174        internal static string DescriptionSubHeader1 {
     175            get {
     176                return ResourceManager.GetString("DescriptionSubHeader1", resourceCulture);
     177            }
     178        }
     179       
     180        /// <summary>
     181        ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 2 ähnelt.
     182        /// </summary>
     183        internal static string DescriptionSubHeader2 {
     184            get {
     185                return ResourceManager.GetString("DescriptionSubHeader2", resourceCulture);
     186            }
     187        }
     188       
     189        /// <summary>
     190        ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 3 ähnelt.
     191        /// </summary>
     192        internal static string DescriptionSubHeader3 {
     193            get {
     194                return ResourceManager.GetString("DescriptionSubHeader3", resourceCulture);
     195            }
     196        }
     197       
     198        /// <summary>
    118199        ///   Sucht eine lokalisierte Zeichenfolge, die Expected difference ähnelt.
    119200        /// </summary>
     
    152233       
    153234        /// <summary>
     235        ///   Sucht eine lokalisierte Zeichenfolge, die Welcome to the differential cryptanalysis tutorial. This method for the analysis of turn-based symmetric block ciphers aims at recovering single bits up to complete lap keys. This procedure was published in 1991 by the two Israeli researchers, Eli Biham and Adi Shamir. ähnelt.
     236        /// </summary>
     237        internal static string OverviewContent1 {
     238            get {
     239                return ResourceManager.GetString("OverviewContent1", resourceCulture);
     240            }
     241        }
     242       
     243        /// <summary>
     244        ///   Sucht eine lokalisierte Zeichenfolge, die In this tutorial this procedure is presented in three parts. Part one teaches the basic idea of differential cryptanalysis by analyzing a cipher with an encryption round. Part two expands this idea to three encryption rounds. In part three the knowledge is deepened by increasing the complexity of the cipher to 5 encryption rounds. ähnelt.
     245        /// </summary>
     246        internal static string OverviewContent2 {
     247            get {
     248                return ResourceManager.GetString("OverviewContent2", resourceCulture);
     249            }
     250        }
     251       
     252        /// <summary>
     253        ///   Sucht eine lokalisierte Zeichenfolge, die In the configuration of this component the different parts of the tutorial can be selected. ähnelt.
     254        /// </summary>
     255        internal static string OverviewContent3 {
     256            get {
     257                return ResourceManager.GetString("OverviewContent3", resourceCulture);
     258            }
     259        }
     260       
     261        /// <summary>
     262        ///   Sucht eine lokalisierte Zeichenfolge, die Have fun trying out and breaking the ciphers! ähnelt.
     263        /// </summary>
     264        internal static string OverviewContent4 {
     265            get {
     266                return ResourceManager.GetString("OverviewContent4", resourceCulture);
     267            }
     268        }
     269       
     270        /// <summary>
     271        ///   Sucht eine lokalisierte Zeichenfolge, die Differential Cryptanalysis Tutorial ähnelt.
     272        /// </summary>
     273        internal static string OverviewHeader {
     274            get {
     275                return ResourceManager.GetString("OverviewHeader", resourceCulture);
     276            }
     277        }
     278       
     279        /// <summary>
     280        ///   Sucht eine lokalisierte Zeichenfolge, die Path of the characteristic ähnelt.
     281        /// </summary>
     282        internal static string Path {
     283            get {
     284                return ResourceManager.GetString("Path", resourceCulture);
     285            }
     286        }
     287       
     288        /// <summary>
     289        ///   Sucht eine lokalisierte Zeichenfolge, die These values describe the flow of the difference values through a cipher.  ähnelt.
     290        /// </summary>
     291        internal static string PathToolTip {
     292            get {
     293                return ResourceManager.GetString("PathToolTip", resourceCulture);
     294            }
     295        }
     296       
     297        /// <summary>
    154298        ///   Sucht eine lokalisierte Zeichenfolge, die DCA PathFinder ähnelt.
    155299        /// </summary>
     
    166310            get {
    167311                return ResourceManager.GetString("PluginTooltip", resourceCulture);
    168             }
    169         }
    170        
    171         /// <summary>
    172         ///   Sucht eine lokalisierte Zeichenfolge, die  ähnelt.
    173         /// </summary>
    174         internal static string String1 {
    175             get {
    176                 return ResourceManager.GetString("String1", resourceCulture);
    177312            }
    178313        }
  • trunk/CrypPluginsExperimental/DCAPathFinder/Properties/Resources.de.resx

    r8137 r8140  
    118118    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    119119  </resheader>
     120  <data name="BtnSkipChapter" xml:space="preserve">
     121    <value>Kapitel überspringen</value>
     122  </data>
    120123  <data name="ChoiceOfAlgorithm" xml:space="preserve">
    121124    <value>Wahl des Algorithmus</value>
     
    125128  </data>
    126129  <data name="Cipher1" xml:space="preserve">
    127     <value>16 Bit Blockgröße, 2 Rundenschlüssel, der Schlüssel ist 32 Bit groß</value>
     130    <value>Chiffre 1: 16 Bit Blockgröße, 2 Rundenschlüssel, der Schlüssel ist 32 Bit groß</value>
    128131  </data>
    129132  <data name="Cipher2" xml:space="preserve">
    130     <value>16 Bit Blockgröße, 4 Rundenschlüssel, der Schlüssel ist 64 Bit groß</value>
     133    <value>Chiffre 2: 16 Bit Blockgröße, 4 Rundenschlüssel, der Schlüssel ist 64 Bit groß</value>
    131134  </data>
    132135  <data name="Cipher3" xml:space="preserve">
    133     <value>16 Bit Blockgröße, 6 Rundenschlüssel, der Schlüssel ist 96 Bit groß</value>
     136    <value>Chiffre 3: 16 Bit Blockgröße, 6 Rundenschlüssel, der Schlüssel ist 96 Bit groß</value>
    134137  </data>
    135138  <data name="Cipher4" xml:space="preserve">
    136     <value>4 Bit Blockgröße , 4 Rundenschlüssel, der Schlüssel ist 16 Bit groß</value>
     139    <value>Chiffre 4: 4 Bit Blockgröße , 4 Rundenschlüssel, der Schlüssel ist 16 Bit groß</value>
     140  </data>
     141  <data name="DescriptionContent1" xml:space="preserve">
     142    <value>In den Einstellungen dieser Komponente können Sie zwischen den Tutorials wechseln. Es folgt eine kurze Beschreibung der Chiffren der einzelnen Teile des Tutorials:</value>
     143  </data>
     144  <data name="DescriptionContent2" xml:space="preserve">
     145    <value>Tutorial 1 verwendet Chiffre 1 der ToyChiffren-Komponente. Diese Chiffre arbeitet auf 16 Bit Blöcken und verwendet zwei Rundenschlüssel. Es wird eine Verschlüsselungsrunde ausgeführt. In diesem Tutorial werden zwei unbekannte je 16 Bit große Rundenschlüssel wiederhergestellt.</value>
     146  </data>
     147  <data name="DescriptionContent3" xml:space="preserve">
     148    <value>Tutorial 2 verwendet Chiffre 2 der ToyChiffren-Komponente. Diese Chiffre arbeitet auf 16 Bit Blöcken und verwendet vier Rundenschlüssel. Es werden drei Verschlüsselungsrunden ausgeführt. In diesem Tutorial werden vier unbekannte je 16 Bit große Rundenschlüssel wiederhergestellt.</value>
     149  </data>
     150  <data name="DescriptionContent4" xml:space="preserve">
     151    <value>Tutorial 3 verwendet Chiffre 3 der ToyChiffren-Komponente. Diese Chiffre arbeitet auf 16 Bit Blöcken und verwendet sechs Rundenschlüssel. Es werden fünf Verschlüsselungsrunden ausgeführt. In diesem Tutorial werden sechs unbekannte je 16 Bit große Rundenschlüssel wiederhergestellt.</value>
     152  </data>
     153  <data name="DescriptionHeader" xml:space="preserve">
     154    <value>Beschreibung der Tutorials</value>
     155  </data>
     156  <data name="DescriptionSubHeader1" xml:space="preserve">
     157    <value>Tutorial 1</value>
     158  </data>
     159  <data name="DescriptionSubHeader2" xml:space="preserve">
     160    <value>Tutorial 2</value>
     161  </data>
     162  <data name="DescriptionSubHeader3" xml:space="preserve">
     163    <value>Tutorial 3</value>
    137164  </data>
    138165  <data name="ExpectedDifferential" xml:space="preserve">
     
    148175    <value>Die Nachrichtenanzahl spezifiziert die Anzahl an Nachrichten, die das Orakel generieren soll</value>
    149176  </data>
     177  <data name="OverviewContent1" xml:space="preserve">
     178    <value>Herzlich Willkommen zum Tutorial zur differenziellen Kryptoanalyse. Dieses Verfahren zur Analyse rundenbasierter symmetrischer Blockchiffren hat das Ziel, einzelne Bits bis hin zu vollständigen Rundenschlüsseln wiederherzustellen. Veröffentlicht wurde dieses Verfahren 1991 von den zwei israelischen Forschern Eli Biham und Adi Shamir. </value>
     179  </data>
     180  <data name="OverviewContent2" xml:space="preserve">
     181    <value>In diesem Tutorial wird dieses Verfahren in drei Teilen präsentiert. Teil eins vermittelt die Grundlegende Idee der differenziellen Kryptoanalyse durch die Analyse einer Chiffre mit einer Verschlüsselungsrunde. Teil zwei beschreibt erweitert diese Idee auf drei Verschlüsselungsrunden. In Teil drei wird das vermittelte Wissen vertieft durch Erhöhung der Komplexität der Chiffre auf 5 Verschlüsselungsrunden.</value>
     182  </data>
     183  <data name="OverviewContent3" xml:space="preserve">
     184    <value>In der Konfiguration dieser Komponente können die verschiedenen Teile des Tutorials ausgewählt werden.</value>
     185  </data>
     186  <data name="OverviewContent4" xml:space="preserve">
     187    <value>Viel Spaß beim ausprobieren und brechen der Chiffren!</value>
     188  </data>
     189  <data name="OverviewHeader" xml:space="preserve">
     190    <value>Differenzielle Kryptoanalyse Tutorial</value>
     191  </data>
     192  <data name="Path" xml:space="preserve">
     193    <value>Pfad der Charakteristik</value>
     194  </data>
     195  <data name="PathToolTip" xml:space="preserve">
     196    <value>Diese Werte beschreiben den Fluss der Differenzwerte durch eine Chiffre.</value>
     197  </data>
    150198  <data name="PluginCaption" xml:space="preserve">
    151199    <value>DCA PfadFinder</value>
  • trunk/CrypPluginsExperimental/DCAPathFinder/Properties/Resources.resx

    r8137 r8140  
    118118    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    119119  </resheader>
     120  <data name="BtnSkipChapter" xml:space="preserve">
     121    <value>Skip chapter</value>
     122  </data>
    120123  <data name="ChoiceOfAlgorithm" xml:space="preserve">
    121124    <value>Choice of the algorithm</value>
     
    125128  </data>
    126129  <data name="Cipher1" xml:space="preserve">
    127     <value>16 bit blocksize, 2 subkeys, the key consists of 32 bit</value>
     130    <value>Cipher 1: 16 bit blocksize, 2 subkeys, the key consists of 32 bit</value>
    128131  </data>
    129132  <data name="Cipher2" xml:space="preserve">
    130     <value>16 bit blocksize, 4 subkeys, the key consists of 64 bit</value>
     133    <value>Cipher 2: 16 bit blocksize, 4 subkeys, the key consists of 64 bit</value>
    131134  </data>
    132135  <data name="Cipher3" xml:space="preserve">
    133     <value>16 bit blocksize, 6 subkeys, the key consists of 96 bit</value>
     136    <value>Cipher 3: 16 bit blocksize, 6 subkeys, the key consists of 96 bit</value>
    134137  </data>
    135138  <data name="Cipher4" xml:space="preserve">
    136     <value>4 bit blocksize, 4 subkeys, the key consists of 16 bit</value>
     139    <value>Cipher 4: 4 bit blocksize, 4 subkeys, the key consists of 16 bit</value>
     140  </data>
     141  <data name="DescriptionContent1" xml:space="preserve">
     142    <value>In the settings of this component, you can switch between the tutorials. The following is a short description of the ciphers of the individual parts of the tutorial:</value>
     143  </data>
     144  <data name="DescriptionContent2" xml:space="preserve">
     145    <value>Tutorial 1 uses cipher 1 of the ToyChiffren component. This cipher works on 16 bit blocks and uses two round keys. One encryption round is executed. In this tutorial two unknown 16 bit round keys are restored.</value>
     146  </data>
     147  <data name="DescriptionContent3" xml:space="preserve">
     148    <value>Tutorial 2 uses cipher 2 of the ToyChiffren component. This cipher works on 16 bit blocks and uses four round keys. Three encryption rounds are executed. In this tutorial four unknown 16 bit roundkeys are restored.</value>
     149  </data>
     150  <data name="DescriptionContent4" xml:space="preserve">
     151    <value>Tutorial 3 uses cipher 3 of the ToyChiffren component. This cipher works on 16 bit blocks and uses six round keys. Five encryption rounds are executed. In this tutorial six unknown 16 bit round keys are restored.</value>
     152  </data>
     153  <data name="DescriptionHeader" xml:space="preserve">
     154    <value>Description of the Tutorials</value>
     155  </data>
     156  <data name="DescriptionSubHeader1" xml:space="preserve">
     157    <value>Tutorial 1</value>
     158  </data>
     159  <data name="DescriptionSubHeader2" xml:space="preserve">
     160    <value>Tutorial 2</value>
     161  </data>
     162  <data name="DescriptionSubHeader3" xml:space="preserve">
     163    <value>Tutorial 3</value>
    137164  </data>
    138165  <data name="ExpectedDifferential" xml:space="preserve">
     
    148175    <value>The number of messages specifies the number of messages the oracle should generate.</value>
    149176  </data>
     177  <data name="OverviewContent1" xml:space="preserve">
     178    <value>Welcome to the differential cryptanalysis tutorial. This method for the analysis of turn-based symmetric block ciphers aims at recovering single bits up to complete lap keys. This procedure was published in 1991 by the two Israeli researchers, Eli Biham and Adi Shamir.</value>
     179  </data>
     180  <data name="OverviewContent2" xml:space="preserve">
     181    <value>In this tutorial this procedure is presented in three parts. Part one teaches the basic idea of differential cryptanalysis by analyzing a cipher with an encryption round. Part two expands this idea to three encryption rounds. In part three the knowledge is deepened by increasing the complexity of the cipher to 5 encryption rounds.</value>
     182  </data>
     183  <data name="OverviewContent3" xml:space="preserve">
     184    <value>In the configuration of this component the different parts of the tutorial can be selected.</value>
     185  </data>
     186  <data name="OverviewContent4" xml:space="preserve">
     187    <value>Have fun trying out and breaking the ciphers!</value>
     188  </data>
     189  <data name="OverviewHeader" xml:space="preserve">
     190    <value>Differential Cryptanalysis Tutorial</value>
     191  </data>
     192  <data name="Path" xml:space="preserve">
     193    <value>Path of the characteristic</value>
     194  </data>
     195  <data name="PathToolTip" xml:space="preserve">
     196    <value>These values describe the flow of the difference values through a cipher. </value>
     197  </data>
    150198  <data name="PluginCaption" xml:space="preserve">
    151199    <value>DCA PathFinder</value>
     
    154202    <value>The DCA PathFinder component searches for differentials in a symmetric block cipher depending on parameters specified by the user.</value>
    155203  </data>
    156   <data name="String1" xml:space="preserve">
    157     <value />
    158   </data>
    159204</root>
  • trunk/CrypPluginsExperimental/DCAPathFinder/UI/DCAPathFinderPres.xaml

    r8137 r8140  
    88             d:DesignHeight="450" d:DesignWidth="800">
    99    <Grid>
    10         <Label HorizontalAlignment="Center" Content="DCA PathFinder" ></Label>
     10        <Grid.ColumnDefinitions>
     11            <ColumnDefinition Width="*"></ColumnDefinition>
     12        </Grid.ColumnDefinitions>
     13        <Grid.RowDefinitions>
     14            <RowDefinition Height="*"></RowDefinition>
     15            <RowDefinition Height="20"></RowDefinition>
     16        </Grid.RowDefinitions>
     17        <!-- Viewbox for Content -->
     18        <Viewbox Grid.Row="0" Name="ContentViewBox" VerticalAlignment="Top" Stretch="Uniform">
     19
     20        </Viewbox>
     21        <!-- Footer of the slides -->
     22        <StackPanel Grid.Row="1" HorizontalAlignment="Center" Orientation="Horizontal">
     23            <Button Name="BtnPrevious" HorizontalAlignment="Center" Margin="5,0,5,0" Click="BtnPreviousClicked">
     24                <Image Source="/DCAPathFinder;component/images/prev-button.png"/>
     25            </Button>
     26            <Button Name="BtnNext" HorizontalAlignment="Center" Margin="5,0,5,0" Click="BtnNextClicked">
     27                <Image Source="/DCAPathFinder;component/images/next-button.png"/>
     28            </Button>
     29            <Button Name="BtnSkip" Content="{Loc BtnSkipChapter}" HorizontalAlignment="Center" Margin="5,0,5,0"></Button>
     30        </StackPanel>
    1131    </Grid>
    1232</UserControl>
  • trunk/CrypPluginsExperimental/DCAPathFinder/UI/DCAPathFinderPres.xaml.cs

    r8137 r8140  
    1 using System;
    2 using System.Collections.Generic;
    3 using System.Linq;
    4 using System.Text;
    5 using System.Threading.Tasks;
    6 using System.Windows;
     1using System.Windows;
    72using System.Windows.Controls;
    8 using System.Windows.Data;
    9 using System.Windows.Documents;
    10 using System.Windows.Input;
    11 using System.Windows.Media;
    12 using System.Windows.Media.Imaging;
    13 using System.Windows.Navigation;
    14 using System.Windows.Shapes;
    153
    164namespace DCAPathFinder.UI
     
    197    /// Interaktionslogik für DCAPathFinderPres.xaml
    208    /// </summary>
     9    [Cryptool.PluginBase.Attributes.Localization("DCAPathFinder.Properties.Resources")]
    2110    public partial class DCAPathFinderPres : UserControl
    2211    {
     12        private int _stepCounter;
     13
     14        /// <summary>
     15        /// Constructor
     16        /// </summary>
    2317        public DCAPathFinderPres()
    2418        {
     19            _stepCounter = 0;
     20
    2521            InitializeComponent();
     22
     23            SetupView();
     24        }
     25
     26        /// <summary>
     27        /// Handles the different views
     28        /// </summary>
     29        private void SetupView()
     30        {
     31            switch (_stepCounter)
     32            {
     33                case 0:
     34                {
     35                    ContentViewBox.Child = new Overview();
     36                }
     37                    break;
     38                case 1:
     39                {
     40                    ContentViewBox.Child = new TutorialDescriptions();
     41                }
     42                    break;
     43            }
     44        }
     45
     46        /// <summary>
     47        /// Handles a next step
     48        /// </summary>
     49        /// <param name="sender"></param>
     50        /// <param name="e"></param>
     51        private void BtnNextClicked(object sender, RoutedEventArgs e)
     52        {
     53            //increment to go to the next step
     54            _stepCounter++;
     55            SetupView();
     56        }
     57
     58        /// <summary>
     59        /// Handles a previous step
     60        /// </summary>
     61        /// <param name="sender"></param>
     62        /// <param name="e"></param>
     63        private void BtnPreviousClicked(object sender, RoutedEventArgs e)
     64        {
     65            //decrement to go to the previous step
     66            _stepCounter--;
     67            SetupView();
     68        }
     69
     70        /// <summary>
     71        /// Handles a skip chapter operation
     72        /// </summary>
     73        /// <param name="sender"></param>
     74        /// <param name="e"></param>
     75        private void BtnSkipChapterClicked(object sender, RoutedEventArgs e)
     76        {
     77
    2678        }
    2779    }
  • trunk/CrypPluginsExperimental/ToyCiphers/Properties/Resources.Designer.cs

    r8138 r8140  
    8989       
    9090        /// <summary>
    91         ///   Sucht eine lokalisierte Zeichenfolge, die 16 bit blocksize, 2 subkeys, the key consists of 32 bit ähnelt.
     91        ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 1: 16 bit blocksize, 2 subkeys, the key consists of 32 bit ähnelt.
    9292        /// </summary>
    9393        internal static string Cipher1 {
     
    134134       
    135135        /// <summary>
    136         ///   Sucht eine lokalisierte Zeichenfolge, die 16 bit blocksize, 4 subkeys, the key consists of 64 bit ähnelt.
     136        ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 2: 16 bit blocksize, 4 subkeys, the key consists of 64 bit ähnelt.
    137137        /// </summary>
    138138        internal static string Cipher2 {
     
    179179       
    180180        /// <summary>
    181         ///   Sucht eine lokalisierte Zeichenfolge, die 16 bit blocksize, 6 subkeys, the key consists of 96 bit ähnelt.
     181        ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 3: 16 bit blocksize, 6 subkeys, the key consists of 96 bit ähnelt.
    182182        /// </summary>
    183183        internal static string Cipher3 {
     
    226226       
    227227        /// <summary>
    228         ///   Sucht eine lokalisierte Zeichenfolge, die 4 bit blocksize, 4 subkeys, the key consists of 16 bit ähnelt.
     228        ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 4: 4 bit blocksize, 4 subkeys, the key consists of 16 bit ähnelt.
    229229        /// </summary>
    230230        internal static string Cipher4 {
  • trunk/CrypPluginsExperimental/ToyCiphers/Properties/Resources.de.resx

    r8138 r8140  
    128128  </data>
    129129  <data name="Cipher1" xml:space="preserve">
    130     <value>16 Bit Blockgröße, 2 Rundenschlüssel, der Schlüssel ist 32 Bit groß</value>
     130    <value>Ciffre 1: 16 Bit Blockgröße, 2 Rundenschlüssel, der Schlüssel ist 32 Bit groß</value>
    131131  </data>
    132132  <data name="Cipher1LblHeading" xml:space="preserve">
     
    143143  </data>
    144144  <data name="Cipher2" xml:space="preserve">
    145     <value>16 Bit Blockgröße, 4 Rundenschlüssel, der Schlüssel ist 64 Bit groß</value>
     145    <value>Chiffre 2: 16 Bit Blockgröße, 4 Rundenschlüssel, der Schlüssel ist 64 Bit groß</value>
    146146  </data>
    147147  <data name="Cipher2LblHeading" xml:space="preserve">
     
    158158  </data>
    159159  <data name="Cipher3" xml:space="preserve">
    160     <value>16 Bit Blockgröße, 6 Rundenschlüssel, der Schlüssel ist 96 Bit groß</value>
     160    <value>Chiffre 3: 16 Bit Blockgröße, 6 Rundenschlüssel, der Schlüssel ist 96 Bit groß</value>
    161161  </data>
    162162  <data name="Cipher3LblHeading" xml:space="preserve">
     
    173173  </data>
    174174  <data name="Cipher4" xml:space="preserve">
    175     <value>4 Bit Blockgröße , 4 Rundenschlüssel, der Schlüssel ist 16 Bit groß</value>
     175    <value>Chiffre 4: 4 Bit Blockgröße , 4 Rundenschlüssel, der Schlüssel ist 16 Bit groß</value>
    176176  </data>
    177177  <data name="Cipher4LblHeading" xml:space="preserve">
     
    238238    <value>An diesem Ausgang wird eine verschlüsselte Nachricht ausgegeben</value>
    239239  </data>
     240  <data name="StartMaskContent1" xml:space="preserve">
     241    <value>Durch Starten des Workspaces beginnt die differenzielle Kryptoanalyse. Zunächst wird in dieser Komponente die Chiffre analysiert. In der "Pfad</value>
     242  </data>
     243  <data name="StartMaskHeader" xml:space="preserve">
     244    <value>Bereit zur Ausführung</value>
     245  </data>
    240246  <data name="TablePermutationInput" xml:space="preserve">
    241247    <value>Position in Eingabe</value>
  • trunk/CrypPluginsExperimental/ToyCiphers/Properties/Resources.resx

    r8138 r8140  
    128128  </data>
    129129  <data name="Cipher1" xml:space="preserve">
    130     <value>16 bit blocksize, 2 subkeys, the key consists of 32 bit</value>
     130    <value>Cipher 1: 16 bit blocksize, 2 subkeys, the key consists of 32 bit</value>
    131131  </data>
    132132  <data name="Cipher1LblHeading" xml:space="preserve">
     
    143143  </data>
    144144  <data name="Cipher2" xml:space="preserve">
    145     <value>16 bit blocksize, 4 subkeys, the key consists of 64 bit</value>
     145    <value>Cipher 2: 16 bit blocksize, 4 subkeys, the key consists of 64 bit</value>
    146146  </data>
    147147  <data name="Cipher2LblHeading" xml:space="preserve">
     
    158158  </data>
    159159  <data name="Cipher3" xml:space="preserve">
    160     <value>16 bit blocksize, 6 subkeys, the key consists of 96 bit</value>
     160    <value>Cipher 3: 16 bit blocksize, 6 subkeys, the key consists of 96 bit</value>
    161161  </data>
    162162  <data name="Cipher3LblHeading" xml:space="preserve">
     
    175175  </data>
    176176  <data name="Cipher4" xml:space="preserve">
    177     <value>4 bit blocksize, 4 subkeys, the key consists of 16 bit</value>
     177    <value>Cipher 4: 4 bit blocksize, 4 subkeys, the key consists of 16 bit</value>
    178178  </data>
    179179  <data name="Cipher4LblHeading" xml:space="preserve">
  • trunk/CrypPluginsExperimental/ToyCiphers/ToyCiphers.cs

    r8137 r8140  
    201201            }
    202202
     203            ProgressChanged(0.05, 1);
     204
    203205            if (!_subkeysSatisfied)
    204206            {
     
    233235            }
    234236
     237            ProgressChanged(0.1, 1);
     238
     239            double step = 0.8 / messageList.Count;
     240            double current = 0.1;
     241
    235242            //encrypt all messages
    236243            foreach (var message in messageList)
     
    238245                int encryptedMessage = _currentCipher.EncryptBlock(message);
    239246                encryptedMessageList.Add(Convert.ToUInt16(encryptedMessage));
     247                current += step;
     248                ProgressChanged(current, 1);
    240249            }
    241250           
     
    243252            using (CStreamWriter writer = new CStreamWriter())
    244253            {
    245                 foreach (var enctyptedMessage in encryptedMessageList)
    246                 {
    247                     byte[] outputBlock = BitConverter.GetBytes(enctyptedMessage);
     254                foreach (var encryptedMessage in encryptedMessageList)
     255                {
     256                    byte[] outputBlock = BitConverter.GetBytes(encryptedMessage);
    248257                    writer.Write(outputBlock, 0, outputBlock.Length);
    249258                }
Note: See TracChangeset for help on using the changeset viewer.