Changeset 816


Ignore:
Timestamp:
Nov 3, 2009, 11:32:24 AM (12 years ago)
Author:
kohnen
Message:
  • minor changes at Transposition
  • added double transposition sample
Location:
trunk
Files:
1 added
1 edited

Legend:

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

    r801 r816  
    1414{
    1515    [Author("Daniel Kohnen, Julian Weyers, Simon Malischewski, Armin Wiefels", "kohnen@cryptool.org, weyers@cryptool.org, malischewski@cryptool.org, wiefels@cryptool.org", "Universität Duisburg-Essen", "http://www.uni-due.de")]
    16     [PluginInfo(false, "Transposition", "", "", "Transposition/Images/icon.png", "Transposition/Images/encrypt.png", "Transposition/Images/decrypt.png")]
     16    [PluginInfo(false, "Transposition", "Transposition cipher", "", "Transposition/Images/icon.png", "Transposition/Images/encrypt.png", "Transposition/Images/decrypt.png")]
    1717    [EncryptionType(EncryptionType.Classic)]
    1818    public class Transposition : IEncryption
     
    2727        private char[,] read_in_matrix;
    2828        private char[,] permuted_matrix;
     29        private int[] key;
    2930        # endregion
    3031
     32        /// <summary>
     33        /// Constructor
     34        /// </summary>
    3135        public Transposition()
    3236        {
     
    3438        }
    3539
     40        /// <summary>
     41        /// Get or set all settings for this algorithm.
     42        /// </summary>
    3643        public ISettings Settings
    3744        {
     
    4249        # region getter methods
    4350
     51        /// <summary>
     52        /// Get read in matrix.
     53        /// </summary>
    4454        public char[,] Read_in_matrix
    4555        {
     
    5060        }
    5161
     62        /// <summary>
     63        /// Get permuted matrix.
     64        /// </summary>
    5265        public char[,] Permuted_matrix
    5366        {
     
    5770            }
    5871        }
    59         # endregion
     72
     73        /// <summary>
     74        /// Get numerical key order.
     75        /// </summary>
     76        public int[] Key
     77        {
     78            get
     79            {
     80                return key;
     81            }
     82        }
     83        # endregion
    6084
    6185        # region Properties
     
    184208            try
    185209            {
    186                 int[] key = null;
    187 
    188210                if (keyword.Contains(','))
    189211                {
     
    212234            catch (Exception)
    213235            {
    214                 Transposition_LogMessage("Keyword is not valid" , NotificationLevel.Error);
     236                Transposition_LogMessage("Keyword is not valid", NotificationLevel.Error);
    215237                Output = "";
    216238            }
     
    230252                        {
    231253                            case TranspositionSettings.ReadInMode.byRow:
    232                             read_in_matrix = enc_read_in_by_row_if_row_perm(input, key.Length); break;
     254                                read_in_matrix = enc_read_in_by_row_if_row_perm(input, key.Length); break;
    233255                            case TranspositionSettings.ReadInMode.byColumn:
    234256                                read_in_matrix = enc_read_in_by_column_if_row_perm(input, key.Length); break;
     
    275297                        }
    276298                    }
    277 
    278299                    return encrypted;
    279300                }
     
    374395
    375396            int pos = 0;
    376 
    377397            char[,] matrix = new char[keyword_length, size];
     398
    378399            for (int i = 0; i < size; i++)
    379400            {
     
    387408                }
    388409            }
    389 
    390410            return matrix;
    391411        }
     
    418438                }
    419439            }
    420 
    421440            return matrix;
    422441        }
     
    458477                }
    459478            }
    460 
    461479            return matrix;
    462480        }
     
    486504                }
    487505            }
    488 
    489506            return matrix;
    490507        }
     
    493510        {
    494511            int size = input.Length / keyword.Length;
    495 
    496512            int offs = input.Length % keyword.Length;
    497513            if (offs != 0)
     
    536552                }
    537553            }
    538 
    539 
    540554            return matrix;
    541555        }
     
    544558        {
    545559            int size = input.Length / keyword.Length;
    546 
    547560            int offs = input.Length % keyword.Length;
    548561            if (offs != 0)
     
    587600                }
    588601            }
    589 
    590 
    591602            return matrix;
    592603        }
     
    595606        {
    596607            int size = input.Length / keyword.Length;
    597 
    598608            int offs = input.Length % keyword.Length;
    599609            if (offs != 0)
     
    638648                }
    639649            }
    640 
    641 
    642650            return matrix;
    643651        }
     
    646654        {
    647655            int size = input.Length / keyword.Length;
    648 
    649656            int offs = input.Length % keyword.Length;
    650657            if (offs != 0)
     
    689696                }
    690697            }
    691 
    692 
    693698            return matrix;
    694699        }
     
    698703            int x = keyword.Length;
    699704            int y = readin_matrix.Length / keyword.Length;
    700 
    701705            char[,] matrix = new char[x, y];
    702 
    703706            int pos = 0;
    704707
     
    718721                }
    719722            }
    720 
    721723            return matrix;
    722724        }
     
    726728            int y = keyword.Length;
    727729            int x = readin_matrix.Length / keyword.Length;
    728 
    729730            char[,] matrix = new char[x, y];
    730 
    731731            int pos = 0;
    732732
     
    746746                }
    747747            }
    748 
    749748            return matrix;
    750749        }
     
    754753            int x = keyword.Length;
    755754            int y = readin_matrix.Length / keyword.Length;
    756 
    757755            char[,] matrix = new char[x, y];
    758756
     
    764762                }
    765763            }
    766 
    767764            return matrix;
    768765        }
     
    772769            int x = keyword.Length;
    773770            int y = readin_matrix.Length / keyword.Length;
    774 
    775771            char[,] matrix = new char[y, x];
    776772
    777 
    778773            for (int i = 0; i < x; i++)
    779774            {
     
    783778                }
    784779            }
    785 
    786780            return matrix;
    787781        }
     
    791785            int x = keyword_length;
    792786            int y = matrix.Length / keyword_length;
    793 
    794787            String enc = "";
    795788            char empty_char = new char();
     
    806799                }
    807800            }
    808 
    809801            return enc;
    810802        }
     
    814806            int y = keyword_length;
    815807            int x = matrix.Length / keyword_length;
    816 
    817808            String enc = "";
    818809            char empty_char = new char();
     
    829820                }
    830821            }
    831 
    832822            return enc;
    833823        }
     
    837827            int x = keyword_length;
    838828            int y = matrix.Length / keyword_length;
    839 
    840829            String enc = "";
    841830            char empty_char = new char();
     
    852841                }
    853842            }
    854 
    855843            return enc;
    856844        }
     
    860848            int y = keyword_length;
    861849            int x = matrix.Length / keyword_length;
    862 
    863850            String enc = "";
    864851            char empty_char = new char();
     
    875862                }
    876863            }
    877 
    878864            return enc;
    879865        }
     
    895881
    896882                int[] keys = new int[length];
    897 
    898883                String tmp = "";
    899884                int pos = 0;
     
    920905                    }
    921906                }
    922 
    923907                return keys;
    924908            }
     
    948932                }
    949933            }
    950 
    951934            return true;
    952935        }
     
    967950                    keyChars[Array.IndexOf(keyChars, orgChars[i])] = (char)0;
    968951                }
    969 
    970952                return rank;
    971953            }
     
    976958        {
    977959            EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(msg, this, loglevel));
    978 
    979960        }
    980961
Note: See TracChangeset for help on using the changeset viewer.