This Flask-based web application demonstrates how to perform brightness and contrast adjustments on encrypted images using homomorphic encryption. The application uses TenSEAL for encryption, NumPy and OpenCV for image manipulation, and AWS S3 for securely storing and retrieving encrypted data. Users can upload an image, apply operations directly on the encrypted data, and view the processed image without compromising data privacy.
- Encrypted Image Upload: Upload an image and preprocess it for encryption.
- Privacy-Preserving Operations: Perform brightness and contrast adjustments directly on encrypted data.
- Secure Storage: Store and retrieve encrypted images securely using AWS S3.
- Decryption and Download: Decrypt and download the processed image for local use.
- Homomorphic Encryption: Ensures data privacy throughout all operations.
- Flask: For building the web application.
- TenSEAL: For implementing homomorphic encryption.
- AWS S3: For encrypted image storage and retrieval.
- NumPy and OpenCV: For image processing and manipulation.
-
Clone the Repository:
git clone https://github.com/rahul07890-dev/Image-Manipulation-using-Homomorphic-Encryption.git cd Image-Manipulation-using-Homomorphic-Encryption -
Install Dependencies:
pip install -r requirements.txt
-
Configure AWS S3 Credentials:
- Set up AWS CLI and provide credentials for accessing the S3 bucket.
- Ensure the bucket name and object keys in the code match your S3 setup.
-
Run the Application:
python app.py
Image-Manipulation-using-Homomorphic-Encryption/
|
├── app.py # Main Flask application
├── encryption/ # Encryption and decryption utilities
├── static/ # Static files (CSS, JS, etc.)
├── templates/ # HTML templates
├── requirements.txt # Python dependencies
└── README.md # Project documentation
- Additional Image Operations: Support for more advanced manipulations (e.g., filtering, transformations).
- Performance Optimization: Enhance efficiency of encryption and processing.
- Cloud Integration: Add support for other cloud storage services (e.g., Google Cloud Storage, Azure).
- Enhanced UI: Improve the frontend interface for better user experience.
Contributions are welcome! Feel free to fork this repository, create a branch, and submit a pull request with your improvements or new features.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
- TenSEAL Documentation: For guidance on implementing homomorphic encryption.
- AWS Documentation: For resources on secure file storage.
- Open-Source Community: For inspiration and tools to build innovative applications.