Follow us on Facebook

Header Ads

K-N SECRET SHARING VISUAL CRYPTOGRAPHY SCHEME FOR COLOR IMAGE USING RANDOM NUMBER

K-N SECRET SHARING VISUAL CRYPTOGRAPHY SCHEME FOR COLOR IMAGE USING RANDOM NUMBER

ABSTRACT:
Visual Cryptography is a special encryption technique to hide information in images in such a way that it can be decrypted by the human visual system. The benefit of the visual secret sharing scheme is in its decryption process where without any complex cryptographic computation encrypted data is decrypted using Human Visual System (HVS). But the encryption technique needs cryptographic computation to divide the image into a number of parts let n. k-n secret sharing scheme is a special type of Visual Cryptographic technique where at least a group of k shares out of n shares reveals the secret information, less of it will reveal no information. In our paper we have proposed a new k-n secret sharing scheme for color image where encryption (Division) of the image is done using Random Number generator.

EXISTING SYSTEM:

Visual cryptography is the art and science of encrypting  the image in such a way that no-one apart from the sender and intended recipient even realizes the original image, a form of security through obscurity. By contrast, cryptography obscures the original image, but it does not conceal the fact that it is not the actual image.

LIMITATIONS:-
v The existing system does not provide a friendly environment to encrypt or decrypt the data (images).

v The existing system supports with only one type of image format only. For example, if it is .jpg, then it supports only that same kind of image format only.

PROPOSED SYSTEM:

Proposed system Visual cryptography provides a friendly environment to deal with images. Generally cryptography tools supports only one kind of image formats. Our application supports .gif and .png (portable network graphics) formatted images and our application has been developed using swing and applet technologies, hence provides a friendly environment to users.

Problem Definition: Whenever we transmit the data (image) in the network, any unauthenticated person can read our data (image). In order to provide security to data (image) generally sender will encrypt the data (image) and send it the intended person and the receiver will decrypt the encrypted data (image) and uses it.

MODULES :-

·        Interface design using UI frame work
·        Visual cryptography  implementation
·        Encoding
·        Decoding
·        Creating Transparencies
·        Un-hiding Image from Transparency
·        Testing and integration

MODULES DESCRIPTION:

Interface design using UI frame work
In this module, we design user interface design using UI frame work. The user interface should be very easy and understandable to every user. So that any one can access using our system. It must be supportable using various GUIs. The user interface also consists of help file. The help file assists on every concepts of the embedded visual cryptography. Help file should clearly depict the details of the project developed in simple language using various screen shoots.

Visual cryptography Implementation
This module is the core for the project, where we implement the Visual Cryptography. We used LZW Data Compression algorithm. The LZW data compression algorithm is applied for the gray scale image here. As a pre-processing step, a dictionary is prepared for the gray scale image. In this dictionary, the string replaces characters with single quotes. Calculations are done using dynamic Huffman coding. In compression of greyscale image select the information pixels. Then generate halftone shares using error diffusion method. At last filter process is applied for the output gray scale images. Filters are used to improve the quality of reconstructed image to minimize the noises for sharpening the input secret image.

