Changeset 1908


Ignore:
Timestamp:
Sep 7, 2010, 12:50:07 PM (11 years ago)
Author:
malischewski
Message:

Detailed Description for the Analyser (via wiefels)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/TranspositionAnalyser/Description/TADescr.xaml

    r935 r1908  
    1 <FlowDocument PagePadding="5,0,5,0" AllowDrop="True" NumberSubstitution.CultureSource="User" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><Paragraph><Run FontWeight="Bold" FontSize="14.6666666666667" xml:lang="de-de"><Run.TextDecorations><TextDecoration Location="Underline" /></Run.TextDecorations>Transposition Analyser</Run></Paragraph><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de">This plugin provides bruteforce analysis of the transposition encryption in combination with the Costfunction plugin.</Run></Paragraph><Paragraph><Run FontWeight="Bold" FontSize="13.3333333333333" xml:lang="de-de"><Run.TextDecorations><TextDecoration Location="Underline" /></Run.TextDecorations>Settings</Run></Paragraph><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de">Transposition Bruteforce Length: Transposition Length to be bruteforced (&gt;10 not exactly feasible)</Run></Paragraph><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de">The checkbox options determine which combinations of Read In, Permutation and Read out will be used for analysis.</Run></Paragraph><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de">For a detailed example refer to the provided Transposition-Analyser-Sample.cte</Run></Paragraph><Paragraph><Run FontWeight="Bold" FontSize="13.3333333333333" xml:lang="de-de"><Run.TextDecorations><TextDecoration Location="Underline" /></Run.TextDecorations>Costfunction</Run></Paragraph><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de">The Costfunction Plugin provides support for analysis using Bigrams, Known-Plaintext (e.g. Cribs) and Regular Expressions.</Run></Paragraph><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de">Note: Only these work with bruteforce analysis (for Transposition Encryption)!</Run></Paragraph><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de">Bigram options:</Run></Paragraph><List MarkerStyle="Disc"><ListItem><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de">Log 2</Run></Paragraph></ListItem><ListItem><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de">Sinkov</Run></Paragraph></ListItem><ListItem><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de">Percentaged</Run></Paragraph></ListItem></List><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de" xml:space="preserve" /></Paragraph><Paragraph><Run FontSize="10.6666666666667" xml:lang="de-de" xml:space="preserve" /></Paragraph></FlowDocument>
     1<FlowDocument PagePadding="5,0,5,0" AllowDrop="True" NumberSubstitution.CultureSource="User" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"><Paragraph Margin="0,6.67,0,0" TextAlignment="Center" FontFamily="Verdana" FontSize="16"><Span FontWeight="Bold" Foreground="#FF15428B" xml:lang="en-gb"><Span.TextDecorations><TextDecoration Location="Underline" /></Span.TextDecorations>Using the "Transposition Analyser" plugin</Span></Paragraph><Paragraph Margin="0,6.67,0,0" TextAlignment="Center" FontFamily="Verdana" FontSize="16"><Span FontWeight="Bold" Foreground="#FF15428B" xml:lang="en-gb"><Span.TextDecorations><TextDecoration Location="Underline" /></Span.TextDecorations></Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">This plugin simulates three attacks against ciphers being created by using transposition. In this case transposition stands for the classical type of transposition chiffre. For a short introduction into classic transposition please have a look at the description tab of the "Transposition" plugin and try out its features for a closer look at the mechanics of classic transposition.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb" xml:space="preserve">The attacks that are featured in this plugin are </Span><Span Foreground="#FF15428B" xml:lang="en-gb"><Span.TextDecorations><TextDecoration Location="Underline" /></Span.TextDecorations>"bruteforce"</Span><Span Foreground="#FF15428B" xml:lang="en-gb" xml:space="preserve">, </Span><Span Foreground="#FF15428B" xml:lang="en-gb"><Span.TextDecorations><TextDecoration Location="Underline" /></Span.TextDecorations>"crib"</Span><Span Foreground="#FF15428B" xml:lang="en-gb" xml:space="preserve">, and </Span><Span Foreground="#FF15428B" xml:lang="en-gb"><Span.TextDecorations><TextDecoration Location="Underline" /></Span.TextDecorations>"genetic"</Span><Span Foreground="#FF15428B" xml:lang="en-gb"> : Each is based on different principles and the probability of success varies.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">You can choose which attack to simulate by clicking the "Analysis Method"-dropdown menu in the plugins panel.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">If this plugin has been successful with the selected attack, the output of the plugin will deliver the decrypted text in the message area at the bottom of the screen.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">The "QuickwatchPresentation" area shows you the estimated time of the analysis and delivers a list of the currently best rated results of the analysis. By double clicking one of the results shown, which is currently not the most probable one, it will be shown in the OutputText until a more probable one appears on top of the list. After the analysis finished, the time needed is shown. By double clicking it is still possible to retrieve the results which were not top rated.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">Additional information given is the "keys per second" value, which gives an idea of the speed at which the process is running and the size of the key space, which has to be analysed.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">Now let's have a look at how you can use this plugin. It is part of a prepared workspace, which you can find in the CrypTool 2.0 SampleProjects folder under "Transposition Analyser" and provides the following workflow:</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">The encrypted text is given into the "Transposition Analyser" plugin from a "TextInput" plugged into the mandatory input. Also serving the "Transposition Analyser" plugin are "Transposition" (for more information -&gt; description tab of "Transposition Plugin") and "Costfunction" (for more information -&gt; description tab of "Costfunction Plugin"). "TextOutput" is required as an output to show the results.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">As this workflow is not a loop, it can stop without successfully finding the correct key. If the given key length is wrong no correctly decrypted text can be expected. In any case, after choosing the "Analysis Method" the expected key length must be passed to to the plugin. To clarify: Passing the wrong key length to the plugin can never result in correctly decrypted text as an output of the analyser. Another important fact concerning cryptoanalysis as a whole is the key space, which are to be looked through grow exponentially. This is what makes cryptoanalysis on transposition chiffre still as up-to-date as it may appear in this plugin. Even though it is a "classic" chriffre, this does not mean it can be broken casually.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb" xml:space="preserve">Now, to introduce the single modes of attacks the following three sections will give an idea of the strategy by which they proceed. </Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb"><Span.TextDecorations><TextDecoration Location="Underline" /></Span.TextDecorations>Bruteforce</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb" xml:space="preserve">The simplest strategy found in cryptoanalysis is to try every single possible case until the appropriate one is found or can be excluded. This so called bruteforcing is as effective as slow. In many cases, where the key length exceeds about 13 letters, the bruteforce attack alone becomes impracticable. </Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">To explain this threshold, here are some calculated values regarding the estimated time needed for bruteforce attacks on transposition:</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">Where the key length of 13 needs about 30 minutes to be bruteforced, the key length of 14 already exceeds six hours and the key length of 15 may take more than ten days.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Table CellSpacing="0" Margin="0,0,0,0"><Table.Columns><TableColumn Width="253.6" /><TableColumn Width="330.4" /></Table.Columns><TableRowGroup><TableRow><TableCell Padding="1,0,1,0" BorderThickness="1,1,1,1" BorderBrush="#FF000000" Background="#FF95B3D7"><Paragraph Margin="0,6.67,0,7.93" FontFamily="Verdana" FontSize="12.6666666666667"><Span FontWeight="Bold" Foreground="#FF15428B" xml:lang="en-gb">Key length</Span></Paragraph></TableCell><TableCell Padding="1,0,1,0" BorderThickness="1,1,1,1" BorderBrush="#FF000000" Background="#FF95B3D7"><Paragraph Margin="0,6.67,0,7.93" FontFamily="Verdana" FontSize="12.6666666666667"><Span FontWeight="Bold" Foreground="#FF15428B" xml:lang="en-gb">Time estimated</Span></Paragraph></TableCell></TableRow><TableRow><TableCell Padding="1,0,1,0" BorderThickness="1,1,1,1" BorderBrush="#FF000000"><Paragraph Margin="0,6.67,0,7.93" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">12</Span></Paragraph></TableCell><TableCell Padding="1,0,1,0" BorderThickness="1,1,1,1" BorderBrush="#FF000000"><Paragraph Margin="0,6.67,0,7.93" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">~ 130 secs</Span></Paragraph></TableCell></TableRow><TableRow><TableCell Padding="1,0,1,0" BorderThickness="1,1,1,1" BorderBrush="#FF000000"><Paragraph Margin="0,6.67,0,7.93" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">13</Span></Paragraph></TableCell><TableCell Padding="1,0,1,0" BorderThickness="1,1,1,1" BorderBrush="#FF000000"><Paragraph Margin="0,6.67,0,7.93" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">~ 30 mins</Span></Paragraph></TableCell></TableRow><TableRow><TableCell Padding="1,0,1,0" BorderThickness="1,1,1,1" BorderBrush="#FF000000"><Paragraph Margin="0,6.67,0,7.93" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">14</Span></Paragraph></TableCell><TableCell Padding="1,0,1,0" BorderThickness="1,1,1,1" BorderBrush="#FF000000"><Paragraph Margin="0,6.67,0,7.93" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">~ 400 mins</Span></Paragraph></TableCell></TableRow><TableRow><TableCell Padding="1,0,1,0" BorderThickness="1,1,1,1" BorderBrush="#FF000000"><Paragraph Margin="0,6.67,0,7.93" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">15</Span></Paragraph></TableCell><TableCell Padding="1,0,1,0" BorderThickness="1,1,1,1" BorderBrush="#FF000000"><Paragraph Margin="0,6.67,0,7.93" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">~ 250h</Span></Paragraph></TableCell></TableRow></TableRowGroup></Table><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,13.2" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb"><Span.TextDecorations><TextDecoration Location="Underline" /></Span.TextDecorations>Crib</Span></Paragraph><Paragraph Margin="0,6.67,0,13.2" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">A "crib" in cryptoanalysis is a part of the plaintext which is already known to the attacker. This is why the "crib" attack is categorized as a so called "known plaintext attack". In fact, this reduces the complexity of the analysis in most cases by excluding regions of the original keyspace. The level of advantage in comparison to a so called "unknown plaintext attack" hardly depends on the "quality" of the crib. This mode of attack needs a crib which is contained in the plaintext with a probability of 100%. The quality of the crib is linked to the following criteria:</Span></Paragraph><Paragraph Margin="0,6.67,0,13.2" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb" xml:space="preserve">Length: </Span><Span FontFamily="Verdana" FontSize="12.6666666666667" Foreground="#FF15428B" xml:lang="en-gb"><LineBreak /></Span><Span Foreground="#FF15428B" xml:lang="en-us">-</Span><Span Foreground="#FF15428B" xml:lang="en-gb" xml:space="preserve"> If the crib is too short it will not be as useful as a longer one. </Span><Span FontFamily="Verdana" FontSize="12.6666666666667" Foreground="#FF15428B" xml:lang="en-gb"><LineBreak /></Span><Span Foreground="#FF15428B" xml:lang="en-gb" xml:space="preserve">- Three to five letters for example would be short. </Span></Paragraph><Paragraph Margin="0,6.67,0,13.2" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">Variety:</Span><Span FontFamily="Verdana" FontSize="12.6666666666667" Foreground="#FF15428B" xml:lang="en-gb"><LineBreak /></Span><Span Foreground="#FF15428B" xml:lang="en-gb">- A crib consisting of two different letters overall is less helpful than one in which each letter is unique.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">The crib can be passed to the plugin by using the optional input below the mandatory input or by using the text field in the panel, while "crib" is chosen as "Analysis Method".</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb"><Span.TextDecorations><TextDecoration Location="Underline" /></Span.TextDecorations>Genetic</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">The genetic algorithm proceeds according to a relatively new strategy of transposition analysis, which is based on a relatively old strategy of the evolutionary biologist Darwin. "Survival of the fittest" is the rule which is applied to an initial pool of random keys. Depending on a calculated value, which attempts to represent the quality or the probability for the key to be correct, the "fitter ones" are used as "parent keys" to generate new "child keys". This mode of attack can be as surprisingly efficient, as it can be surpisingly ineffective. Efficiency depends on the pool of initial "parents" which must be choosen randomly, so there is coincidence playing a major role unexpectedly.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="en-gb">There are two additional possibilities of configuration which may be found in the panel beneath "Analysis Method" and "Keylength". These two additional textfields are "Numbers of iterations" and "Numbers of repeatings". The iteration itself describes the step of finding a new better fitting key by choosing the best fitting parents. The “repeatings” describe how often these iteration as a whole are repeated in sequence. Both values can be increased in order to maximize the chance of success, while simultaneously increasing the time required.</Span></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667" /><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Run Foreground="#FF15428B" xml:lang="en-gb" xml:space="preserve">For more information concerning transposition and transposition cryptoanalysis please read </Run><Run Foreground="#FF15428B" xml:lang="de-de" xml:space="preserve">the </Run><Run Foreground="#FF15428B" xml:lang="en-gb" xml:space="preserve">report </Run></Paragraph><Paragraph Margin="0,6.67,0,0" FontFamily="Verdana" FontSize="12.6666666666667"><Span Foreground="#FF15428B" xml:lang="de-de">"Angriffsmöglichkeiten auf klassische Transpositionschiffren" by Daniel Kohnen.</Span></Paragraph><Paragraph Margin="0,0,0,0" FontFamily="Verdana" FontWeight="Bold" FontSize="16" /><Paragraph /></FlowDocument>
Note: See TracChangeset for help on using the changeset viewer.