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(); } }
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(); } }
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(); }