Example #1
0
        /// <summary>
        /// Вывод статистики по триграммам
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AAA_Click(object sender, RoutedEventArgs e)
        {
            Button b = (Button)sender;

            if (b.Name == "AAA2")
            {
                var data = Ngramm.NGrams(CripDecripBox.Text, 3);
                if (data.Count > Languege.z)
                {
                    new Stat(data).Show();
                }
                else
                {
                    ShowStat2(data);
                }
            }
            else
            {
                var data = Ngramm.NGrams(textBox1.Text, 3);
                if (data.Count > Languege.z)
                {
                    new Stat(data).Show();
                }
                else
                {
                    ShowStat(data);
                }
            }
        }
Example #2
0
        /// <summary>
        /// Мозки кнопки "расшифровать"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Decryption_Click(object sender, RoutedEventArgs e)
        {
            ClickTitle.Text = "Расшифрованный текст";
            var data = Ngramm.NGrams(textBox1.Text);

            ShowStat(data);
            dynamic textWK;

            switch (CriptMetod)
            {
            case "Vishener":
                var cm = GetCriptMetod("Vishener");
                //TYT
                if (GetWordAndKey != null)
                {
                    if (textBox1.Text == GetWordAndKey.Encoded)
                    {
                        textWK = GetWKClass("Vishener", GetWordAndKey.Encoded, GetWordAndKey.Key);
                    }
                    else
                    {
                        textWK = GetWKClass("Vishener", textBox1.Text, key.Text);
                    }
                }
                else
                {
                    textWK = GetWKClass("Vishener", textBox1.Text, key.Text);
                }
                ExecuteDecript(cm, textWK);
                break;

            case "ReverseVeshener":
                cm = GetCriptMetod("ReverseVeshener");
                if (GetWordAndKey != null)
                {
                    if (textBox1.Text == GetWordAndKey.Encoded)
                    {
                        textWK = GetWKClass("ReverseVeshener", GetWordAndKey.Encoded, GetWordAndKey.Key);
                    }
                    else
                    {
                        textWK = GetWKClass("ReverseVeshener", textBox1.Text, key.Text);
                    }
                }
                else
                {
                    textWK = GetWKClass("ReverseVeshener", textBox1.Text, key.Text);
                }
                ExecuteDecript(cm, textWK);
                break;

            case "Hill":
                cm = GetCriptMetod("Hill");
                if (GetWordAndKey != null)
                {
                    if (textBox1.Text == GetWordAndKey.Encoded)
                    {
                        textWK = GetWKClass("Hill", GetWordAndKey.Encoded, GetWordAndKey.Key);
                    }
                    else
                    {
                        textWK = GetWKClass("Hill", textBox1.Text, key.Text);
                    }
                }
                else
                {
                    textWK = GetWKClass("Hill", textBox1.Text, key.Text);
                }
                ExecuteDecript(cm, textWK);
                break;

            case "Permutation":
                cm = GetCriptMetod("Permutation");
                if (GetWordAndKey != null)
                {
                    if (textBox1.Text == GetWordAndKey.Encoded)
                    {
                        textWK = GetWKClass("Permutation", GetWordAndKey.Encoded, GetWordAndKey.Key);
                    }
                    else
                    {
                        textWK = GetWKClass("Permutation", textBox1.Text, key.Text);
                    }
                }
                else
                {
                    textWK = GetWKClass("Permutation", textBox1.Text, key.Text);
                }
                ExecuteDecript(cm, textWK);
                break;
            }
            data = Ngramm.NGrams(CripDecripBox.Text);
            ShowStat2(data);
        }
Example #3
0
        /// <summary>
        /// Реализация кнопки "Зашифровать"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Encryption_Click_1(object sender, RoutedEventArgs e)
        {
            var button = (Button)sender;

            if (button.Content.ToString() == "Зашифровать")
            {
                ClickTitle.Text = "Зашифрованный текст";
                var data = Ngramm.NGrams(textBox1.Text);
                ShowStat(data);
                dynamic textWK;
                switch (CriptMetod)
                {
                case "Vishener":
                    var cm = GetCriptMetod("Vishener");
                    if (GetWordAndKey != null)
                    {
                        if (textBox1.Text == GetWordAndKey.Word)
                        {
                            textWK = GetWordAndKey;
                        }
                        else
                        {
                            textWK = GetWKClass("Vishener", textBox1.Text, key.Text);
                        }
                    }
                    else
                    {
                        textWK = GetWKClass("Vishener", textBox1.Text, key.Text);
                    }
                    ExecuteCript(cm, textWK);
                    GetWordAndKey = textWK;
                    break;

                case "ReverseVeshener":
                    cm = GetCriptMetod("ReverseVeshener");
                    if (GetWordAndKey != null)
                    {
                        if (textBox1.Text == GetWordAndKey.Word)
                        {
                            textWK = GetWordAndKey;
                        }
                        else
                        {
                            textWK = GetWKClass("ReverseVeshener", textBox1.Text, key.Text);
                        }
                    }
                    else
                    {
                        textWK = GetWKClass("ReverseVeshener", textBox1.Text, key.Text);
                    }
                    ExecuteCript(cm, textWK);
                    GetWordAndKey = textWK;
                    break;

                case "Hill":
                    cm = GetCriptMetod("Hill");
                    if (GetWordAndKey != null)
                    {
                        if (textBox1.Text == GetWordAndKey.Word)
                        {
                            textWK = GetWordAndKey;
                        }
                        else
                        {
                            textWK = GetWKClass("Hill", textBox1.Text, key.Text);
                        }
                    }
                    else
                    {
                        textWK = GetWKClass("Hill", textBox1.Text, key.Text);
                    }
                    ExecuteCript(cm, textWK);
                    GetWordAndKey = textWK;
                    break;

                case "Permutation":
                    cm = GetCriptMetod("Permutation");
                    if (GetWordAndKey != null)
                    {
                        if (textBox1.Text == GetWordAndKey.Word)
                        {
                            textWK = GetWordAndKey;
                        }
                        else
                        {
                            textWK = GetWKClass("Permutation", textBox1.Text, key.Text);
                        }
                    }
                    else
                    {
                        textWK = GetWKClass("Permutation", textBox1.Text, key.Text);
                    }
                    ExecuteCript(cm, textWK);
                    GetWordAndKey = textWK;
                    break;
                }
                data = Ngramm.NGrams(CripDecripBox.Text);
                ShowStat2(data);
            }
            else
            {
                switch (HackMetod)
                {
                case "VigenereKey":
                    var cs = GetCriptSecur("VigenereKey");
                    cs.FindKey(key.Text);
                    var csh = new Normalizator();
                    csh.NormalizeKey(cs.GetKey, selectIndex);
                    MessageBox.Show(String.Join("\n\r", csh.Keys));
                    break;

                case "FindHillsKey":
                    cs = GetCriptSecur("FindHillsKey");
                    cs.FindKey(textBox1.Text, key.Text);
                    MessageBox.Show(cs.Ansver[0].ToString());
                    MessageBox.Show(cs.Ansver[1].ToString());
                    break;

                case "FindPermutationKey":
                    cs = GetCriptSecur("FindPermutationKey");
                    cs.FindKey(key.Text, textBox1.Text);
                    foreach (var k in cs.Key)
                    {
                        MessageBox.Show(String.Join(" ", k));
                    }
                    break;
                }
            }
        }