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.