Skip to content

This project encrypts and decrypts images by implementing algorithms like XOR operation based algorithms etc. Visual cryptography is a field which deals with the encryption and decryption of files like images, video and audio files. This project is done as a part of the masters coursework at NITK.

Notifications You must be signed in to change notification settings

fzd370/Visual-Cryptography

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Visual Cryptography

What is this project about?

  • Online payment methods are rapidly developing and entering every industry. Numerous applications that leverage this ground-breaking technology have emerged as a result of the digitization of the transaction process in payment systems. The expansion of online payment is undoubtedly one with a possibly much brighter future, from credit cards to NFC-based payment and now to UPI. But as technology develops, the risks associated with protecting it grow.
  • Analysis of several online payment system implementations showed that security is a major issue for both customers and business owners. Payment transactions are typically vulnerable to theft, fraud, and impersonation. The confidentiality, integrity, and availability of the system are at risk due to these security issues.
  • Public key cryptography and visual cryptography have been contrasted in order to offer the necessary security for the suggested system. The primary drawbacks of employing public key cryptography in online payment systems are the requirement for a third party to request and validate certificates, the requirement to protect the storage of the private keys and certificates on the device, and the cost of creating the public and private keys.
  • Visual cryptography, on the other hand, delivers secrecy, integrity, and authentication without requiring the transmission of any personal data and offers quick calculation and little processing time. Visual cryptography has been employed to offer security for the suggested online payment system based on these performance discrepancies.
  • The proposed payment method relies on sending data-carrying QR codes, therefore protecting the QR code will offer the required security. Visual cryptography is a technique used to protect visual data, which in the proposed project will be the QR code itself, thanks to recent developments in steganography and cryptographic algorithms.
  • The base paper I selected used VCS(2,2) algorithms. These algorithms divide the input image into two shares and these two shares are needed to get the original image back. As no algorithm was mentioned in the paper, I have implemented three different algorithms to divide the image into shares. Algorithms are implemented for both the binary images like QR code and the color images.

Repository structure

  • Project : contains the source code of three algorithms
  • images : the input images
  • Output : contains the original image and the decrypted image
  • Shares : contains the shares generated by the algorithm

Dependencies

Please make sure the following Python dependencies are installed before running the code

  • Pillow
  • pycryptodome
  • numpy
  • opencv-python
  • pandas
  • matplotlib

Run

After making sure all the required libraries are installed, use the following commands for the individual algorithms to run the program :

  • Modular_Binary : python3 Modular_Binary.py 5
  • Modular_Color : python3 Modular_Color.py 2 path_to_the_input_image
  • XOR_Binary : python3 XOR_Binary.py 2
  • XOR_Color : python3 XOR_Color.py 2 path_to_the_input_image

Environment

  • Ubuntu

Reference

  • Venkata Krishna Pavan Kalubandi, Hemanth Vaddi, Vishnu Ramineni, and Agilandeeswari Loganathan, "A novel image encryption algorithm using AES and visual cryptography," in International Conference on Next Generation Computing Technologies (NGCT), 2016 link.
  • Lina Ahmad; Rania Al-Sabha; Ali Al-Haj, "Design and Implementation of a Secure QR Payment System Based on Visual Cryptography", in International Conference on Information Management (ICIM), 2021link.

About

This project encrypts and decrypts images by implementing algorithms like XOR operation based algorithms etc. Visual cryptography is a field which deals with the encryption and decryption of files like images, video and audio files. This project is done as a part of the masters coursework at NITK.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages