Esempio n. 1
0
        private void CiphertextAutokeyDecode(object sender, RoutedEventArgs e)
        {
            CiphertextAutokey ciphertextAutokey = new CiphertextAutokey();
            string            seed       = CiphertextAutokeySeedDecodeInput.Text;
            string            polynomial = CiphertextAutokeyPolynomialDecodeInput.Text;
            string            word       = CiphertextAutokeyDecodeInput.Text;

            CiphertextAutokeyDecodeOutput.Text = ciphertextAutokey.Decrypt(word, seed, polynomial);
        }
 public void Setup()
 {
     railFence         = new RailFence();
     matrixShift       = new MatrixShift();
     matrixShiftB      = new MatrixShiftB();
     matrixShiftC      = new MatrixShiftC();
     ceasarCipher      = new CeasarCipher();
     vigenere          = new Vigenere();
     ciphertextAutokey = new CiphertextAutokey();
 }
Esempio n. 3
0
        static void Main(string[] args)
        {
            string[] userInputStrings = new string[3];

            while (true)
            {
                string option = "_";

                Console.WriteLine("1. LSFRGenerator\n" +
                                  "2. Synchronous Steam Cipher\n" +
                                  "3. Ciphertext Autokey\n" +
                                  "4. Exit");
                Console.Write("Option: ");
                option = Console.ReadLine();


                switch (option[0])
                {
                case '1':
                {
                    userInputStrings = AskForUserInput(false);
                    LSFRGenerator lsfr = new LSFRGenerator(userInputStrings[0],
                                                           userInputStrings[1],
                                                           int.Parse(userInputStrings[2]));

                    string[] output = lsfr.Generate();

                    Console.WriteLine("Generated codes: ");
                    foreach (var item in output)
                    {
                        Console.WriteLine(item);
                    }

                    Console.WriteLine("\nPress any key to continue.");
                    Console.ReadKey(true);
                }
                break;

                case '2':
                {
                    userInputStrings = AskForUserInput(true);
                    SynchronousStreamCipher ssc = new SynchronousStreamCipher(userInputStrings[0],
                                                                              userInputStrings[1],
                                                                              userInputStrings[2]);

                    string output = ssc.Encipher();

                    Console.WriteLine("Enciphered output: " + output);

                    Console.WriteLine("\nDeciphering:");
                    userInputStrings = AskForUserInput(true);
                    ssc = new SynchronousStreamCipher(userInputStrings[0],
                                                      userInputStrings[1],
                                                      userInputStrings[2]);

                    output = ssc.Encipher();

                    Console.WriteLine("Deciphered output: " + output);

                    Console.WriteLine("\nPress any key to continue.");
                    Console.ReadKey(true);
                }
                break;

                case '3':
                {
                    userInputStrings = AskForUserInput(true);
                    CiphertextAutokey cta = new CiphertextAutokey(userInputStrings[0],
                                                                  userInputStrings[1],
                                                                  userInputStrings[2]);

                    string output = cta.Encipher();

                    Console.WriteLine("Enciphered output: " + output);

                    Console.WriteLine("\nDeciphering:");
                    userInputStrings = AskForUserInput(true);
                    cta = new CiphertextAutokey(userInputStrings[0],
                                                userInputStrings[1],
                                                userInputStrings[2]);

                    output = cta.Decipher();

                    Console.WriteLine("Deciphered output: " + output);

                    Console.WriteLine("\nPress any key to continue.");
                    Console.ReadKey(true);
                }
                break;

                case '4':
                    return;

                default:
                    break;
                }
            }
        }