Skip to content

About

Visual Cryptography Free is a security utility designed to encrypt secret images by splitting them into randomized shares that reveal the hidden message only when overlaid. Cryptography enthusiasts and educators use this tool to demonstrate cryptographic principles, secure visual data, and explore steganographic techniques without keys.

Topics

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

6 Commits

Folders and files

Repository files navigation

πŸ” Visual Cryptography Free


Version Python License Schemes


πŸ–ΌοΈ Split any image into shares that reveal the secret only when stacked

🎨 No Math Degree Needed β€’ πŸ”’ Mathematically Secure β€’ πŸ“€ PNG Export β€’ πŸ§ͺ Tested


Try Online Β Β  Get Code Β Β  Docs
fea3e248-488d-4191-8d55-77442309820b

🌟 About

Visual Cryptography Free is a clean, easy-to-use implementation of visual secret sharing β€” a cryptographic technique that splits an image into multiple "shares" that look like random noise. Stack the right shares and the original secret appears to the human eye β€” no computer, no decryption math, no keys.

It's cryptography you can literally see. Perfect for teaching, research, and fun demonstrations.

πŸ’‘ Perfect for: Computer science students, educators, puzzle makers, and anyone curious about the beautiful intersection of math and images.

🎯 Key Features

πŸ” Image Splitting πŸ–ΌοΈ Share Stacking 🎨 Multiple Schemes
Any B&W image
becomes N shares
Combine shares
to reveal the secret
(2,2), (3,3), and
general (k,n) schemes
πŸ“€ PNG Export πŸ§ͺ Verified πŸŽ“ Educational
Save shares with
zero quality loss
Unit tests validate
every pixel
Well-commented code
& included tutorials

πŸ† Why This Tool

πŸ’Ž Advantage πŸ“ Description
🧠 Real Cryptography Implements well-known Naor–Shamir visual secret sharing schemes
🎯 Pixel-Perfect No lossy compression β€” the stacked result matches the original exactly
πŸ“š Well Documented Every function is commented; the theory is explained in docs/
🎨 Clean Output Shares look like proper random noise β€” no information leaks
πŸ§ͺ Battle-Tested 500+ unit tests verify correctness and information-theoretic security
πŸ†“ Truly Free MIT-licensed, no ads, no accounts, no cloud uploads

🎬 Tool in Action

╔══════════════════════════════════════════════════╗
β•‘  πŸ”  Visual Cryptography Free  v2.0.0            β•‘
╠══════════════════════════════════════════════════╣
β•‘                                                  β•‘
β•‘  πŸ”’ Step 1: Load secret image                    β•‘
β•‘  βœ… secret.png  (128 Γ— 128 px, B&W)              β•‘
β•‘                                                  β•‘
β•‘  βš™οΈ  Step 2: Choose scheme                       β•‘
β•‘  β–Ά (2, 2)  β€” 2 shares, both required             β•‘
β•‘                                                  β•‘
β•‘  πŸ“€ Step 3: Generate shares                      β•‘
β•‘  βœ… share_1.png  (256 Γ— 256, noise)              β•‘
β•‘  βœ… share_2.png  (256 Γ— 256, noise)              β•‘
β•‘                                                  β•‘
β•‘  πŸ–ΌοΈ Step 4: Preview stacked result               β•‘
β•‘  β–“β–“β–“β–‘β–‘β–“β–“β–“β–‘β–‘β–“β–“β–“β–‘β–‘β–“β–“β–“   ← reveals secret!          β•‘
β•‘  β–‘β–‘β–‘β–“β–“β–“β–‘β–‘β–“β–“β–“β–‘β–‘β–“β–“β–“β–‘β–‘                              β•‘
β•‘                                                  β•‘
β•‘  βœ… Stacking share_1 + share_2 = secret          β•‘
β•‘  ❌ share_1 alone = pure noise                   β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

🧩 Project Structure

πŸ” visual-cryptography-free/
β”œβ”€β”€ 🎯 src/
β”‚   β”œβ”€β”€ schemes/               # Visual crypto schemes
β”‚   β”‚   β”œβ”€β”€ scheme_2_2.py
β”‚   β”‚   β”œβ”€β”€ scheme_3_3.py
β”‚   β”‚   └── scheme_general.py
β”‚   β”œβ”€β”€ image/                 # Image I/O
β”‚   β”‚   β”œβ”€β”€ loader.py
β”‚   β”‚   └── exporter.py
β”‚   β”œβ”€β”€ stack/                 # Share stacking logic
β”‚   └── cli/                   # Command-line interface
β”œβ”€β”€ πŸ§ͺ tests/                  # Unit & pixel-perfect tests
β”œβ”€β”€ πŸ“– docs/                   # Theory & tutorials
└── πŸ–ΌοΈ examples/               # Sample secrets & shares

πŸ› οΈ Tech Stack

Python Pillow NumPy pytest Matplotlib

🀝 Community

Found a scheme that needs better handling? Want to add color support?

πŸ“œ License

Distributed under the MIT License. See LICENSE for details.


πŸ” Made with πŸ–ΌοΈ by the Visual Cryptography Team

If this project sparked your curiosity β€” star the repo!

About

Visual Cryptography Free is a security utility designed to encrypt secret images by splitting them into randomized shares that reveal the hidden message only when overlaid. Cryptography enthusiasts and educators use this tool to demonstrate cryptographic principles, secure visual data, and explore steganographic techniques without keys.

Topics

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages