Skip to content

A framework for Visual Secret Sharing, supporting multiple Visual Cryptography and Random Grid schemes

License

Notifications You must be signed in to change notification settings

coduri/VisualCrypto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VisualCrypto

A framework for image-based secret sharing

Python 3.8+ Documentation Available Contributions Welcome License


Overview

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.


Features

  • Supports Visual Cryptography (VC) & Random Grid (RG) techniques
  • Web-based & script-based execution
  • Easily extendable for new algorithms

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 framework in two ways:

  1. Running Python scripts
  2. 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:

Web App Encryption 1 Web App Encryption 2
Web App Decryption 1 Web App Decryption 2

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 framework 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.