Encoding
A high level view of the encoding algorithm is shown here:
1.     Initialize the dictionary to contain all strings of length one.
2.     Find the longest string W in the dictionary that matches the current input.
3.     Emit the dictionary index for W to output and remove W from the input.
4.     Add W followed by the next symbol in the input to the dictionary.
5.     Go to Step 2.
A dictionary is initialized to contain the single-character strings corresponding to all the possible input characters (and nothing else except the clear and stop codes if they're being used). The algorithm works by scanning through the input string for successively longer substrings until it finds one that is not in the dictionary. When such a string is found, the index for the string less the last character (i.e., the longest substring that is in the dictionary) is retrieved from the dictionary and sent to output, and the new string (including the last character) is added to the dictionary with the next available code. The last input character is then used as the next starting point to scan for substrings.
Decoding
The decoding algorithm works by reading a value from the encoded input and outputting the corresponding string from the initialized dictionary. At the same time it obtains the next value from the input, and adds to the dictionary the concatenation of the string just output and the first character of the string obtained by decoding the next input value. The decoder then proceeds to the next input value (which was already read in as the "next value" in the previous pass) and repeats the process until there is no more input, at which point the final input value is decoded without any more additions to the dictionary.
In this way the decoder builds up a dictionary which is identical to that used by the encoder, and uses it to decode subsequent input values. Thus the full dictionary does not need be sent with the encoded data; just the initial dictionary containing the single-character strings is sufficient (and is typically defined beforehand within the encoder and decoder rather than being explicitly sent with the encoded data.)
Creating Transparencies
This scheme provides theoretically perfect secrecy. An attacker who obtains either the transparency image or the screen image obtains no information at all about the encoded image since a black-white square on either image is equally likely to encode a clear or dark square in the original image. Another valuable property of visual cryptography is that we can create the second layer after distributing the first layer to produce any image we want. Given a known transparency image, we can select a screen image by choosing the appropriate squares to produce the desired image. One of the most obvious limitations of using visual cryptography in the past was the problem of the decoded image containing an overall gray effect due to the leftover black sub pixel from encoding. This occurred because the decoded image is not an exact preproduction, but an expansion of the original, with extra black pixel. Black pixel in the original document remains black pixel in the decoded version, but White pixel becomes gray. This resulted in a lot of contrast to the entire image. The extra black sub pixel in the image causes the image to become distorted.

D - Secret information. K - Number of shares generated from D. share - piece of information.

Divide data D into n pieces in such a way that D is easily reconstruct able from any k pieces, but even complete knowledge of any k-1 pieces reveals no information about D. Stacking two pixels (each consists of four sub-pixels) can occur for example the following two cases: Secret sharing scheme is a method of sharing secret information among a group of participants. In a secret sharing scheme, each participant gets a piece of secret information, called a share. When the allowed coalitions of the participants pool their shares, they can recover the shared secret; on the other hand, any other subsets, namely non-allowed coalitions, cannot recover the secret image by pooling their shares. In the last decade, various secret sharing schemes were proposed, but most of them need a lot of computations to decode the shared secret information.
The basic 2 out of 2 visual cryptography model consist of secret message encoded into two transparencies, one transparency representing the cipher text and the other acting as a secret key. Both transparencies appear to be random dot when inspected individually and provide no information about the original clear text. However, by carefully aligning the transparencies, the original secret message is reproduced. The actual decoding is accomplished by the human visual system. The original is encrypted into 2 transparencies you need both transparencies to decode the message.

Un-hiding Image from Transparency

The simplest form of visual cryptography separates an image into two layers so that either layer by itself conveys no information, but when the layers are combined the image is revealed. One layer can be printed on a transparency, and the other layer displayed on a monitor. When the transparency is placed on top of the monitor and aligned correctly, the image is revealed. For each image pixel, one of the two encoding options is randomly selected with equal probability. Then, the appropriate colorings of the transparency and screen squares are determined based on the color of the pixel in the image.

Testing and integration
This is the final module, which consists of integration of Visual cryptography implementation module into interface design using applet viewer. Then we need to test with various images and formation of transparencies. The transparencies should be able to save and load into the user interface.

HARDWARE REQUIREMENTS

                     SYSTEM             : Pentium IV 2.4 GHz
                     HARD DISK        : 40 GB
                     FLOPPY DRIVE  : 1.44 MB
                     MONITOR           : 15 VGA colour
                     MOUSE               : Logitech.
                     RAM                    : 256 MB
                     KEYBOARD       : 110 keys enhanced.

SOFTWARE REQUIREMENTS

                     Operating system           :-  Windows XP Professional
                     Front End            :-  Microsoft Visual Studio .Net 2008
                     Coding Language : - C# .NET.
REFERENCE:
SHYAMALENDU KANDAR, ARNAB MAITI, “K-N SECRET SHARING VISUAL CRYPTOGRAPHY SCHEME FOR COLOR IMAGE USING RANDOM NUMBER”, International Journal of Engineering Science and Technology (IJEST), 2012.