private async void extractButton_Click(object sender, RoutedEventArgs e)
        {
            if (stego == null)
            {
                await this.ShowMessageAsync("Error", "Image is not selected. Please choose an image first.", MessageDialogStyle.Affirmative);

                //MessageBox.Show("Image is not selected. Please choose an image first.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            if (radioLSB.IsChecked == true)
            {
                text = LSB.ExtractText(stego);
            }
            else if (radioFibo.IsChecked == true)
            {
                text = Fibonacci.ExtractText(stego);
            }
            else if (radioEdge.IsChecked == true)
            {
                text = Canny.ExtractText(stego);
            }
            if (encrypt.IsChecked == true)
            {
                if (keyBox.Text != string.Empty)
                {
                    try
                    {
                        //richTextBox.Text = AES.StringCipher.Decrypt(text, keyBox.Text);
                        //var tmp = Encoding.UTF8.GetBytes(text.Substring(0, text.Length - 1));
                        //var base64 = Convert.ToBase64String(tmp);
                        richTextBox.Text = AES.StringCipher.Decrypt(text.Substring(0, text.Length - 1), keyBox.Text);
                    }
                    catch (FormatException ferr)
                    {
                        await this.ShowMessageAsync("Error", "Error Occured. " + ferr.Message, MessageDialogStyle.Affirmative);

                        // MessageBox.Show("Error Occured. " + ferr.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                    catch (Exception err)
                    {
                        await this.ShowMessageAsync("Error", "Error Occured. Please check key.", MessageDialogStyle.Affirmative);

                        //MessageBox.Show("Error Occured. Please check key." + err.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                }
                else
                {
                    await this.ShowMessageAsync("Error", "Provide cryptography key.", MessageDialogStyle.Affirmative);

                    //  MessageBox.Show("Provide cryptography key.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
            }
            else
            {
                richTextBox.Text = text.Substring(0, text.Length - 1);
            }
            //    richTextBox.Document.Blocks.Clear();
            //richTextBox.Document.Blocks.Add(new Paragraph(new Run(text)));
            //  MessageBox.Show("Successfully Generated. Now you can save.");
        }