A framework for image-based secret sharing
VisualCrypto is a Python-based framework for Visual Secret Sharing (VSS), a cryptographic technique that divides a secret image into multiple shares. Each share appears as random noise and reveals no information on its own, but when combined, they reconstruct the original image.
This repository primarily focuses on (2,2)-VSS schemes, where a secret image is split into two shares, both of which are required to reveal the hidden content.
📌 For more details on VisualCrypto, visit the Project's Documentation.
- Supports Visual Cryptography (VC) & Random Grid (RG) techniques
- Web-based & script-based execution
- Easily extendable for new algorithms
Clone the repository and install dependencies:
git clone https://github.com/coduri/VisualCrypto.git
cd VisualCrypto
pip install -r requirements.txt
You can interact with the framework in two ways:
- Running Python scripts
- Using the Web Interface
📌 For a step-by-step guide, check out the User Guide.
Below are sample screenshots of the web-based interface of VisualCrypto:
Contributions are welcome!
If you’d like to implement a new Visual Secret Sharing algorithm or improve existing features, please check out our Contribution Guide.
Before submitting a pull request, ensure that:
- Your algorithm follows the required structure.
- You’ve tested both encryption & decryption.
- The web interface is correctly updated.
Thank you for helping improve VisualCrypto! 🚀
- Visual Cryptography: Naor, Moni, and Adi Shamir. "Visual cryptography." Advances in Cryptology—EUROCRYPT'94. Springer, 1995. DOI
- Random Grid: Kafri, Oded, and Eliezer Keren. "Encryption of pictures and shapes by random grids." Optics Letters 12.6 (1987): 377-379. DOI
If you find this project useful for your research, please consider citing:
@misc{Coduri2025VisualCrypto,
author = {Christian Coduri},
title = {VisualCrypto: A Python-based framework for image-based secret sharing},
year = {2025},
publisher = {GitHub},
url = {https://github.com/coduri/VisualCrypto},
note = {GitHub repository}
}
This project is licensed under the MIT License. See the LICENSE file for details.