private void checkEncryption()
        {
            if (!this.HeaderPixel.IsEncrypted)
            {
                return;
            }
            var encrypter = new ImageEncryption(this.HiderImage, this.EmbedImage);

            this.EmbedImage = encrypter.EncryptedImage;
        }
        /// <summary>
        /// Generates a new random key that is within the valid keyspace
        /// with a randomly generated secret image.
        /// </summary>
        /// <param name="secretImageWidth">
        /// The width in pixels for the generated secret image.
        /// </param>
        /// <param name="secretImageHeight">
        /// The height in pixels for the generated secret image.
        /// </param>
        /// <returns>
        /// A new BioInspiredKey object whose values are within the
        /// correct logistic map keyspace for chaos and a randomly
        /// generated secret image.
        /// </returns>
        public static BioInspiredKey Generate(
            int secretImageWidth, int secretImageHeight)
        {
            BioInspiredKey newKey = Generate();

            newKey.SecretImage = ImageEncryption.GenerateSecretImage(
                secretImageWidth, secretImageHeight);

            return(newKey);
        }
        private async void encryptImageButton_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                var encryptedImage = await ImageEncryption.EncryptAsync(ImageDisplay, _sourceImageFile);

                ImageDisplay = encryptedImage;
            }
            catch (Exception)
            {
                await CustomDialog("Image cannot be encrypted");
            }
        }