visual-cryptography 0.1.0

A Rust implementation of main visual cryptography algorithms supporting multiple schemes and block sizes
Documentation

Visual Cryptography

A Rust implementation of visual cryptography algorithms supporting multiple schemes and configurable block sizes.

Overview

Visual cryptography is a cryptographic technique that allows visual information (images) to be encrypted in such a way that the decryption can be performed by the human visual system without any complex cryptographic computations. The basic principle involves splitting a secret image into multiple shares that appear as random noise, but when overlaid, reveal the original secret.

Implemented schemes

  • Naor & Shamir (1994)
  • XOR-based scheme for better contrast without pixel expansion (Naor & Shamir uses AND operation and 2x2 pixel expansion)
  • Nakajima & Yamaguchi (2002)
  • Taghaddos & Latif (2014)
  • Dhiman & Kasana (2018)

Schemes to be implemented

  • Visual cryptography for color images by Young–Chang Hou (2003) (didn't manage to find a free paper)
  • A QR code-based user-friendly visual cryptography scheme (QEVCS) by Lijing Ren & Denghui Zhang (2022)

Schemes to be evaluated

  • Extended Visual Cryptography for Natural Images (Nakajima & Yamaguchi, 2002) (don't like the current output, need thorough testing, smth is definitely wrong)