Skip to content

Visual cryptography is a unique encryption technique where a secret image is divided into multiple transparent shares. Individually, these shares appear as random patterns and reveal nothing about the original image. However, when stacked together, they reconstruct the hidden image without requiring any computational tools.

License

Notifications You must be signed in to change notification settings

CSSASBU/Pardazeh-18-4-VisualCrypto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Visual Cryptography

What is Visual Cryptography?

Visual cryptography is an ingenious encryption method that combines simplicity with security. It’s a technique where an image, known as the secret image, is split into multiple shares—transparent images that look like random noise to the naked eye. Individually, these shares reveal nothing about the original image. However, when you align them correctly, they combine to reconstruct the hidden message or image without any need for decryption software or a computational process. The magic lies in how the human visual system naturally deciphers the image when the shares are overlaid.

The concept was introduced by Moni Naor and Adi Shamir in their groundbreaking 1994 paper, "Visual Cryptography". In their work, they detailed how to encode an image into shares in such a way that combining these shares could restore the original image. The beauty of their approach lies in its simplicity: the system relies purely on visual perception, making it accessible and secure. For more in-depth insights into their methodology, I encourage you to explore the paper itself. It’s a fascinating read that dives deep into the technical and mathematical underpinnings of this elegant concept.

How Does It Work?

At its core, visual cryptography operates by breaking each pixel of the secret image into multiple smaller blocks, which are distributed across the shares. For example, in a black-and-white image, a single black or white pixel in the original image might be represented as specific patterns across two shares. When the shares are stacked, these patterns align to recreate the original pixel.

One key feature of visual cryptography is that the original image can be perfectly reconstructed only when all the required shares are combined. With fewer than the required number of shares, no useful information about the secret image can be obtained, ensuring a high level of security.

Applications of Visual Cryptography

Visual cryptography has a wide range of applications, including secure image sharing, watermarking, and authentication systems. It’s particularly useful in scenarios where simplicity and security are paramount. For example, it can be used to distribute confidential information in a way that requires physical cooperation between parties to reconstruct the secret.

A Challenge for You!

To bring this concept to life, I’ve prepared a Visual Cryptography challenge inspired by Naor and Shamir’s 1994 paper. The challenge involves decrypting a message that has been encoded using their approach (Special Case of a 2 out of 2 Visual Secret Sharing Problem). To solve it, you’ll need to work with Python and two powerful libraries: NumPy and Pillow (PIL).

Your task is to programmatically combine the shares provided and reconstruct the hidden message. Use NumPy to handle the pixel-level manipulations and PIL for image processing. Pay attention to how patterns in the shares align to reveal the secret. This is a fantastic way to deepen your understanding of visual cryptography while sharpening your programming skills.

Good luck, and don’t forget to read Naor and Shamir’s paper if you want to master the theory behind this fascinating technique!

About

Visual cryptography is a unique encryption technique where a secret image is divided into multiple transparent shares. Individually, these shares appear as random patterns and reveal nothing about the original image. However, when stacked together, they reconstruct the hidden image without requiring any computational tools.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages