Ignore:
Timestamp:
Aug 3, 2010, 1:32:18 PM (11 years ago)
Author:
nolte
Message:

Small changes on Autokey-Analyser

File:
1 edited

Legend:

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

    r1683 r1754  
    171171        {
    172172//START------------------------------------------------------------------------------------------------------------
    173 //Preparations for the Analyse-------------------------------------------------------------------------------------           
    174            
    175             ProgressChanged(0, 1);
    176 
    177             quickWatchPresentation.Clear();
     173//Preparations for the Analyse-------------------------------------------------------------------------------------                   
     174         
     175            if (InputCipher != null)
     176            {
     177                ProgressChanged(0, 1);
     178
     179                quickWatchPresentation.Clear();
    178180           
    179             alphabet = settings.AlphabetSymbols;                //initialising the alphabet as given by the user       
    180 
    181             if (InputCipher != null)
    182             {
    183                 ciphertext = InputCipher;                       //initialising the ciphertext
    184                 ciphertext = prepareForAnalyse(ciphertext);     //and prepare it for the analyse (-> see private methods section)
    185             }                       
    186 
    187             modus = settings.Modus;                             //initialise which modus is used
    188             language = settings.Language;                       //initialise which language frequencys are expected
    189             finalIC = 0.0;                                      //initialise the highest index of coincidence to be found among all tests
    190 
    191             if (textkorpus != null)                             //1)  if there's a textkorpus given us it to calculate the expected frequency...
    192             {                                                   //    (-> see private methods section)
    193                 textkorpus = prepareForAnalyse(textkorpus);
    194                 EF = observedFrequency(textkorpus);
    195             }
    196             else                                                //OR
    197             {
    198                 EF = expectedFrequency(language);               //2) just use the expected frequency from the guessed language
    199             }                                                   //    (-> see private methods section)
    200 
     181                alphabet = settings.AlphabetSymbols;                //initialising the alphabet as given by the user       
     182
     183                ciphertext = InputCipher;                           //initialising the ciphertext
     184                ciphertext = prepareForAnalyse(ciphertext);         //and prepare it for the analyse (-> see private methods section)
     185                                   
     186
     187                modus = settings.Modus;                             //initialise which modus is used
     188                language = settings.Language;                       //initialise which language frequencys are expected
     189                finalIC = 0.0;                                      //initialise the highest index of coincidence to be found among all tests
     190
     191                if (textkorpus != null)                             //1)  if there's a textkorpus given us it to calculate the expected frequency...
     192                {                                                   //    (-> see private methods section)
     193                    textkorpus = prepareForAnalyse(textkorpus);
     194                    EF = observedFrequency(textkorpus);
     195                }
     196                else                                                //OR
     197                {
     198                    EF = expectedFrequency(language);               //2) just use the expected frequency from the guessed language
     199                }                                                   //    (-> see private methods section)
    201200
    202201//-----------------------------------------------------------------------------------------------------------------
     
    204203//-----------------------------------------------------------------------------------------------------------------
    205204
    206 
    207             if (InputKeylength != 0)                            //1) if the autokorrelation function has provided an assumed
    208             {                                                   //   keylength break the AutokeyCipher with it...
    209                 lock (this)                                     //   IMPORTANT: This is a critical Area and has to be used by only one thread
     205                if (InputKeylength != 0)                            //1) if the autokorrelation function has provided an assumed
     206                {                                                   //   keylength break the AutokeyCipher with it...
     207                    lock (this)                                     //   IMPORTANT: This is a critical Area and has to be used by only one thread
     208                    {
     209                        assumedkeylength = InputKeylength;
     210                        breakVigenereAutoKey(assumedkeylength);
     211                    }
     212                }
     213                else                                                //OR
    210214                {
    211                     assumedkeylength = InputKeylength;
    212                     breakVigenereAutoKey(assumedkeylength);
    213                 }
    214             }
    215             else                                                //OR
    216             {
    217                 maxkeylength = (ciphertext.Length / 40) + 1;    //2) Brute force the keylength up to (ciphertext.length / 40)
    218                 for (int d = 1; d <= maxkeylength; d++)
    219                 {
    220                     breakVigenereAutoKey(d);                    //"BREAK VIGENERE AUTO KEY(KEYLENGTH)" IS THE MAIN METHODE IN FINDING THE KEY FOR A GIVEN KEYLENGTH
    221                 }                                               //(-> see private methods section)
    222             }
    223 
    224             quickWatchPresentation.selectIndex((finalkey.Length) - 1);
    225 
    226             OutputKey = finalkey;                               //sending the key via output
    227             OnPropertyChanged("OutputKey");
     215                    maxkeylength = (ciphertext.Length / 40) + 1;    //2) Brute force the keylength up to (ciphertext.length / 40)
     216                    for (int d = 1; d <= maxkeylength; d++)
     217                    {
     218                        breakVigenereAutoKey(d);                    //"BREAK VIGENERE AUTO KEY(KEYLENGTH)" IS THE MAIN METHODE IN FINDING THE KEY FOR A GIVEN KEYLENGTH
     219                    }                                               //(-> see private methods section)
     220                }
     221
     222                quickWatchPresentation.selectIndex((finalkey.Length) - 1);
     223
     224                OutputKey = finalkey;                               //sending the key via output
     225                OnPropertyChanged("OutputKey");
     226            }
     227
    228228
    229229            ProgressChanged(1, 1);
    230230       
    231231        }
    232 
    233232//EXECUTE END------------------------------------------------------------------------------------------------------------
    234233
     
    332331
    333332        /// <summary>
    334         /// Convert a the letter to an int-value that resembles his position in the given alphabet
     333        /// Convert the letter to an int-value that resembles his position in the given alphabet
    335334        /// </summary>
    336335        private int getPos(char c)
Note: See TracChangeset for help on using the changeset viewer.