Changeset 8156


Ignore:
Timestamp:
Jun 6, 2019, 6:27:23 PM (3 years ago)
Author:
Christian Bender
Message:

ToyCiphers: improvement of formulations
DCAOracle: implementation

Location:
trunk
Files:
1 added
14 edited

Legend:

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

    r8154 r8156  
    1515*/
    1616
     17using System;
     18using System.Collections.Generic;
    1719using System.ComponentModel;
    1820using System.Windows.Controls;
    1921using Cryptool.PluginBase;
    2022using Cryptool.PluginBase.Miscellaneous;
     23using DCAOracle;
    2124
    2225namespace Cryptool.Plugins.DCAOracle
     
    3033
    3134        private readonly DCAOracleSettings _settings = new DCAOracleSettings();
     35        private readonly Random _random = new Random();
    3236        private int _messsageDifference;
    3337        private int _messagePairsCount;
     
    4145        /// Property for the count of message pairs
    4246        /// </summary>
    43         [PropertyInfo(Direction.InputData, "MessagePairsCountInput", "MessagePairsCountInputToolTip", true)]
     47        [PropertyInfo(Direction.InputData, "MessagePairsCountInput", "MessagePairsCountInputToolTip")]
    4448        public int MessagePairsCount
    4549        {
     
    112116        public void Execute()
    113117        {
    114             // HOWTO: Use this to show the progress of a plugin algorithm execution in the editor.
    115             ProgressChanged(0, 1);
    116 
    117 
    118 
    119             // HOWTO: Make sure the progress bar is at maximum when your Execute() finished successfully.
     118            if (MessagePairsCount == 0)
     119            {
     120                GuiLogMessage(, NotificationLevel.Warning)
     121                return;
     122            }
     123
     124            double curProgress = 0;
     125            double stepCount = 1.0 / (MessagePairsCount * 2);
     126            ProgressChanged(curProgress, 1);
     127
     128            List<Pair> pairList = new List<Pair>();
     129
     130            //generate pairs
     131            int i;
     132            for (i = 0; i < MessagePairsCount; i++)
     133            {
     134                int x = _random.Next(0, ((int) Math.Pow(2, _settings.WordSize) - 1));
     135                int y = x ^ MessageDifference;
     136
     137                Pair inputPair = new Pair()
     138                {
     139                    LeftMember = x,
     140                    RightMember = y
     141                };
     142           
     143                pairList.Add(inputPair);
     144
     145                curProgress += stepCount;
     146                ProgressChanged(curProgress, 1);
     147            }
     148
     149            //each pair consists of 2 int32 and each int32 consists of 4 byte
     150            _messagePairsOutput = new byte[MessagePairsCount * 2 * 4];
     151
     152            //convert pairs
     153            i = 0;
     154            foreach (Pair curPair in pairList)
     155            {
     156                byte[] leftMember = BitConverter.GetBytes(curPair.LeftMember);
     157                _messagePairsOutput[i] = leftMember[0];
     158                _messagePairsOutput[i + 1] = leftMember[1];
     159                _messagePairsOutput[i + 2] = leftMember[2];
     160                _messagePairsOutput[i + 3] = leftMember[3];
     161
     162                byte[] rightMember = BitConverter.GetBytes(curPair.RightMember);
     163                _messagePairsOutput[i + 4] = rightMember[0];
     164                _messagePairsOutput[i + 5] = rightMember[1];
     165                _messagePairsOutput[i + 6] = rightMember[2];
     166                _messagePairsOutput[i + 7] = rightMember[3];
     167
     168                i += 8;
     169                curProgress += stepCount;
     170                ProgressChanged(curProgress, 1);
     171            }
     172
     173            //finished: inform output
     174            OnPropertyChanged("MessagePairsOutput");
    120175            ProgressChanged(1, 1);
    121176        }
  • trunk/CrypPluginsExperimental/DCAOracle/DCAOracle.csproj

    r8154 r8156  
    7979    <Compile Include="DCAOracle.cs" />
    8080    <Compile Include="DCAOracleSettings.cs" />
     81    <Compile Include="Pair.cs" />
    8182    <Compile Include="Properties\AssemblyInfo.cs" />
    8283    <Compile Include="Properties\Resources.Designer.cs">
  • trunk/CrypPluginsExperimental/DCAOracle/Properties/Resources.Designer.cs

    r8154 r8156  
    134134       
    135135        /// <summary>
     136        ///   Sucht eine lokalisierte Zeichenfolge, die The number of message pairs must be greater than 0! ähnelt.
     137        /// </summary>
     138        internal static string WarningMessageCountMustBeSpecified {
     139            get {
     140                return ResourceManager.GetString("WarningMessageCountMustBeSpecified", resourceCulture);
     141            }
     142        }
     143       
     144        /// <summary>
    136145        ///   Sucht eine lokalisierte Zeichenfolge, die word length ähnelt.
    137146        /// </summary>
  • trunk/CrypPluginsExperimental/DCAOracle/Properties/Resources.de.resx

    r8155 r8156  
    142142    <value>Diese Komponente generiert zufällig gewählte Nachrichtenpaare, wobei die Nachrichten eines Paares eine definierbare Differenz aufweisen</value>
    143143  </data>
     144  <data name="WarningMessageCountMustBeSpecified" xml:space="preserve">
     145    <value>Die Anzahl der Nachrichtenpaare muss größer als 0 sein!</value>
     146  </data>
    144147  <data name="WorSizeParameter" xml:space="preserve">
    145148    <value>Wortbreite</value>
  • trunk/CrypPluginsExperimental/DCAOracle/Properties/Resources.resx

    r8154 r8156  
    142142    <value>This component generates randomly selected message pairs, where the messages of a pair have a definable difference</value>
    143143  </data>
     144  <data name="WarningMessageCountMustBeSpecified" xml:space="preserve">
     145    <value>The number of message pairs must be greater than 0!</value>
     146  </data>
    144147  <data name="WorSizeParameter" xml:space="preserve">
    145148    <value>word length</value>
  • trunk/CrypPluginsExperimental/DCAPathFinder/Properties/Resources.Designer.cs

    r8154 r8156  
    8989       
    9090        /// <summary>
    91         ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 1: Cipher 1, 16 bit blocksize, 2 subkeys, the key consists of 32 bit ähnelt.
     91        ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 1: Cipher 1 (16 bit blocksize, 2 subkeys, keylength is 32 bit) ähnelt.
    9292        /// </summary>
    9393        internal static string Cipher1 {
     
    9898       
    9999        /// <summary>
    100         ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 2: Cipher 2, 16 bit blocksize, 4 subkeys, the key consists of 64 bit ähnelt.
     100        ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 2: Cipher 2 (16 bit blocksize, 4 subkeys, keylength is 64 bit) ähnelt.
    101101        /// </summary>
    102102        internal static string Cipher2 {
     
    107107       
    108108        /// <summary>
    109         ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 3: Cipher 3, 16 bit blocksize, 6 subkeys, the key consists of 96 bit ähnelt.
     109        ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 3: Cipher 3 (16 bit blocksize, 6 subkeys, keylength is 96 bit) ähnelt.
    110110        /// </summary>
    111111        internal static string Cipher3 {
     
    116116       
    117117        /// <summary>
    118         ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 4: Cipher 4, 4 bit blocksize, 4 subkeys, the key consists of 16 bit ähnelt.
     118        ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial 4: Cipher 4 (4 bit blocksize, 4 subkeys, keylength is16 bit) ähnelt.
    119119        /// </summary>
    120120        internal static string Cipher4 {
  • trunk/CrypPluginsExperimental/DCAPathFinder/Properties/Resources.de.resx

    r8154 r8156  
    128128  </data>
    129129  <data name="Cipher1" xml:space="preserve">
    130     <value>Tutorial 1: Chiffre 1, 16 Bit Blockgröße, 2 Rundenschlüssel, der Schlüssel ist 32 Bit groß</value>
     130    <value>Tutorial 1: Chiffre 1 (16 Bit Blockgröße, 2 Rundenschlüssel, 32 Bit Schlüssellänge)</value>
    131131  </data>
    132132  <data name="Cipher2" xml:space="preserve">
    133     <value>Tutorial 2: Chiffre 2, 16 Bit Blockgröße, 4 Rundenschlüssel, der Schlüssel ist 64 Bit groß</value>
     133    <value>Tutorial 2: Chiffre 2 (16 Bit Blockgröße, 4 Rundenschlüssel, 64 Bit Schlüssellänge)</value>
    134134  </data>
    135135  <data name="Cipher3" xml:space="preserve">
    136     <value>Tutorial 3: Chiffre 3, 16 Bit Blockgröße, 6 Rundenschlüssel, der Schlüssel ist 96 Bit groß</value>
     136    <value>Tutorial 3: Chiffre 3, (16 Bit Blockgröße, 6 Rundenschlüssel, 96 Bit Schlüssellänge)</value>
    137137  </data>
    138138  <data name="Cipher4" xml:space="preserve">
    139     <value>Tutorial 4: Chiffre4,  4 Bit Blockgröße , 4 Rundenschlüssel, der Schlüssel ist 16 Bit groß</value>
     139    <value>Tutorial 4: Chiffre4 (4 Bit Blockgröße , 4 Rundenschlüssel, 16 Bit Schlüssellänge)</value>
    140140  </data>
    141141  <data name="DescriptionContent1" xml:space="preserve">
    142     <value>Es folgt eine kurze Beschreibung der Chiffren der einzelnen Teile des Tutorials:</value>
     142    <value>Übersicht über die Tutorials:</value>
    143143  </data>
    144144  <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>
     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 lange Rundenschlüssel wiederhergestellt.</value>
    146146  </data>
    147147  <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>
     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 lange Rundenschlüssel wiederhergestellt.</value>
    149149  </data>
    150150  <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>
     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 lange Rundenschlüssel wiederhergestellt.</value>
    152152  </data>
    153153  <data name="DescriptionHeader" xml:space="preserve">
  • trunk/CrypPluginsExperimental/DCAPathFinder/Properties/Resources.resx

    r8154 r8156  
    128128  </data>
    129129  <data name="Cipher1" xml:space="preserve">
    130     <value>Tutorial 1: Cipher 1, 16 bit blocksize, 2 subkeys, the key consists of 32 bit</value>
     130    <value>Tutorial 1: Cipher 1 (16 bit blocksize, 2 subkeys, keylength is 32 bit)</value>
    131131  </data>
    132132  <data name="Cipher2" xml:space="preserve">
    133     <value>Tutorial 2: Cipher 2, 16 bit blocksize, 4 subkeys, the key consists of 64 bit</value>
     133    <value>Tutorial 2: Cipher 2 (16 bit blocksize, 4 subkeys, keylength is 64 bit)</value>
    134134  </data>
    135135  <data name="Cipher3" xml:space="preserve">
    136     <value>Tutorial 3: Cipher 3, 16 bit blocksize, 6 subkeys, the key consists of 96 bit</value>
     136    <value>Tutorial 3: Cipher 3 (16 bit blocksize, 6 subkeys, keylength is 96 bit)</value>
    137137  </data>
    138138  <data name="Cipher4" xml:space="preserve">
    139     <value>Tutorial 4: Cipher 4, 4 bit blocksize, 4 subkeys, the key consists of 16 bit</value>
     139    <value>Tutorial 4: Cipher 4 (4 bit blocksize, 4 subkeys, keylength is16 bit)</value>
    140140  </data>
    141141  <data name="DescriptionContent1" xml:space="preserve">
  • trunk/CrypPluginsExperimental/DCAPathFinder/UI/DCAPathFinderPres.xaml

    r8152 r8156  
    1212        </Grid.ColumnDefinitions>
    1313        <Grid.RowDefinitions>
    14             <RowDefinition Height="430*"></RowDefinition>
    15             <RowDefinition Height="20*"></RowDefinition>
     14            <RowDefinition Height="425*"></RowDefinition>
     15            <RowDefinition Height="25*"></RowDefinition>
    1616        </Grid.RowDefinitions>
    1717        <!-- Viewbox for Content -->
    18         <Viewbox Grid.Row="0" Name="ContentViewBox" VerticalAlignment="Top" Stretch="Uniform">
     18        <Viewbox Grid.Row="0" Name="ContentViewBox" Stretch="Uniform">
    1919
    2020        </Viewbox>
    2121        <!-- Footer of the slides -->
    22         <Grid Grid.Row="1">
     22        <Grid Grid.Row="1" VerticalAlignment="Center">
    2323            <Grid.ColumnDefinitions>
    2424                <ColumnDefinition Width="8*"></ColumnDefinition>
    2525                <ColumnDefinition Width="2*"></ColumnDefinition>
    2626            </Grid.ColumnDefinitions>
    27             <StackPanel Grid.Row="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" Orientation="Horizontal">
     27            <Grid.RowDefinitions>
     28                <RowDefinition Height="10*"></RowDefinition>
     29            </Grid.RowDefinitions>
     30            <StackPanel  Grid.Row="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" Orientation="Horizontal">
    2831                <Button Name="BtnPrevious" HorizontalAlignment="Center" Margin="5,0,5,0" Click="BtnPreviousClicked" IsEnabled="{Binding IsPreviousPossible, Mode=OneWay}">
    2932                    <Image Source="/DCAPathFinder;component/images/prev-button.png"/>
     
    3235                    <Image Source="/DCAPathFinder;component/images/next-button.png"/>
    3336                </Button>
    34                 <Button Name="BtnSkip" Content="{Loc BtnSkipChapter}" HorizontalAlignment="Center" Margin="5,0,5,0" IsEnabled="False"></Button>
     37                <Button FontSize="8" Name="BtnSkip" Content="{Loc BtnSkipChapter}" HorizontalAlignment="Center" Margin="5,0,5,0" IsEnabled="False"></Button>
    3538            </StackPanel>
    36             <StackPanel Grid.Column="1" Width="30" HorizontalAlignment="Right" VerticalAlignment="Bottom">
    37                 <Label FontFamily="Courier New" FontSize="12" Content="{Binding SlideCounter, Mode=OneWay}" Visibility="{Binding SlideCounterVisibility, Mode=OneWay}" Margin="0,0,0,-5"></Label>
     39            <StackPanel VerticalAlignment="Bottom" Grid.Column="1" HorizontalAlignment="Right">
     40                <Label FontFamily="Courier New" FontSize="10" Content="{Binding SlideCounter, Mode=OneWay}" Visibility="{Binding SlideCounterVisibility, Mode=OneWay}" Margin="0,0,0,-5"></Label>
    3841            </StackPanel>
     42
    3943        </Grid>
    4044       
  • trunk/CrypPluginsExperimental/ToyCiphers/Properties/Resources.Designer.cs

    r8140 r8156  
    8989       
    9090        /// <summary>
    91         ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 1: 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, 32 bit keylength ähnelt.
    9292        /// </summary>
    9393        internal static string Cipher1 {
     
    125125       
    126126        /// <summary>
    127         ///   Sucht eine lokalisierte Zeichenfolge, die This block cipher works on 16 bit blocks. One encryption round is executed using a total of two round keys. The following steps are performed in the encryption round: Key addition, substitution and key addition. The round keys have a size of 16 bits, the SBoxes each process 4 bits. The key is thus 32 bits in size. ähnelt.
     127        ///   Sucht eine lokalisierte Zeichenfolge, die This block cipher works on 16 bit blocks. One encryption round is executed using a total of two round keys. The following steps are performed in the encryption round: Key addition, substitution and key addition. The round keys have a size of 16 bits, the SBoxes each process 4 bits. The keylength is 32 bit. ähnelt.
    128128        /// </summary>
    129129        internal static string Cipher1LblText {
     
    134134       
    135135        /// <summary>
    136         ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 2: 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, 64 bit keylength ähnelt.
    137137        /// </summary>
    138138        internal static string Cipher2 {
     
    170170       
    171171        /// <summary>
    172         ///   Sucht eine lokalisierte Zeichenfolge, die This block cipher works on 16 bit blocks. Three encryption rounds are performed, whereby a total of four round keys are used. Two round keys are used in the last encryption round. Each round consists of three sub-steps: key addition, substitution and permutation - in the last round the permutation is omitted. The round keys have a size of 16 bits, the SBoxes each process 4 bits. The key is thus 64 bits in size. ähnelt.
     172        ///   Sucht eine lokalisierte Zeichenfolge, die This block cipher works on 16 bit blocks. Three encryption rounds are performed, whereby a total of four round keys are used. Two round keys are used in the last encryption round. Each round consists of three sub-steps: key addition, substitution and permutation - in the last round the permutation is omitted. The round keys have a size of 16 bits, the SBoxes each process 4 bits. The keylength is 64 bit. ähnelt.
    173173        /// </summary>
    174174        internal static string Cipher2LblText {
     
    179179       
    180180        /// <summary>
    181         ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 3: 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, 96 bit keylength ähnelt.
    182182        /// </summary>
    183183        internal static string Cipher3 {
     
    215215       
    216216        /// <summary>
    217         ///   Sucht eine lokalisierte Zeichenfolge, die This block cipher works on 16 bit blocks. 5 encryption rounds are performed, whereby a total of six round keys are used. In the last encryption round two round keys are used. Each round consists of three sub-steps: key addition, substitution and permutation - in the last round the permutation unfolds and the last round key is added. The round keys are 16 bits in size, the SBoxes each process 4 bits. The key is therefore 96 bits in size.
     217        ///   Sucht eine lokalisierte Zeichenfolge, die This block cipher works on 16 bit blocks. 5 encryption rounds are performed, whereby a total of six round keys are used. In the last encryption round two round keys are used. Each round consists of three sub-steps: key addition, substitution and permutation - in the last round the permutation unfolds and the last round key is added. The round keys are 16 bits in size, the SBoxes each process 4 bits. The keylength is 96 bit.
    218218        ///
    219219        /// ähnelt.
     
    226226       
    227227        /// <summary>
    228         ///   Sucht eine lokalisierte Zeichenfolge, die Cipher 4: 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, 16 bit keylength ähnelt.
    229229        /// </summary>
    230230        internal static string Cipher4 {
     
    262262       
    263263        /// <summary>
    264         ///   Sucht eine lokalisierte Zeichenfolge, die This block cipher works on 4 bit blocks. Three encryption rounds are performed, whereby a total of four round keys are used. Two round keys are used in the last encryption round. Each round consists of two sub-steps: key addition and substitution. In the last round, the last round key is then added. The round keys have a size of 4 bits and the SBoxes each work on 4 bits.  The key is thus 16 bits in size. ähnelt.
     264        ///   Sucht eine lokalisierte Zeichenfolge, die This block cipher works on 4 bit blocks. Three encryption rounds are performed, whereby a total of four round keys are used. Two round keys are used in the last encryption round. Each round consists of two sub-steps: key addition and substitution. In the last round, the last round key is then added. The round keys have a size of 4 bits and the SBoxes each work on 4 bits.  The keylength is 16 bit. ähnelt.
    265265        /// </summary>
    266266        internal static string Cipher4LblText {
     
    325325       
    326326        /// <summary>
    327         ///   Sucht eine lokalisierte Zeichenfolge, die The specified key is not big enough. Please check the requirements of this cipher. ähnelt.
     327        ///   Sucht eine lokalisierte Zeichenfolge, die The specified key is not long enough. Please check the requirements of this cipher. ähnelt.
    328328        /// </summary>
    329329        internal static string KeyError {
  • trunk/CrypPluginsExperimental/ToyCiphers/Properties/Resources.de.resx

    r8141 r8156  
    128128  </data>
    129129  <data name="Cipher1" xml:space="preserve">
    130     <value>Ciffre 1: 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, 32 Bit Schlüssellänge</value>
    131131  </data>
    132132  <data name="Cipher1LblHeading" xml:space="preserve">
     
    140140  </data>
    141141  <data name="Cipher1LblText" xml:space="preserve">
    142     <value>Diese Blockchiffre arbeitet auf 16 Bit großen Blöcken. Es wird eine Verschlüsselungsrunde ausgeführt, wobei insgesamt zwei Rundenschlüssel verwendet werden. In der Verschlüsselungsrunde werden folgende Schritte durchgeführt: Schlüsseladdidtion, Substitution und Schlüsseladdition. Die Rundenschlüssel sind 16 Bit groß, die SBoxen verarbeiten jeweils 4 Bit. Der Schlüssel ist damit 32 Bit groß.</value>
     142    <value>Diese Blockchiffre arbeitet auf 16 Bit großen Blöcken. Es wird eine Verschlüsselungsrunde ausgeführt, wobei insgesamt zwei Rundenschlüssel verwendet werden. In der Verschlüsselungsrunde werden folgende Schritte durchgeführt: Schlüsseladdidtion, Substitution und Schlüsseladdition. Die Rundenschlüssel sind 16 Bit lang, die SBoxen verarbeiten jeweils 4 Bit. Die Schlüssellänge beträgt damit 32 Bit.</value>
    143143  </data>
    144144  <data name="Cipher2" xml:space="preserve">
    145     <value>Chiffre 2: 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, 64 Bit Schlüssellänge</value>
    146146  </data>
    147147  <data name="Cipher2LblHeading" xml:space="preserve">
     
    155155  </data>
    156156  <data name="Cipher2LblText" xml:space="preserve">
    157     <value>Diese Blockchiffre arbeitet auf 16 Bit großen Blöcken. Es werden drei Verschlüsselungsrunden durchgeführt, wobei insgesamt vier Rundenschlüssel verwendet werden. In der letzten Verschlüsselungsrunde werden zwei Rundenschlüssel angewandt. Jede Runde besteht aus drei Teilschritten: Schlüsseladdition, Substitution und Permutation - in der letzten Runde entfällt die Permutation und es wird der letzte Rundenschlüssel addiert. Die Rundenschlüssel sind 16 Bit groß, die SBoxen verarbeiten jeweils 4 Bit. Der Schlüssel ist damit 64 Bit groß.</value>
     157    <value>Diese Blockchiffre arbeitet auf 16 Bit großen Blöcken. Es werden drei Verschlüsselungsrunden durchgeführt, wobei insgesamt vier Rundenschlüssel verwendet werden. In der letzten Verschlüsselungsrunde werden zwei Rundenschlüssel angewandt. Jede Runde besteht aus drei Teilschritten: Schlüsseladdition, Substitution und Permutation - in der letzten Runde entfällt die Permutation und es wird der letzte Rundenschlüssel addiert. Die Rundenschlüssel sind 16 Bit lang, die SBoxen verarbeiten jeweils 4 Bit. Die Schlüssellänge beträgt damit 64 Bit.</value>
    158158  </data>
    159159  <data name="Cipher3" xml:space="preserve">
    160     <value>Chiffre 3: 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, 96 Bit Schlüssellänge</value>
    161161  </data>
    162162  <data name="Cipher3LblHeading" xml:space="preserve">
     
    170170  </data>
    171171  <data name="Cipher3LblText" xml:space="preserve">
    172     <value>Diese Blockchiffre arbeitet auf 16 Bit großen Blöcken. Es werden 5 Verschlüsselungsrunden durchgeführt, wobei insgesamt sechs Rundenschlüssel verwendet werden. In der letzten Verschlüsselungsrunde werden zwei Rundenschlüssel angewandt. Jede Runde besteht aus drei Teilschritten: Schlüsseladdition, Substitution und Permutation - in der letzten Runde entfält die Permutation und es wird der letzte Rundenschlüssel addiert. Die Rundenschlüssel sind 16 Bit groß, die SBoxen verarbeiten jeweils 4 Bit. Der Schlüssel ist damit 96 Bit groß.</value>
     172    <value>Diese Blockchiffre arbeitet auf 16 Bit großen Blöcken. Es werden 5 Verschlüsselungsrunden durchgeführt, wobei insgesamt sechs Rundenschlüssel verwendet werden. In der letzten Verschlüsselungsrunde werden zwei Rundenschlüssel angewandt. Jede Runde besteht aus drei Teilschritten: Schlüsseladdition, Substitution und Permutation - in der letzten Runde entfält die Permutation und es wird der letzte Rundenschlüssel addiert. Die Rundenschlüssel sind 16 Bit lang, die SBoxen verarbeiten jeweils 4 Bit. Die Schlüssellänge beträgt damit 96 Bit.</value>
    173173  </data>
    174174  <data name="Cipher4" xml:space="preserve">
    175     <value>Chiffre 4: 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, 16 Bit Schlüssellänge</value>
    176176  </data>
    177177  <data name="Cipher4LblHeading" xml:space="preserve">
     
    185185  </data>
    186186  <data name="Cipher4LblText" xml:space="preserve">
    187     <value>Diese Blockchiffre arbeitet auf 4 Bit großen Blöcken. Es werden drei Verschlüsselungsrunden durchgeführt, wobei insgesamt vier Rundenschlüssel verwendet werden. In der letzten Verschlüsselungsrunde werden zwei Rundenschlüssel angewandt. Jede Runde besteht aus zwei Teilschritten: Schlüsseladdition und Substitution. In der letzten Runde wird anschließend der letzte Rundenschlüssel noch addiert. Die Rundenschlüssel sind 4 Bit groß und die SBoxen arbeiten auf jeweils 4 Bit. Der Schlüssel ist damit 16 Bit groß.</value>
     187    <value>Diese Blockchiffre arbeitet auf 4 Bit großen Blöcken. Es werden drei Verschlüsselungsrunden durchgeführt, wobei insgesamt vier Rundenschlüssel verwendet werden. In der letzten Verschlüsselungsrunde werden zwei Rundenschlüssel angewandt. Jede Runde besteht aus zwei Teilschritten: Schlüsseladdition und Substitution. In der letzten Runde wird anschließend der letzte Rundenschlüssel noch addiert. Die Rundenschlüssel sind 4 Bit lang und die SBoxen arbeiten auf jeweils 4 Bit. Die Schlüssellänge beträgt damit 16 Bit.</value>
    188188  </data>
    189189  <data name="Cipher5" xml:space="preserve">
     
    206206  </data>
    207207  <data name="KeyError" xml:space="preserve">
    208     <value>Der angegebene Schlüssel ist nicht groß genug. Bitte überprüfen Sie die Anforderungen dieser Chiffre.</value>
     208    <value>Der angegebene Schlüssel ist nicht lang genug. Bitte überprüfen Sie die Anforderungen dieser Chiffre.</value>
    209209  </data>
    210210  <data name="KeyInput" xml:space="preserve">
  • trunk/CrypPluginsExperimental/ToyCiphers/Properties/Resources.resx

    r8140 r8156  
    128128  </data>
    129129  <data name="Cipher1" xml:space="preserve">
    130     <value>Cipher 1: 16 bit blocksize, 2 subkeys, the key consists of 32 bit</value>
     130    <value>Cipher 1: 16 bit blocksize, 2 subkeys, 32 bit keylength</value>
    131131  </data>
    132132  <data name="Cipher1LblHeading" xml:space="preserve">
     
    140140  </data>
    141141  <data name="Cipher1LblText" xml:space="preserve">
    142     <value>This block cipher works on 16 bit blocks. One encryption round is executed using a total of two round keys. The following steps are performed in the encryption round: Key addition, substitution and key addition. The round keys have a size of 16 bits, the SBoxes each process 4 bits. The key is thus 32 bits in size.</value>
     142    <value>This block cipher works on 16 bit blocks. One encryption round is executed using a total of two round keys. The following steps are performed in the encryption round: Key addition, substitution and key addition. The round keys have a size of 16 bits, the SBoxes each process 4 bits. The keylength is 32 bit.</value>
    143143  </data>
    144144  <data name="Cipher2" xml:space="preserve">
    145     <value>Cipher 2: 16 bit blocksize, 4 subkeys, the key consists of 64 bit</value>
     145    <value>Cipher 2: 16 bit blocksize, 4 subkeys, 64 bit keylength</value>
    146146  </data>
    147147  <data name="Cipher2LblHeading" xml:space="preserve">
     
    155155  </data>
    156156  <data name="Cipher2LblText" xml:space="preserve">
    157     <value>This block cipher works on 16 bit blocks. Three encryption rounds are performed, whereby a total of four round keys are used. Two round keys are used in the last encryption round. Each round consists of three sub-steps: key addition, substitution and permutation - in the last round the permutation is omitted. The round keys have a size of 16 bits, the SBoxes each process 4 bits. The key is thus 64 bits in size.</value>
     157    <value>This block cipher works on 16 bit blocks. Three encryption rounds are performed, whereby a total of four round keys are used. Two round keys are used in the last encryption round. Each round consists of three sub-steps: key addition, substitution and permutation - in the last round the permutation is omitted. The round keys have a size of 16 bits, the SBoxes each process 4 bits. The keylength is 64 bit.</value>
    158158  </data>
    159159  <data name="Cipher3" xml:space="preserve">
    160     <value>Cipher 3: 16 bit blocksize, 6 subkeys, the key consists of 96 bit</value>
     160    <value>Cipher 3: 16 bit blocksize, 6 subkeys, 96 bit keylength</value>
    161161  </data>
    162162  <data name="Cipher3LblHeading" xml:space="preserve">
     
    170170  </data>
    171171  <data name="Cipher3LblText" xml:space="preserve">
    172     <value>This block cipher works on 16 bit blocks. 5 encryption rounds are performed, whereby a total of six round keys are used. In the last encryption round two round keys are used. Each round consists of three sub-steps: key addition, substitution and permutation - in the last round the permutation unfolds and the last round key is added. The round keys are 16 bits in size, the SBoxes each process 4 bits. The key is therefore 96 bits in size.
     172    <value>This block cipher works on 16 bit blocks. 5 encryption rounds are performed, whereby a total of six round keys are used. In the last encryption round two round keys are used. Each round consists of three sub-steps: key addition, substitution and permutation - in the last round the permutation unfolds and the last round key is added. The round keys are 16 bits in size, the SBoxes each process 4 bits. The keylength is 96 bit.
    173173
    174174</value>
    175175  </data>
    176176  <data name="Cipher4" xml:space="preserve">
    177     <value>Cipher 4: 4 bit blocksize, 4 subkeys, the key consists of 16 bit</value>
     177    <value>Cipher 4: 4 bit blocksize, 4 subkeys, 16 bit keylength</value>
    178178  </data>
    179179  <data name="Cipher4LblHeading" xml:space="preserve">
     
    187187  </data>
    188188  <data name="Cipher4LblText" xml:space="preserve">
    189     <value>This block cipher works on 4 bit blocks. Three encryption rounds are performed, whereby a total of four round keys are used. Two round keys are used in the last encryption round. Each round consists of two sub-steps: key addition and substitution. In the last round, the last round key is then added. The round keys have a size of 4 bits and the SBoxes each work on 4 bits.  The key is thus 16 bits in size.</value>
     189    <value>This block cipher works on 4 bit blocks. Three encryption rounds are performed, whereby a total of four round keys are used. Two round keys are used in the last encryption round. Each round consists of two sub-steps: key addition and substitution. In the last round, the last round key is then added. The round keys have a size of 4 bits and the SBoxes each work on 4 bits.  The keylength is 16 bit.</value>
    190190  </data>
    191191  <data name="Cipher5" xml:space="preserve">
     
    208208  </data>
    209209  <data name="KeyError" xml:space="preserve">
    210     <value>The specified key is not big enough. Please check the requirements of this cipher.</value>
     210    <value>The specified key is not long enough. Please check the requirements of this cipher.</value>
    211211  </data>
    212212  <data name="KeyInput" xml:space="preserve">
  • trunk/CrypPluginsExperimental/ToyCiphers/ToyCiphersSettings.cs

    r8137 r8156  
    6363        /// Selection of the toy cipher algorithm
    6464        /// </summary>
    65         [TaskPane("ChoiceOfAlgorithm", "ChoiceOfAlgorithmToolTop", null, 1, false, ControlType.ComboBox, new string[]{ "Cipher1", "Cipher2", "Cipher3", "Cipher4" })]
     65        //[TaskPane("ChoiceOfAlgorithm", "ChoiceOfAlgorithmToolTop", null, 1, false, ControlType.ComboBox, new string[]{ "Cipher1", "Cipher2", "Cipher3", "Cipher4", "Cipher5" })]
     66        [TaskPane("ChoiceOfAlgorithm", "ChoiceOfAlgorithmToolTop", null, 1, false, ControlType.ComboBox, new string[] { "Cipher1", "Cipher2", "Cipher3"})]
    6667        public string ChoiceOfAlgorithm
    6768        {
Note: See TracChangeset for help on using the changeset viewer.