Deep learning in image Cryptography
Image encryption and decryption using a chaotic map sequence and an autoencoder. The repository includes code for generating chaotic map sequences, shuffling and deshuffling images, preparing datasets, and computing performance metrics.
conda env create --file environment.ymlInstall packages
keygen==0.0.3
matplotlib==3.3.3
numpy==1.23.1
numpy==1.23.2
opencv_python==4.4.0.46
scikit_learn==0.23.2
skimage==0.0
tensorflow==2.3.0To install the required packages, run the following command:
pip install -r requirements.txtTo generate the chaotic map sequence, run the following command:
python generate_chaotic_map_sequence.pyTo shuffle and deshuffle an image, run the following command:
python shuffling_deshuffling_images.pyInput image
Shuffle image
Deshuffle image
To encrypt and decrypt an image using chaotic map sequence, run the following command:
python image_encryption_decryption.pyEncryption of image
Decryption of image
To prepare the dataset, run the following command:
python data_loader.pyTo use the autoencoder for image encryption and decryption, run the following command:
python auto_encoder.pyModel architecture
Model training
python train.pyModel loss performance graph
original_vs_compressed_vs_reconstruction
python inference.pyOriginal image
encoder compressed image
Decoder decompressed image
- Structural Similarity Index (SSIM)
python structural_similarity_SSIM_calculation.py- Number of pixel change rate (NPCR)
python nnumber_of_pixel_change_rate_NPCR_comparision.py- NPCR computation
image 1 output
image 2 output
- Unified Average Changing Intensity (UACI)
python unified_average_changing_intensity_UACI_comparision.py python salt_and_pepper_noise.pyNoisy image













