
gittech. site
for different kinds of informations and explorations.
Encrypt Images Without a Key (Visual Cryptography)
VisualCrypto
A toolkit for image-based secret sharing
Overview
VisualCrypto is an open-source Python-based toolkit with a web interface designed for Visual Secret Sharing (VSS), a cryptographic technique that splits 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.
Features
- Support for Visual Cryptography (VC) & Random Grid (RG) techniques
- Web-based & script-based execution for ease of use
- Easily extendable to incorporate new cryptographic schemes
- Reference-based implementation, ensuring that any scientific work derived from this repository maintains appropriate citations.
Getting Started
Installation
Clone the repository and install dependencies:
git clone https://github.com/coduri/VisualCrypto.git
cd VisualCrypto
pip install -r requirements.txt
Usage
You can interact with the toolkit in two ways:
- Running Python scripts
- Using the Web Interface
📌 For a step-by-step guide, check out the User Guide.
Web Interface
Below are sample screenshots of the web-based interface of VisualCrypto:




Contributing
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! 🚀
Main References
- 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
Citation
If you find this project useful for your research, please consider citing:
@misc{Coduri2025VisualCrypto,
author = {Christian Coduri},
title = {VisualCrypto: A Python-based toolkit for image-based secret sharing},
year = {2025},
publisher = {GitHub},
url = {https://github.com/coduri/VisualCrypto},
note = {GitHub repository}
}
License
This project is licensed under the MIT License. See the LICENSE file for details.