private void DecryptButton_Click(object sender, EventArgs e)
        {
            if (EncryptedMessageTextBox.Text == string.Empty)
            {
                return;
            }

            var key = (Key)EncryptionKeysDropdown.SelectedItem;

            if (key.encryptionMode == Key.EncryptionMode.Manual)
            {
                if (!key.IsManualPrivateKeyValid)
                {
                    MessageBox.Show("A chave que deseja utilizar não suporta descriptografar.");
                    return;
                }
            }

            string decryptedMessage = EncryptionAgent.Decrypt(EncryptedMessageTextBox.Text, key);

            if (decryptedMessage != string.Empty)
            {
                DecryptedMessageTextBox.Text = decryptedMessage;
                EnableProcessedMessage(true, false);
            }
        }
        private void EncryptButton_Click(object sender, EventArgs e)
        {
            if (MessageTextBox.Text == string.Empty)
            {
                return;
            }

            var key = (Key)EncryptionKeysDropdown.SelectedItem;

            if (key.encryptionMode == Key.EncryptionMode.Manual)
            {
                if (!key.IsManualPublicKeyValid)
                {
                    MessageBox.Show("A chave que deseja utilizar não suporta criptografar.");

                    return;
                }
                else
                {
                    if (new BigInteger(Encoding.Unicode.GetBytes(MessageTextBox.Text)) >= key.Modulus / 2)
                    {
                        MessageBox.Show("A mensagem é muito grande para ser criptografada usando a chave selecionada");

                        return;
                    }
                }
            }

            string encryptedMessage = EncryptionAgent.Encrypt(MessageTextBox.Text, key);

            if (encryptedMessage != string.Empty)
            {
                ProcessedMessageTextBox.Text = encryptedMessage;
                EnableProcessedMessage(true, true);
            }
        }