"MATLAB (MATrix LABratory) is an interactive software system for computing numerical and graphic functions. From the name itself it shows that, MATLAB is software system specially designed for matrix computations for solving the problems in linear equations, computing Eigen values and Eigen vectors, factoring matrices, and so forth. A variety of graphical capabilities and extension through program written in its programming language are the additional features present in it. Many such programs come in evaluating the system, a number of these extend MATLAB'S capabilities to nonlinear problems, such as the solution of initial value problems for ordinary differential equations ".
MATLAB is designed specifically to solve problems numerically which is in finite-precision arithmetic. Because of this infinite-precision it gives approximate rather than exact solutions, and these results should not be mystified with a symbolic computation system (SCS) such as Mathematical functions or Maple. It doesn't mean MATLAB is better or worse than the Symbolic Computation Systems; MATLAB is a tool designed for different tasks of numerical and graphical computations and it's not directly comparable with any other computational programs. In the following sections, it gives an introduction to some of the most useful features of MALAB (David Hiebeler, 2009). MATLAB includes plenty of examples to learn and use the MATLAB in the best way, while running MALAB. MATLAB can be benefited by, Engineering personnel responsible for studies of electric power systems, control systems, and power electronics circuits will benefit from this course. This course will be also useful for engineers, researchers and educators involved in research and development for electrical engineering applications.
In this project MATLAB software has been used for implementing programs because of its versatile advantages when compare to other software tools. In MATLAB it has already inbuilt image processing tools so it can be easy to run the program. This has a simple programming environment which includes control structures like loops and selections. It can solve the linear algebraic system for vectors, matrices and some functionalities like computing products and sums,multiplication,inverse,factaorzations,exponentials and scaling, as in this project matrix and logical operation are used so MATLAB is preferred. Visualization of the functions and for the simulation process it has a simple graphic interface. The tool boxes which is used in a MATLAB is open component system based tool boxes, these tool boxes are can be formed and modified personalized and shared by the users.
Figure2: Shows the original image.
This Visual Information encryption has the original image which sandy has to be sent to Zen. This is the secret image that is to be embedded with the shadow image. The D-H Keys is used to generate the shadow image for this original image. This figure is developed in the Initialization Phase of the Cryptography. Initially the image which is to send in the secret form is chosen and then it is converted in the binary form with the help of two dimensional matrixes. Now the original image is ready to embed with the covered image that is common image. Hence it can be stated that the original image used for the security which is to be sent from Sandy to Zen.
Figure 3: Shows the common Image.
As the common image shown below in the figure 2 is a two dimensional image used to cover the original image. This image is having the property of the, it is formed by black and white blocks, the black block is least significant bit and white blocks are most significant bit. The pixels are divided n the format of the n version shares. This image is developed by the session key generation phase. This phase uses the Diffie-Hellman key agreement to generate the secret two shadow image. The common image is nothing but it is a shadow image of the original image in the same two dimensional matrix forms. So that it is easy to embed the two images for the security. Hence this states that the common image is used for hiding the original image in the form of two dimensional image.
Figure 4: Shows the secret image.
After hiding the original image with the help of the common shadow image then the image which is obtained is the secret image. There are two secret integers selected by the two parties Sandy and Zen. The two secret integers are selected by Sandy and Zen. With the help of the secret key generation this image is generated as. This is the secret image which is send by the sandy to Zen. This equation shows the image permuted function. The secret image is shown in the figure3. From the above context it can be understood that the two image are combined for forming the secret image.
Figure 5: Shows the reconstructed binary image.
Reconstructed binary image is shown in the figure 4. This binary image is developed in the Encryption phase. In this reconstructed binary image, if the image is selected randomly then the other image can be determined uniquely. By using some binary function to the image. The common image is computed with the help of computer. In this image the common image and binary image are seen partially. The encrypted image means removing of the shadow image from the original image, so that the encrypted image is not viewed clearly. To view this image clearly, this image should be decrypted. From the above context it can be understood that that reconstructed binary image is the image same as the watermarking format.
Figure 6: Shows the reconstructed color image.
To add color to the image decryption phase must be used in this stage. The image is decrypted by using the XOR operation at the decryption phase. At this stage the image can be viewed very clearly. This is the secret image obtained at the final stage of decryption. Although it is known fact that MATLAB is generally reliable, but crashes are possible when using third party MEX functions or extremely memory intensive operations, for example, with video and very large arrays. This can handle the two parties very easily. So while running the program must take care of the coding implemented.
Effectiveness of Proposed scheme
The effectiveness of this visual information encryption is proposed in a very efficient way this has many advantages such as:
Recording of the processing image is easy - By using the MATLAB in this proposed scheme it has a very simple general purpose programming language. When it is used to process images one generally writes function files, or script files to perform the operations. These image files form a formal record of the processing used and ensures that the final results can be tested and replicated by others in very easy way.
Access to implementation details - With the help of MATLAB this scheme provides many functions for image processing and other tasks. Most of these functions are written in the MATLAB language and are publicly readable as plain text files. Thus the implementation details of these functions are accessible and open to inspection. The defense can examine the processing used in complete detail, and any challenges raised can be responded to the image in an informed way by the prosecution. This makes the Visual information encryption very different from other image security applications, such as watermarking. It should be noted that some visual information functions cannot be viewed. These are generally lower level functions that are computationally expensive and are hence provided as code functions running as native code. These functions are heavily used and tested and can be trusted on this proposed scheme with considerable confidence.
Numerical Accuracy - In general, the image files store data to 8 bit precision. This corresponds to a range of integer values from 0-255 that is 256 bits. A pixel in a color image may be represented by three 8 bit numbers, each representing the red, green and blue components as an integer value between 0 and 255. Typically this is liberal precision for representing normal images. However as soon as one reads this image data into memory and starts to process it is very easy to generate values that lie outside the range 0-255. For example, to double the contrast of an image one multiplies the intensity values by 2. An image value of 200 will become 400 and numerical overflow will result. How this is dealt with will vary between image processing programs. Some may shorten the results to an integer in the range 0-255; others may perform the mathematical operations in floating point arithmetic and then rescale the final results to an integer in the range 0-255.
It is here that numerical precision, and hence image fidelity, may be lost. Some image processing algorithms result in some pixel values with very large magnitudes that is positive or negative. Typically these large values occur at points in the image where intensity discontinuities occur, the edges of the image are common sources of this problem. When this image with widely varying values is rescaled to integers in the range 0-255 much of this range may be used just to represent the few pixels with the large values. The bulk of the image data may then have to be represented within a small range of integer values, say from 0-50. Clearly this represents a considerable loss of image information. If another process is then applied to this image the problems can then accumulate. Trying to establish the extent of this problem, if any, is hard if one is using proprietary software. Being a general programming language it is possible to have complete control of the precision with which one represents data in MATLAB. An image can be read into memory and the data cast into double precision floating point values. All image processing steps can then be performed in double precision floating point arithmetic, and at no intermediate stage does one need to rescale the results to integers in the range 0-255. Only at the final point when the image is to be displayed and/or written to file does it need to be rescaled. Here one can use histogram truncation to eliminate extreme pixel values so that the bulk of the image data is properly represented. Only prime numbers are used to develop the secret key algorithm. A random 10digit number is used as standard recommendations. There is a certain limitation was positioned on the size of the prime number, in order to prevent the algorithm in taking several universe lifetimes in finding out the magnitude. The security will get reduced by implementing this. This reduction in number of prime number can be used for chat applications. The limitation which is specified above that is secret value calculated by both parties sender and receiver at the end of the algorithm was not a sufficient key length. So the image taking this value as a secret image and using this image to derive the encryption key. while both parties have the same secret image value they will get the same encryption key. This is a new visual cryptography scheme which combines the key agreement scheme with a shadow image without building a secure connection. Even if many eavesdroppers listen over the public communication channel, we can immediately transmit a secret message to others. The possible solution to this encryption is to use the visual data in the form of progressive, scalable, or embedded bit streams. In such bit streams the data is already organized in layers according to its visual importance due to the compression procedure and the bit streams do not have to be parsed to identify the parts that should be protected by the encryption process. In previous work, several suggestions have been made to exploit the base and enhancement layer structure of the scalable profiles as well as to use embedded bit streams and to construct efficient selective encryption schemes. Among various advantages of Visual Cryptography Schemes is the property that Visual Cryptography Scheme decoding relies purely on human visual system, which leads to a lot of interesting applications in private and public sectors of the society. Visual Cryptography is used with image, therefore giving the crypto analyst little to work with. As with any analysis techniques, having little cipher text inhibits the effectiveness of a technique being used to break an encryption. Hence the Visual Cryptography uses short image, public keys can be encrypted using this method. Visual Cryptography has proved that security can be attained with even simple encryption schemes.
In any key agreement protocol secrecy is an important security property and when compared to other protocols a new authenticated Diffie-Hellman key agreement protocol with half forward secrecy is proposed. It is based upon a single cryptographic assumption and it is user authentication and shared key authentication. This method efficiently provides forward secrecy when compared to other parties, it also reduces the damages resulted from the disclosure of the user's secret key and it is very beneficial for today's communication with portable devices. Die-Hellman key exchange protocol with the digital signature algorithm (DSA) is used to achieve mutual authentication of the established key. One of the parties may choose to reuse public keys in Die-Hellman key agreement protocol for reducing the computational workload and to mitigate against denial of service attacks. Key agreement is basically an essential in secure communication for establishing session keys. The proposed Die-Hellman key agreement protocol is effective based on a single cryptographic assumption and being user authentication as well as shared key authentication.