- 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.
- 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
Please make sure the following Python dependencies are installed before running the code
- Pillow
- pycryptodome
- numpy
- opencv-python
- pandas
- matplotlib
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
- Ubuntu
- 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.