https://github.com/faisalahmedbijoy/image_cryptography_with_autoencoders
Deep learning in image Cryptography
https://github.com/faisalahmedbijoy/image_cryptography_with_autoencoders
cryptography deep-learning image image-processing security
Last synced: about 2 months ago
JSON representation
Deep learning in image Cryptography
- Host: GitHub
- URL: https://github.com/faisalahmedbijoy/image_cryptography_with_autoencoders
- Owner: FaisalAhmedBijoy
- Created: 2023-08-19T03:42:20.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-26T19:00:22.000Z (about 1 year ago)
- Last Synced: 2025-02-27T11:46:45.837Z (4 months ago)
- Topics: cryptography, deep-learning, image, image-processing, security
- Language: Python
- Homepage:
- Size: 31.6 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Image_Cryptography_with_Autoencoders
Deep learning in image CryptographyImage 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.
## Environment setup
```bash
conda env create --file environment.yml
```
**Install packages**```bash
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.0
```To install the required packages, run the following command:
```bash
pip install -r requirements.txt
```
## 1. Chaotic map sequence generation
To generate the chaotic map sequence, run the following command:
```bash
python generate_chaotic_map_sequence.py
```
## 2. Shuffle and Deshuffle image
To shuffle and deshuffle an image, run the following command:
```bash
python shuffling_deshuffling_images.py
```
**Input image**
**Shuffle image**

**Deshuffle image**

## 3. Encryption and Decryption of image using chaotic map sequence
To encrypt and decrypt an image using chaotic map sequence, run the following command:
```bash
python image_encryption_decryption.py
```
**Encryption of image**
**Decryption of image**

## 4. Dataset preparation
To prepare the dataset, run the following command:
```bash
python data_loader.py
```## 5. Autoencoder for image encryption and decryption
To use the autoencoder for image encryption and decryption, run the following command:
```bash
python auto_encoder.py
```**Model architecture**

**Model training**
```bash
python train.py
```
**Model loss performance graph**
## 6. Inferencing the model
*original_vs_compressed_vs_reconstruction*
```bash
python inference.py
```
**Original image**
**encoder compressed image**

**Decoder decompressed image**

## 7. Performance metrics
- Structural Similarity Index (SSIM)
```bash
python structural_similarity_SSIM_calculation.py
```
- Number of pixel change rate (NPCR)```bash
python nnumber_of_pixel_change_rate_NPCR_comparision.py
```
- NPCR computation**image 1 output**

**image 2 output**

- Unified Average Changing Intensity (UACI)
```bash
python unified_average_changing_intensity_UACI_comparision.py
```
## 8. Salt and paper noise
```bash
python salt_and_pepper_noise.py
```**Noisy image**
