Changeset 1027


Ignore:
Timestamp:
Dec 17, 2009, 10:27:59 AM (12 years ago)
Author:
kopal
Message:
  • added a description to the KeySearcher plugin
  • some corrections in the quadratic sieve description
Location:
trunk/CrypPlugins
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/KeySearcher/KeySearcher.cs

    r980 r1027  
    1515
    1616namespace KeySearcher
    17 {
    18     [Author("Thomas Schmid", "thomas.schmid@cryptool.org", "Uni Siegen", "http://www.uni-siegen.de")]
    19     //[Author("Sven Rech", "rech@cryptool.org", "Uni Duisburg-Essen", "http://www.uni-due.de")]
    20     [PluginInfo(true, "KeySearcher", "Bruteforces a decryption algorithm.", null, "KeySearcher/Images/icon.png")]
     17{   
     18    [Author("Sven Rech, Nils Kopal, Raoul Falk, Dennis Nolte", "rech@cryptool.org", "Uni Duisburg-Essen", "http://www.uni-due.de")]
     19    [PluginInfo(true, "KeySearcher", "Bruteforces a decryption algorithm.", "KeySearcher/DetailedDescription/Description.xaml", "KeySearcher/Images/icon.png")]
    2120    public class KeySearcher : IAnalysisMisc
    2221    {
  • trunk/CrypPlugins/KeySearcher/KeySearcher.csproj

    r905 r1027  
    7676  </ItemGroup>
    7777  <ItemGroup>
     78    <Resource Include="DetailedDescription\Description.xaml">
     79      <Generator>MSBuild:Compile</Generator>
     80      <SubType>Designer</SubType>
     81    </Resource>
    7882    <Page Include="KeySearcherQuickWatchPresentation.xaml">
    7983      <SubType>Designer</SubType>
  • trunk/CrypPlugins/QuadraticSieve/DetailedDescription/Description.xaml

    r1026 r1027  
    55                          Background="White" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto">
    66
    7 <Paragraph FontSize="22pt">Quadratic Sieve - Description</Paragraph>
    8 <Paragraph FontSize="20pt">Introduction</Paragraph>
    9 
    10 <Paragraph>
    11 The quadratic sieve is a modern integer factorization algorithm. Factorization is the breaking down of a number into its divisors. The quadratic sieve algorithm is currently the 2nd fastest algorithm after the general number field sieve. Today it is still the fastest algorithm for big integers under 100 decimal digits.
    12 </Paragraph>
    13 <Paragraph FontSize="20pt">Complexity</Paragraph>
    14 
    15 <Paragraph>
    16 The running time of the quadratic sieve algorithm to factor an integer of size n is (using O-notation) : O( exp( log(n) log(n) log(n) )
    17 </Paragraph>
    18 <Paragraph FontSize="20pt">About this plugin</Paragraph>
    19 <Paragraph FontSize="18pt">General</Paragraph>
    20 
    21 <Paragraph>
    22 This plugin is a wrapper for the quadratic sieve C-implementation Msieve written by Jason Stratos Papadopoulos. The C-code is integrated into a 32bit dll and a 64bit dll. Depending on the users system, the correct dll is loaded during the startup of the CrypTool 2. The dlls also extend the functionality of the Msieve algorithm with multi threading. The original Msieve itself is a console application. If you want to get further information about the Msieve please have a look at the authors website on sourceforge at
    23 <misc:DescriptionHyperlink NavigateUri="http://sourceforge.net/projects/msieve/">http://sourceforge.net/projects/msieve/</misc:DescriptionHyperlink>
    24 </Paragraph>
    25 <Paragraph FontSize="18pt">How to use this plugin</Paragraph>
    26 
    27 <Paragraph>
    28  The plugin has a BigNumber input. Here the user has to enter a BigNumber. He can use a BigNumberInput plugin and enter a number or an arithmetic expression like 2^12+17+2^32. The plugin has only one output. The plugin puts an array of BigIntegers (the prime factors) to this output. In the configuration bar the user can set the amount of used CPUs which the quadratic sieve should use for working (It is only possible to select as much CPUs as the users system offers). The quadratic sieve caches found relations of a prime. The user can choose if this cache should be deleted at a new startup or not by using the check box in the configuration.
    29 </Paragraph>
    30 <Paragraph FontSize="18pt">Visualization</Paragraph>
    31 
    32 <Paragraph>
    33 The quadratic sieve plugin offers a QuickWatchRepresentation. This represenation can be found by clicking the plugins icon. Here the user can see the estimated end time and the current state of the sieving process. Also a key figure (relations) is visible. Relations are collected by the Msieve algorithm for factorization. The user sees the needed number of relations and the actual found number: example "121 of 1021 relations found". As soon as the quadratic sieve has found enough relations the sieving is finished.
    34 </Paragraph>
    35 <Paragraph FontSize="20pt">Some useful weblinks</Paragraph>
    36 
    37 <Paragraph>
    38  
    39 <misc:DescriptionHyperlink NavigateUri="http://en.wikipedia.org/wiki/Quadratic_sieve">Quadratic sieve in wikipedia</misc:DescriptionHyperlink>
    40 <LineBreak/>
    41 
    42 <misc:DescriptionHyperlink NavigateUri="http://en.wikipedia.org/wiki/Integer_factorization">Integer factorization in wikipedia</misc:DescriptionHyperlink>
    43 </Paragraph>
    44 <Paragraph FontSize="20pt">Some time statistics</Paragraph>
    45 
    46 <Paragraph>
    47  Here we have some example time statistics for some big numbers (notice! the algorithm uses random numbers to find relations, so sieving can be even much faster if it guests well):
    48 </Paragraph>
     7    <Paragraph FontSize="22pt">Quadratic Sieve - Description</Paragraph>
     8    <Paragraph FontSize="20pt">Introduction</Paragraph>
     9
     10    <Paragraph>
     11        The quadratic sieve is a modern integer factorization algorithm. Factorization is the breaking down of a number into its divisors. The quadratic sieve algorithm is currently the 2nd fastest algorithm after the general number field sieve. Today it is still the fastest algorithm for big integers under 100 decimal digits.
     12    </Paragraph>
     13    <Paragraph FontSize="20pt">Complexity</Paragraph>
     14
     15    <Paragraph>
     16        The running time of the quadratic sieve algorithm to factor an integer of size n is (using O-notation) : O( exp( log(n) log(n) log(n) )
     17    </Paragraph>
     18    <Paragraph FontSize="20pt">About this plugin</Paragraph>
     19    <Paragraph FontSize="18pt">General</Paragraph>
     20
     21    <Paragraph>
     22        This plugin is a wrapper for the quadratic sieve C-implementation Msieve written by Jason Stratos Papadopoulos. The C-code is integrated into a 32bit dll and a 64bit dll. Depending on the users system, the correct dll is loaded during the startup of the CrypTool 2. The dlls also extend the functionality of the Msieve algorithm with multi threading. The original Msieve itself is a console application. If you want to get further information about the Msieve please have a look at the authors website on sourceforge at
     23        <misc:DescriptionHyperlink NavigateUri="http://sourceforge.net/projects/msieve/">http://sourceforge.net/projects/msieve/</misc:DescriptionHyperlink>
     24    </Paragraph>
     25    <Paragraph FontSize="18pt">How to use this plugin</Paragraph>
     26
     27    <Paragraph>
     28        The plugin has a BigNumber input. Here the user has to enter a BigNumber. He can use a BigNumberInput plugin and enter a number or an arithmetic expression like 2^12+17+2^32. The plugin has only one output. The plugin puts an array of BigIntegers (the prime factors) to this output. In the configuration bar the user can set the amount of used CPUs which the quadratic sieve should use for working (It is only possible to select as much CPUs as the users system offers). The quadratic sieve caches found relations of the number. The user can choose if this cache should be deleted at a new startup or not by using the check box in the configuration bar.
     29    </Paragraph>
     30    <Paragraph FontSize="18pt">Visualization</Paragraph>
     31
     32    <Paragraph>
     33        The quadratic sieve plugin offers a QuickWatchRepresentation. This represenation can be found by clicking the plugins icon. Here the user can see the estimated end time and the current state of the sieving process. Also a key figure (relations) is visible. Relations are collected by the Msieve algorithm for factorization. The user sees the needed number of relations and the actual found number: example "121 of 1021 relations found". As soon as the quadratic sieve has found enough relations the sieving is finished.
     34    </Paragraph>
     35    <Paragraph FontSize="20pt">Some useful weblinks</Paragraph>
     36
     37    <Paragraph>
     38
     39        <misc:DescriptionHyperlink NavigateUri="http://en.wikipedia.org/wiki/Quadratic_sieve">Quadratic sieve in wikipedia</misc:DescriptionHyperlink>
     40        <LineBreak/>
     41
     42        <misc:DescriptionHyperlink NavigateUri="http://en.wikipedia.org/wiki/Integer_factorization">Integer factorization in wikipedia</misc:DescriptionHyperlink>
     43    </Paragraph>
     44    <Paragraph FontSize="20pt">Some time statistics</Paragraph>
     45
     46    <Paragraph>
     47        Here we have some example time statistics for some big numbers (notice! the algorithm uses random numbers to find relations, so sieving can be even much faster if it guests well):
     48    </Paragraph>
    4949
    5050    <Table>
Note: See TracChangeset for help on using the changeset viewer.