コード例 #1
0
        private void EncButton_Click(object sender, EventArgs e)
        {
            if (NOpenTB.Text == "" || EOpenTB.Text == "")
            {
                MessageBox.Show("Для зашифровки сообщения введите открытый ключ.", "Ошибка");
                return;
            }
            else if (!CheckKey(NOpenTB.Text) || !CheckKey(EOpenTB.Text))
            {
                MessageBox.Show("Открытый ключ содержит некорректные символы.", "Ошибка");
                return;
            }
            else if (InputRichTextBox.Text == "")
            {
                MessageBox.Show("Окно для ввода текста пусто", "Ошибка!");
                return;
            }
            else
            {
                TimeStart();
                Algorithm_RSA.AlgorithmRSA rsa = new Algorithm_RSA.AlgorithmRSA();

                string input = InputRichTextBox.Text;
                byte[] Enc   = rsa.Encrypt(input, E, n);
                enc = Enc;
                OutputRichTextBox.Clear();
                for (int i = 0; i < enc.Length; i++)
                {
                    OutputRichTextBox.Text += Enc[i];
                }

                TimeStop();
            }
        }
コード例 #2
0
        private void DecButton_Click(object sender, EventArgs e)
        {
            if (NCloseTB.Text == "" || DCloseTB.Text == "")
            {
                MessageBox.Show("Для зашифровки сообщения введите открытый ключ.", "Ошибка");
                return;
            }
            else if (!CheckKey(NCloseTB.Text) || !CheckKey(DCloseTB.Text))
            {
                MessageBox.Show("Открытый ключ содержит некорректные символы.", "Ошибка");
                return;
            }
            else
            if (OutputRichTextBox.Text == "")
            {
                MessageBox.Show("Окно для расшифровки пусто", "Ошибка");
                return;
            }
            else
            {
                TimeStart();
                Algorithm_RSA.AlgorithmRSA rsa = new Algorithm_RSA.AlgorithmRSA();

                OutputRichTextBox.Clear();
                OutputRichTextBox.Text = rsa.Decrypt(enc, D, n);

                TimerAlgorithm.Enabled = false;
                TimeStop();
            }
        }
コード例 #3
0
        private void GenButton_Click(object sender, EventArgs e)
        {
            Algorithm_RSA.AlgorithmRSA rsa = new Algorithm_RSA.AlgorithmRSA();
            BigInteger p = rsa.GeneratePrimaryLongNumber(), q = rsa.GeneratePrimaryLongNumber();

            n             = p * q;
            NOpenTB.Text  = n.ToString();
            NCloseTB.Text = n.ToString();

            F = (p - 1) * (q - 1);

            E            = rsa.GetEpsilon(F);
            EOpenTB.Text = E.ToString();

            D             = rsa.MultiplicativeInverse(E, F);
            DCloseTB.Text = D.ToString();
        }