Top Banner

of 93

Steganography Using Visual Cryptography

Oct 15, 2015

Download

Documents

This work is authored by Pratheek Praveen Kumar along with Ruchir Bhgat and Shiksha Suvarna, all three Telecommunications Engineers.

Digital Watermarking is the process of irreversibly embedding information into a digital signal. The signal may be audio, pictures or video. There are two types of Watermarking, Visible Watermarking and Invisible Watermarking. In Visible Watermarking, the information is visible in the picture or video. Typically, the information is text or a logo which identifies the owner of the media. Example of Visible Watermark is when a television broadcaster adds its logo to the corner of transmitted video. In Invisible Watermarking, information is added as digital data to audio, picture or video, but it cannot be perceived as such (although it is possible to detect the hidden information).

Digital Watermarking schemes are widely being used as potential solution for ownership protection. The Watermarking algorithms in general, may be viewed as digital communication scheme for imperceptible transmission of an auxiliary message through cover image. Several software implementations of the proposed algorithms are available, but very few attempts have been made for the property of robustness and they are not able to provide the good visual Recovery Watermark Image (IWD) as user aspect. This is accomplished by spreading one watermark bit over many samples of the Cover data using a modulated spreading sequence.
This is a study of this technology.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • STEGANOGRAPHY USING

    VISUAL CRYPTOGRAPHY

    AUTHORS

    PRATHEEK PRAVEEN KUMAR RUCHIR BHAGAT SHIKSHA SUVARNA

  • STEGANOGRAPHY

    USING VISUAL

    CRYPTOGRAPHY

    AUTHORS

    PRATHEEK PRAVEEN KUMAR RUCHIR BHAGAT

    SHIKSHA SUVARNA

  • iii

    ACKNOWLEDGEMENT

    We are deeply indebted to our project guide T.P. Mithun, Assistant Professor, for his guidance, valuable suggestions, timely and kind help throughout the course of the project. He stood as an inspiration throughout our project work and explained even the minute details very patiently at various stages of the project.

    We would also like to thank our HoD Dr. H.V. Kumaraswamy for giving us strength, encouragement, guidance, and support to persevere throughout this project despite many difficult obstacles.

    We express our heartfelt gratitude to Professor K.N. Raja Rao, Advisor, for immense support and encouragement provided.

    We express our sincere thanks to respected Dr. B.S. Satyanarayana, Principal, for providing us with inspiration, support and the required facilities.

    Finally, we want to thank our parents for providing us mental and emotional support throughout the project work. We also want to take this opportunity to thank our friends who stood behind us as an inspiration and rendered their full service to help us complete the project.

  • iv

    ABSTRACT

    Steganography and Visual Cryptography are gaining importance with time. Steganography is the art of hiding the fact that communication is taking place, by hiding information in other information like images, audios and videos. For hiding secret information in images, there exists a large variety of steganographic techniques. Some are

    more complex than others and all of them have their respective strengths and weaknesses. Visual Cryptography is a new cryptography technique which is used to secure the images using the secret sharing scheme.

    The Least Significant Bit (LSB) method is used in this project for steganography. The advantage of LSB is its simplicity to embed the bits of the message directly into the LSB plane of cover-image. It results in stego-images that contain hidden data yet appear to be of high visual fidelity. However, it is susceptible to RS steganalysis and therefore to make it more robust and secure we use Visual Cryptography.

    LSB method involves changing the least significant bit of the grayscale cover image in accordance with the normalized version of the black and white message image. Later the watermarked image undergoes visual cryptography using a threshold which divides it into two shares and then they are distributed to the participants. One level of encryption is then used to further secure the message. The decryption side just stacks the share images, thereby getting the original image. The normalization of the message image to embed into the cover image is carried out using the Arduino AtMega 328 board. The hard-coded message values consisting of white(255) and black(0) are normalized in the Arduino board. The board then sends the values back to the computer serially where the Matlab program accepts it and puts it in the form of a matrix.

    The performance of the proposed system is experimented by performing steganalysis and conducting benchmarking tests for analysing the parameters like Peak Signal to Noise Ratio (PSNR) and capacity. The PSNR and capacity values obtained from our method are better than those obtained from other existing techniques.

  • v

    TABLE OF CONTENTS

    Chapter No.

    Particulars Page No.

    Certificate i

    Declaration ii

    Acknowledgement iii

    Abstract iv

    Table Of Contents v

    List Of Figures vii

    List Of Tables viii

    List Of Abbreviations And Acronyms ix

    1 INTRODUCTION 1 1.1 Definitions 3 1.2 Literature Survey 3

    1.2.1 Need For Invisible Watermarking 4 1.2.2 Current State Challenges 5

    1.2.3 The Solution 5 1.2.4 Rules Of Invisible Watermarking 7 1.2.5 Existing Systems 8

    1.3 Motivation 12 1.4 Problem Statement 12 1.5 Objectives 12 1.6 Methodology 13

    1.7 Organisation Of the report 13

    2 THEORY AND FUNDAMENTALS 15 2.1 Lsb 15

    2.1.1 Technique Basics 15 2.1.2 Data Rate 16 2.1.3 Robustness 17 2.1.4 Ease of detection/Extraction 18 2.1.5 Suitability for steganography or watermarking 18 2.1.6 Problems and possible Solutions 18

    2.2 Correlation Based Technique 21 2.3 Frequency Domain Technique 22 2.4 Wavelet Watermarking Technique 24 2.5 Visual Cryptography 26

    2.6 Chapter Summary 29

    3 DESIGN 30 3.1 Software Requirement Specifications 30

    3.1.1 Overall Description 31 3.1.1.1 Product Perspective 31 3.1.1.2 Product Function 31

  • vi

    3.1.1.3 User Characteristics 32 3.1.2 Specific Requirements 32

    3.1.2.1 Functional Requirements 32 3.1.2.2 Non-Functional Requirements 33 3.1.2.3 Software Requirements 33

    3.1.3 Hardware Requirements 33 3.2 High Level Design 33

    3.2.1 Design Considerations 34 3.2.1.1 Development Methods 34 3.2.1.2 Attacks On Watermark Image 35 3.2.1.3 Desirable Characteristics Of Invisible Watermarking 36

    3.2.2 Architecture Strategies 36 3.2.3 System Architecture 37 3.2.4 Data Flow Diagrams 38

    3.2.5 Structure Chart 39 3.3 Chapter Summary 40

    4 IMPLEMENTATION 41 4.1 Implementation Requirements 41

    4.1.1 Programming Language Selection 41 4.1.2 Platform Selection 42

    4.2 Code Conventions 43 4.2.1 Naming Conventions 43 4.2.2 Method Names 44 4.2.3 Variable names 44 4.2.4 Comments 44 4.4 Chapter Summary 45

    5 RESULTS 46 5.1 Test Environment 46 5.2 Software Testing 47 5.3 Testing Methodologies 47 5.4 Unit Testing 47 5.5 Integration Testing 52 5.6 System Testing 54

    5.7 Comparison Table 58 5.8 Chapter Summary 58

    6 CONCLUSION 59 6.1 Limitations Of Project 59 6.2 Future Enhancement 59

    7 REFERENCES 61

    8 APPENDIX

  • vii

  • ix

    LIST OF ABREVIATIONS AND ACRONYMS

    ASCII American Standard Code for Information Interchange CDMA- Code Division Multiple Access DAMS- Digital Asset Management Systems

    DCT Discrete Cosine Transform DFD-Data Flow Diagram

    DWT Discrete Wavelet Transform

    EVC Extended Visual Cryptography FFT- Fast Fourier Transform

    GUI- Graphical User Interface

    HVS- Human Visual System JPEG-Joint Photographic Experts Group LSB- Least Significant Bit

    MPEG-Moving Picture Experts Group PN- Pseudo-random noise PSNR- Peak Signal- to-Noise Ratio SRS-Software Requirements Specification

    VC- Visual Cryptography VLSI-Very large Scale Integration

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 1

    CHAPTER 1

    Introduction

    Digital Watermarking is the process of irreversibly embedding information into a digital signal. The signal may be audio, pictures or video. There are two types of Watermarking,

    Visible Watermarking and Invisible Watermarking. In Visible Watermarking, the information is visible in the picture or video. Typically, the information is text or a logo which identifies the owner of the media. Example of Visible Watermark is when a television broadcaster adds its logo to the corner of transmitted video. In Invisible Watermarking, information is added as digital data to audio, picture or video, but it cannot be perceived as such (although it is possible to detect the hidden information).

    Digital Watermarking schemes are widely being used as potential solution for ownership

    protection. The Watermarking algorithms in general, may be viewed as digital communication scheme for imperceptible transmission of an auxiliary message through cover image. Several software implementations of the proposed algorithms are available, but very few attempts have been made for the property of robustness and they are not able to provide the good visual Recovery Watermark Image (IWD) as user aspect. This is accomplished by spreading one watermark bit over many samples of the Cover data using a modulated

    spreading sequence.

    The decoding process of the mentioned Invisible Robust Watermarking technique requires the data recovery processes either the whole or some part of the Cover Image or at least some information about the cover Image and sometimes watermarks information for the

    verification purpose. An important application of Invisible Watermarking is to copyright protection systems, which are intended to prevent or deter unauthorized copying of digital media. Annotation of digital photographs with descriptive information is another application of Invisible Watermarking. Figure 1.1(a), 1.1(b), 1.1(c) illustrates the paradigm for Watermark Image, Visible Watermarked Image and Invisible Watermarked Image.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 2

    Figure 1.1(a) Watermark Image

    Figure 1.1 (a) shows a typical watermark image that is to be embedded into the cover image.

    Figure 1.1(b) Visible Watermarked Image

    Figure 1.1(c) Invisible Watermarked Image

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 3

    1.1 Definitions

    Various terminologies related to this project have been explained in this section. Digital Watermarking: Digital Watermarking is the process of embedding information

    into a digital signal.

    The Digital Image Processing: Digital Image Watermarking is the process that embeds data called a Watermark object into a multimedia object such that the Watermark object can be detected or extracted later to make an assertion about the object.

    Visible Watermarks: It is the type in which the locations in which the Watermark is embedded are not secret.

    Invisible Watermarks: This is the type of Watermarking in which the Watermark image and the locations in which the watermark is embedded are secret, only the authorized

    persons extract the watermark.

    Cover Image: The image which encoded with the Watermark Image is called Cover Image,

    Watermark Image: The image which embedded to the Cover Image is called Watermark Image.

    Watermarked Image: The Cover Image is encoded with the Watermark Image to obtain Watermarked Image.

    1.2 Literature Survey

    The purpose of this literature survey is to provide background information on the issues to be considered in this thesis and to emphasize the relevance of the present study. In this section,

    the need for Invisible Robust Watermarking, challenges in designing and the solution for it has been discussed. The proposed system has been explained in brief. Figure 1.2 illustrates the Invisible Robust Watermarking. The new image is created by innovation, research or experience. This image is captured and stored, then the cover image and watermark image is

    first Watermarking and encoding, while decoding it decode the Recovery Watermarked Image and check the Performance Estimate and Analysis of the proposed system.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 4

    1.2.1 Need for Invisible Watermarking

    The Invisible Watermarking is a type where the locations of the Watermark Image are

    embedded is secret, only the authorized persons extract the watermark. The needs of Invisible Watermarking are:

    Ownership Protection In the ownership protection applications, a Watermarked Image containing ownership information is embedded to the multimedia host signal.

    Proof of ownership

    It is even more demanding to use Watermarking not only in the identification of the copyright ownership, but as an actual proof of ownership. This kind of watermark detection is usually called a blind detection.

    Fingerprinting

    Additional data embedded by Watermarking in the fingerprinting applications are used to trace the originator or recipients of a particular copy of multimedia file.

    Broadcast monitoring

    A variety of applications for audio Watermarking are in the field of broadcasting Watermarking is an obvious alternative method of coding identification information for an active broadcast monitoring.

    Figure 1.2 Invisible Watermarking Scheme

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 5

    1.2.2 Current State Challenges

    This section focuses on the Challenges and Constraints in the current day scenario where

    different teams are using watermarking environments. Everyday tons of data is embedded on digital media or distributed over the internet. The data so distributed can easily be replicated

    without error, putting the rights of their owners at risk. One way to discourage illegal duplication is to insert information known as Watermark, into potentially vulnerable data in such a way that it is impossible to separate the Watermark from the data. Digital Image Watermarking is the process that embeds data called a Watermark into a multimedia object such that the Watermark can be detected or extracted later to make an assertion about the object.

    1.2.3 The Solution

    The proposed system defines various approaches for Invisible Digital Image Watermarking,

    to secure the Cover Image by Watermarking techniques and to recover the Watermark if the user is authorized. The various Watermarking techniques used are Least Significant Bit Modification (LSB), Correlation-Based Technique in Spatial domain, Common Division Multiple Access (CDMA), Discrete-Cosine-Transform (DCT) in Frequency domain and Discrete Wavelet Transform (DWT) in Wavelet domain. The Cover Image is encoded with the Watermark Image to obtain Watermarked Image using the approaches mentioned. Later

    in decoding stage the Watermark Image is recovered if the user is authenticated.

    Image steganography is an emerging field of research for secure data hiding and transmission over networks. Hiding information by embedding secret data into an innocuous medium is often referred to as steganography. Steganography can be applied electronically by taking a message (a binary file) and some sort of cover (often a sound or image file) and combining both to obtain a stego-object. The RS analysis is considered as one of the most famous steganalysis algorithm which has the potential to detect the hidden message by the statistic

    analysis of pixel values [1]. The process of RS steganalysis uses the regular and singular groups as the considerations in order to estimate the correlation of pixels [2]. The presence of robust correlation has been witness in the adjacent pixels. But unfortunately using traditional LSB replacing steganography [3], the system renders the alteration in the proportion in

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 6

    singular and regular groups which exposes the presence of the steganography. Ultimately, it will not be so hard to decrypt the secret message. Both steganography and visual

    cryptography has been considered as a distinct topic for image security.

    Although there are extensive researches based on combining these two approaches [4] [5] [6], but the results are not so satisfactory with respect to RS analysis. Other conventional methods of image security has witnessed the use of digital watermarking extensively, which embeds another image inside an image, and then using it as a secret image [7]. The use of steganography in combination with visual cryptography is a sturdy model and adds a lot of challenges to identifying such hidden and encrypted data. Fundamentally, one could have a secret image with confidential data which could be split up into various encrypted shares. Finally when such encrypted shares are reassembled or decrypted to redesign the genuine image it is possible for one to have an exposed image which yet consists of confidential data. Such types of algorithms cannot persists without possessing appropriate characteristics in the

    visual cryptography procedure. The ground for this is that if the rebuilding method or even the encoding method changes the data exists in the image, then the system would accordingly

    change the encrypted information which makes the system feasible for extracting the encrypted data from the exposed image The steganalysis is the process to expose the confidential message even certain uncertain media. There are various attacks reported on Least Significant Bytes substitution of picture elements or bit planes [8][9]. Various histogram as well as block effect has also been reported in the prior research work [10].

    But certain RS steganalysis work has been reported as most concrete and appropriate technique to other conventional substitution steganography [11], which uses regular and singular groups as the elementary parameters to estimate the association of the pixels. In

    order to prevent RS analysis, the impact on the association of the pixels will be required to be

    compensated. Such types of compensation might be accomplished by adjusting other bit planes. By doing such attempt, the implications towards security will be almost

    computationally impossible. For such reason, various optimization algorithms can be deployed employed in secure data hiding to identify the optimal embedding positions. The main aim of the proposed model is to design a feasible RS resistance secure algorithm which combines the use of both steganography and visual cryptography with the goals of improving security, reliability, and efficiency for secret message.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 7

    1.2.4 Rules of Invisible Watermarking

    This section deals with different features of Invisible Watermarking domain; Watermarking

    is very similar to steganography in a number of respects. Both seek to embed information inside a cover message with little to no degradation of the cover-object. Watermarking however adds the additional requirement of Robustness. An ideal steganographic system would embed a large amount of information, perfectly securely with no visible degradation to the cover object. An ideal Watermarking system however would embed an amount of information that could not be removed or altered without making the cover object entirely unusable. As a side effect of these different requirements, a Watermarking system will often trade capacity and perhaps even some security for additional robustness. The different

    features are:

    Perceptibility: A Watermarked Image is of no use to anyone if it distorts the cover image, or even highly distracting [8].

    Robust: The ideal of Watermarking must also be highly entirely resistant to distortion introduced during either normal use (unintentional attack), or a deliberate attempt to disable or remove the watermark present (intentional, or malicious attack).

    Keys: Another property of an ideal watermarking is that it implement the use of keys to ensure that the approach is not rendered useless the moment that the algorithm becomes known [8].

    Capacity and Speed: These are slightly less important requirements of an ideal watermarking. A watermarking system must allow for a useful amount of information to

    be embedded into the image. This can range from a single bit all the way up to multiple paragraphs of text.

    Statistical Imperceptibility: The last possible requirement of an ideal watermarking system is that of statistical imperceptibility where the Watermarking algorithm must modify the bits of the Cover in such a way that the Statistics of the Image are not modified in any telltale fashion that may betray the presence of a Watermark [14].

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 8

    1.2.5 Existing Systems

    First we start with a few definitions. Cryptography can be defined as the processing of

    information into an unintelligible (encrypted) form for the purposes of secure transmission. Through the use of a key the receiver can decode the encrypted message (decrypting) to retrieve the original message. Stenography overcomes the problem of Cryptography by hiding the information and image at the time of sending the object. The message m is embedded into a harmless message c which is defined as the cover-object. The message m is then embedded into c, generally with use of a key k that is defined as the stego-key. The resulting message is then embedded into the cover-object c, which results in stego-object s. Ideally the stego-object is indistinguishable from the original message c, appearing as if no other information has been encoded [7]. This can all be seen below in figure 1.3.

    Figure 1.3 Illustration of a Stegographic System

    The Cover object is only used for the stego-object generation and is then discarded. The hope of the system is that the stego-object will be close enough in appearance and statistics to the original such that the presence of information will go undetected. The more difficult task is providing metrics for perceptibility and robustness. Petitcolas as well as others suggest the scheme listed below in table 1.1 for the evaluation of Perceptibility [14].

    Ghascmi ct al.. [12] proposed a novel steganography scheme based on integer wavelet transform and Genetic algorithm. Umamaheswari [13] compress the secret message and encrypt it by the receivers public key along with the stego key and embed both messages in a carrier using an embedding algorithm. Shyamalendu Kandar [14] proposed a technique of

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 9

    well known k-n secret sharing on color images using a variable length key with share division using random number. Anupam [15] describes how such an even-odd encryption based on ASCII value is applied and how encrypted message converting by using Gray code and embedding with picture can secured the message and thus makes cryptanalysts job difficult.

    To hide a binary image into two meaningful shares Chin-Chen Chang et al suggested patial-

    domain image hiding schemes. These two secret shares are embedded into two gray level cover images. To decode the hidden messages, embedding images can be superimposed.

    Balancing the performance between pixel expansion and contrast Liguo Fang recommend a (2, n) scheme based on combination. Threshold visual secret sharing schemes mixed XOR and OR operation with reversing and based on binary linear error-correcting code was suggested by Xiaoqing and Tan.

    The disadvantage of the above schemes is that only one set of confidential messages can be

    embedded, so to share large amounts of confidential messages several shares have to be generated [15].

    The secret images or text has been sent to the other party in such a way that if any Third person or hacker gets the message then he/she cannot find out the original message. This method is possible only when I use visual cryptography i.e. in this method I divide the image

    in different shares such that seeing single piece of share no-one can understand what the secret text is about. I can only get the final image when I stack all the shares or the threshold

    that I have set for the shares to get the final image. But during dividing the share processes their will be loss of contrast i.e. loss of some pixels due to which the final image will not be as clear as the original image. But this method is useful for many applications such as in Banks, Military etc [10].

    This method can withstand various signal processing attacks, including lossy compression,

    sharpen filtering, blur filtering and image cropping. Especially, it achieves robustness with respect to the image rotation and image rescaling [17].

    But the above method does not withstand the other types of attacks, such as additive noise, denoising attacks, watermark removal and interference attacks, statistical averaging, geometrical attacks [8].

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 10

    Visual cryptography technique is used to make the data secure. Here the original data is divided into a number of shares which are sent through different communication channels

    from sender to receiver. Therefore the intruder has less chance to get the whole information. But still it is not so secured.

    The main drawback of the algorithm is in its number of loops. For n=6, k=5 and a 32 bit pixel with 50% 1, number of loop operation required is 32. For n=6, k=4 with other conditions same, number of loop operation required is 48. For n=6, k=3 with other conditions same, number of loop operation required is 64 [20]. The experimental results show that the reconstructed image will not be as clear as the original image [3].

    Due to the nature of the traditional VC scheme, the size of the decoded image is unavoidably larger than the original image. In the future, we will introduce a probability-based model to solve this problem [18]. There are some flaws in the stated system. These flaws are as follows:

    1. Original image is of size MXN and the share is of size nXn. The size of the share changes

    at each level. Thus easily identified as shares which requires some more information. 2. The second one is, two share blocks of a white secrete pixel are similar while share blocks of black secret pixel are complementary. If pixels are black then its ok but in case of white pixel there an overhead of maintain redundant data of white pixels.

    3. Original image is divided into number of shares. From figure we see that the outer pixels are having less possible combinations of black and white pixels. Hence this system

    manipulates pixels partially. Due to this the system may not gives exact output [2]. Table 1.1 Summary of Possible Perceptibility Assurance Levels

    Level of Assurance Criteria Low - Peak Signal-to-Noise Ratio (PSNR)

    - Slightly perceptible but not annoying

    Moderate - Metric Based on perceptual model - Not perceptible using mass market equipment

    Moderate High - Not perceptible in comparison with original under

    studio conditions

    High - Survives evaluation by large panel of persons under

    the strictest of conditions.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 11

    The only rigorously defined metric above is PSNR, shown below in equation 1. The main

    reason for this is that no good rigorously defined metrics have been proposed that take the effect of the Human Visual System (HVS) into account. PSNR is provided only to give us a rough approximation of the quality of the Watermark. Further levels of evaluation rely

    strictly on observation under varied conditions, as shown in table 1.1.

    ( ) =yx

    yxyx

    yx

    PP

    pXYPSNR

    yx

    ,

    2,,

    2

    ,

    )max

    ,

    (1.1) Where,

    Px,y = Cover Image Px,y = Watermarked Image From this equation, we deduce that the higher the PSNR , the smaller the difference between

    the two images which indicates that a higher PSNR is better.

    In any watermarking or stenographic system the Watermarking is done by embed text strings into an image. The drawback however to this approach is that ASCII text in which each letter being represented with a certain pattern of bits. By compressing the watermark-object before insertion, robustness suffers.

    Due to the nature of ASCII codes, a single bit error due to an attack can entirely change the

    meaning of that character, and thus the message. It would be quite easy for even a simple task such as JPEG compression to reduce a copyright string to a random collection of characters.

    Rather than characters, the image which is an already highly redundant form can be use for Watermarking. Not only do images lend themselves to image watermarking applications, but the properties of the HVS can easily be exploited in recognition of a degraded watermark is shown in Figure 1.4 below:

    Figure 1.4 Ideal Watermark image vs. Object with 25% Additive Gaussian Noise

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 12

    Note that despite the high number of errors made in watermark detection, the retrieved watermark is still highly recognizable.

    1.3. Motivation

    Digital asset management systems (DAMS) generally handle media data in a compressed and encrypted form. It is sometimes necessary to watermark these compressed encrypted media items in the compressed-encrypted domain itself for tamper detection or ownership

    declaration or copyright management purposes. It is a challenge to watermark these compressed encrypted streams as the compression process would have packed the information of raw media into a low number of bits and encryption would have randomized the compressed bit stream. Attempting to watermark such a randomized bit stream can cause

    a dramatic degradation of the media quality. Thus it is necessary to choose an encryption scheme that is both secure and will allow watermarking in a predictable manner in the

    compressed encrypted domain.

    1.4 Problem statement

    The purpose of the proposed algorithm is to secure the Cover Image, JPEG 2000, by Watermarking technique and to recover the Watermark Image if the user is authorized. Several parameters - Elapsed Processing Time (TE), Peak Signal to Noise Ratio (PSNR), and Delay Processing Time (TD) are used to qualify the proposed approach, examining tests on the resulted Watermarked image, finally illustrated by graphical representations. Thus the

    proposed system uses Spread Spectrum technique of Watermarking to secure the Cover Image and determines whether the proposed algorithm is secure, robust and recovers Watermark Image with good perceivable quality with less time.

    1.5 Objectives

    The proposed approach of Watermarking Image in compressed-encrypted domain can be applied for authentication as well as secured communication in real time environment, copyright violation detection, proof of ownership or distributorship, media authentication.

    Digital watermarking is relatively a new way of protecting intellectual property. Embedded

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 13

    watermark will allow identifying the owner of work. This concept is applicable to digital video and audio also.

    1.6 Methodology

    The project is divided into two parts. The first part is called steganography where we use the Least Significant Bit (LSB) technique to embed the message image in the cover image. The LSB method involves changing the least significant bit of the greyscale cover image in accordance to the black and white message image. The black and white message image is initially normalized using a Arduino AtMega 328 board and then the pixel values are communicated serially back to the computer where the MatLab program uses these

    normalized values of the message image for creating a watermark. The watermark is then embedded into the cover image in order to create an image called as the watermarked image.

    The second part of the project is the visual cryptography part where the watermarked image is divided into two shares based on the visual secret sharing scheme using a threshold. The resultant two images are called as the stego images or shares. Each share then undergoes encryption according to the RC4IM standard. This is done in order to prevent unauthorized users from making sense of the unencrypted images. Then the encrypted shares are decrypted, after which the watermark embedded in the LSB of the resultant image is extracted to get the original image.

    1.7 Organisation of the report

    The project focuses on Invisible Image watermarking, where the main body of the project is preceded by detailed table of contents including list of figures, tables, and glossary followed

    by units used in the report which is followed by appendices which contains the screen shots and explains some of the key technology elements and off the shelf components used in the project. The body of the project also contains the Introduction to Invisible Image watermarking, literature survey done at the early stages of the project to collect the requirements and product use cases followed by high level design which focuses on developing the system architecture followed by detailed design where the system is broken

    down into modules.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 14

    The project also contains details of development and deployment environment used during the implementation of the project, the test cases executed to validate the features of the project followed by conclusion. The body of the project is divided into 7 chapters. Chapter 1-Introduction-Explains the importance of Invisible Image watermarking, scope, purpose and motivation behind this project work and gives an insight into the Invisible Image watermarking scenario. It also briefly explains the current state challenges and explains the

    existing system and brings out the differences between existing systems and proposed systems.

    Chapter 2-Theory and Fundamentals-Explains the LSB technique used along with its features for steganography. Gives a basic idea of the correlation based and frequency domain

    techniques. Explains the Visual cryptography technique and encryption with illustrations.

    Chapter 3-Design-Software Requirement Specifications- provides the Software Requirement Specification which explains the user characteristics, assumptions and dependencies, constraints and functional requirements of the system.

    High Level Design- discusses the High Level Design which explains the architectural strategies, system architecture, and Data Flow Diagram in the system.

    Chapter 4-Implementation covers the Implementation which explains the programming language, development environment, This chapter also puts light on the difficulties encountered in the course of implementation of the project and strategies used to tackle them. Chapter 5-Results - describes the various tests carried out to test the application. It includes unit testing, integration testing, and system testing with diagrams. It provides a comprehensive analysis of the whole program, in parts and as a whole.

    Chapter 6-Conclusion - gives the summary of the project, limitations in the developed system, and the future enhancements.

    Chapter 7-References- Technical papers and books which were referred to obtain an understanding of the existing technologies and requirements of the project have been included in the references section.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 15

    CHAPTER 2

    Theory and Fundamentals

    Steganography is the art of hiding the fact that communication is taking place, by hiding

    information in other information. It is the art of concealing a message in a cover without

    leaving a remarkable track on the original message. The Least Significant Bit method is used to hide the pixel values of the message image in the LSB of each pixel in the cover image. The technique has been demonstrated in part below and more extensively in Chapter 5.

    Since the LSB method is not very robust, we have incorporated Visual cryptography in order

    to make the algorithm more secure.

    2.1 LSB

    The most straight-forward method of watermark embedding would be to embed the watermark into the least-significant-bits of the cover object [6]. Given the extraordinarily high channel capacity of using the entire cover for transmission in this method, a smaller object may be embedded multiple times. Even if most of these are lost due to attacks, a single surviving watermark would be considered a success.

    2.1.1 Technique basics

    Today, when converting an analog image to digital format, we usually choose between three

    different ways of representing colors: 24-bit color: every pixel can have one in 2^24 colors, and these are represented as different quantities of three basic colors: red (R), green (G), blue (B), given by 8 bits (256 values) each.

    8-bit color: every pixel can have one in 256 (2^8) colors, chosen from a palette, or a table of colors.

    8-bit gray-scale: every pixel can have one in 256 (2^8) shades of gray. LSB insertion modifies the LSBs of each color in 24-bit images, or the LSBs of the 8-bit value for 8-bit images.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 16

    Example:

    The letter 'A' has an ASCII code of 65(decimal), which is 1000001 in binary. It will need three consecutive pixels for a 24-bit image to store an 'A': Let's say that the pixels before the insertion are: 10000000.10100100.10110101,10110101.11110011.10110111, 11100111.10110011.00110011

    Then their values after the insertion of an 'A' will be: 10000001.10100100.10110100,10110100.11110010.10110110, 11100110.10110011.00110011 (The values in bold are the ones that were modified by the transformation) The same example for an 8-bit image would have needed 8 pixels: 10000000, 10100100, 10110101, 10110101, 11110011, 10110111, 11100111, 10110011 Then their values after the insertion of an 'A' would have been: 10000001, 10100100, 10110100, 10110100, 11110010, 10110110, 11100110, 10110011 (Again, the values in bold are the ones that were modified by the transformation)

    From these examples we can infer that 1-LSB insertion usually has a 50% chance to change a LSB every 8 bits, thus adding very little noise to the original picture.

    For 24-bit images the modification can be extended sometimes to the second or even the third

    LSBs without being visible. 8-bit images instead have a much more limited space where to choose colors, so it's usually possible to change only the LSBs without the modification being detectable.

    2.1.2 Data Rate

    The most basic of LSBs insertion for 24-bit pictures inserts 3 bits/pixel. Since every pixel is 24 bits, we can hide

    3 hidden_bits/pixel / 24 data_bits/pixel = 1/8 hidden_bits/data_bits

    So for this case we hide 1 bit of the embedded message for every 8 bits of the cover image. If we pushed the insertion to include the second LSBs, the formula would change to: 6 hidden_bits/pixel / 24 data_bits/pixel = 2/8 hidden_bits/data_bits

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 17

    And we would hide 2 bits of the embedded message for every 8 bits of the cover image.

    Adding a third-bit insertion, we would get: 9 hidden_bits/pixel / 24 data_bits/pixel = 3/8 hidden_bits/data_bits

    Acquiring a data rate of 3 embedded bits every 8 bits of the image.

    The data rate for insertion in 8-bit images is analogous to the 1 LSB insertion in 24-bit images, or 1 embedded bit every 8 cover bits.

    We can see the problem in another light, and ask how many cover bytes are needed to send an embedded byte. For 1-LSB insertion in 24-bit images or in 8-bit images this value would be 8/1*8 = 8 Bytes, for 2-LSBs insertion in 24-bit pictures it would be 8/2*8 = 4 Bytes, for 3-LSBs insertion it would be 8/3*8 = 21.33 Bytes.

    2.1.3 Robustness

    LSB insertion is very vulnerable to a lot of transformations, even the most harmless and usual ones.

    Lossy compression, e.g. JPEG, is very likely to destroy it completely. The problem is that the

    "holes" in the Human Visual System that LSB insertion tries to exploit - little sensitivity to added noise - are the same that lossy compression algorithms rely on to be able to reduce the

    data rate of images.

    Geometrical transformations, moving the pixels around and especially displacing them from the original grid, are likely to destroy the embedded message, and the only one that could

    allow recovery is a simple translation.

    Any other kind of picture transformation, like blurring or other effects, usually will destroy the hidden data. All in all, LSB insertion is a robust technique for data hiding.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 18

    2.1.4 Ease of detection/extraction

    There is no theoretical outstanding mark of LSB insertion, if not a little increase of background noise. It's very easy, instead, to extract LSBs even with simple programs, and to check them later to find if they mean something or not.

    2.1.5 Suitability for steganography or watermarking

    First of all, since it is a so vulnerable technique even for simple processing, LSB insertion is almost useless for digital watermarking, where it must face malicious attempts at its destruction, plus normal transformations like compression/decompression or conversion to analog (printing or visualization)/conversion to digital (scanning).

    Its comparatively high data rate can point it as a good technique for steganography, where robustness is not such an important constraint.

    2.1.6 Problems and possible solutions

    Having stated that LSB insertion is good for steganography, we can try to improve one of its

    major drawbacks: the ease of extraction. We don't want that a malicious attacker be able to read everything we are sending.

    This is usually accomplished with two complementary techniques: Encryption of the message, so that who extracts it must also decrypt it before it makes sense Randomizing the placement of the bits using a cryptographical random function (scattering), so that it's almost impossible to rebuild the message without knowing the seed for the random function.

    In this way, the message is protected by two different keys, acquiring much more confidentiality than before. This approach protects also the integrity of the message, being much more difficult (we could say at least computationally infeasible) to counterfeit the message. Anyway, since we don't want our message to be only an encrypted and scrambled message, we must go back to the purpose of making the communication hidden.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 19

    The two most important issues in this problem are:

    the choice of images

    the choice of the format (24-bit or 8-bit, compressed or not)

    The cover image first of all must seem casual, so it must be chosen between a set of subjects that can have a reason to be exchanged between the source and the receiver.

    Then it must have quite varying colors, it must be "noisy", so that the added noise is going to be covered by the already present one. Wide solid-color areas magnify very much any little amount of noise added to them.

    Second, there is a problem with the file size, that involves the choice of the format. Unusually big files exchanged between two peers, in fact, are likely to arise suspicion.

    Let's calculate, for instance, what the size would be for a 500x300 image (150,000 pixels), quite common for pictures on the Internet, with the different color representations: 24-bit color: 150,000 pixels x 24 bits/pixel / 8 bits/byte = 90,000 Bytes ~= 440KB 8-bit color / grayscale (the occupancy is the same): 150,000 pixels x 8 bits/pixel / 8 bits/byte = 150,000 bytes ~= 146KB

    Looking at the size, we can see that a 24-bit uncompressed picture is of a quite uncommon

    size, because it's very strange that the sender didn't compress it, a practice that's widely used and wouldn't have worsened the image quality so much.

    To solve this problem, it has been studied a modification to the JPEG algorithm that inserts

    LSBs in some of the lossless stages or pilots the rounding of the coefficients of the DCT used to compress the image to encode the bits. Since we need to have small image file sizes, we

    should resort in using 8-bit images if we want to communicate using LSB insertion, because their size is more likely to be considered as normal.

    The problem with 256 colors images is that they make use of an indexed palette, and changing a LSB means that we switch a pixel from a position to an adjacent one. If there are

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 20

    adjacent contrasting colors in the palette, it can happen that a pixel in the image changes its color abruptly and the hidden message becomes visible.

    To solve this problem different methods have been studied, like rearranging the palette so that adjacent colors don't contrast so much, or even reducing the palette to a smaller number of colors and replicating the same entry in the table in adjacent positions, so that the difference after the embedding of the message is not visible at all. Moreover for most images the reduction of colors from, for instance, 256 to 32 is hardly visible.

    Most of the experts, anyway, advise to use 8-bit grayscale images, since their palette is much less varying than the color one, so LSB insertion is going to be very hard to detect by the human eye.

    LSB substitution however despite its simplicity brings a host of drawbacks. Although it may

    survive transformations such as cropping, any addition of noise or lossy compression is likely to defeat the watermark. An even better attack would be to simply set the LSB bits of each

    pixel to one fully defeating the watermark with negligible impact on the cover object. Furthermore, once the algorithm is discovered, the embedded watermark could be easily modified by an intermediate party.

    An improvement on basic LSB substitution would be to use a pseudo-random number generator to determine the pixels to be used for embedding based on a given seed or key

    [6]. Security of the watermark would be improved as the watermark could no longer be easily viewed by intermediate parties. The algorithm however would still be vulnerable to replacing the LSBs with a constant. Even in locations that were not used for watermarking bits, the impact of the substitution on the cover image would be negligible. LSB modification proves

    to be a simple and fairly powerful tool for stenography, however lacks the basic robustness that watermarking applications require.

    2.2 Correlation Based Technique

    Another technique for watermark embedding is to exploit the correlation properties of

    additive pseudo-random noise patterns as applied to an image [9]. A pseudo-random noise

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 21

    (PN) pattern W(x,y) is added to the cover image I(x,y), according to the equation shown below in equation 2.

    ),(*),(),( yxWkyxIyxI w += (2.1)

    where,

    Iw(x,y) = Watermarked Image I(x,y) = Cover Image W(x,y) = Pseudo-random Noise pattern In equation 2, k denotes a gain factor, and IW the resulting watermarked image. Increasing k increases the robustness of the watermark at the expense of the quality of the watermarked image.

    To retrieve the watermark, the same pseudo-random noise generator algorithm is seeded with

    the same key, and the correlation between the noise pattern and possibly watermarked image computed. If the correlation exceeds a certain threshold T, the watermark is detected, and a

    single bit is set. This method can easily be extended to a multiple-bit watermark by dividing the image up into blocks, and performing the above procedure independently on each block.

    2.3 Frequency Domain Technique

    An advantage of the spatial techniques discussed above is that they can be easily applied to any image; regardless of subsequent processing (whether they survive this processing however is a different matter entirely). A possible disadvantage of spatial techniques is they do not allow for the exploitation of this subsequent processing in order to increase the robustness of the watermark.

    In addition to this, adaptive watermarking techniques are a bit more difficult in the spatial domain. Both the robustness and quality of the watermark could be improved if the properties of the cover image could similarly be exploited.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 22

    Taking these aspects into consideration, working in a frequency domain of some sort becomes very attractive. The classic and still most popular domain for image processing is

    that of the Discrete-Cosine-Transform, or DCT. The DCT allows an image to be broken up into different frequency bands, making it much easier to embed watermarking information into the middle frequency bands of an image. The middle frequency bands are chosen such that they have minimize they avoid the most visual important parts of the image (low frequencies) without over-exposing themselves to removal through compression and noise attacks (high frequencies) [9]. One such technique utilizes the comparison of middle-band DCT coefficients to encode a single bit into a DCT block. To begin, we define the middle-band frequencies (FM) of an 8x8 DCT block as shown below in figure 2.1.

    FLFM

    Figure 2.1 Definitions of DCT Regions

    FL is used to denote the lowest frequency components of the block, while FH is used to denote the higher frequency components. FM is chosen as the embedding region as to provide

    additional resistance to lossy compression techniques, while avoiding significant modification of the cover image [5].

    Next two locations Bi(u1,v1) and Bi(u2,v2) are chosen from the FM region for comparison. Rather than arbitrarily choosing these locations, extra robustness to compression can be achieved if we base the choice of coefficients on the recommended JPEG quantization table shown below in table 2.1. If two locations are chosen such that they have identical

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 23

    quantization values, we can feel confident that any scaling of one coefficient will scale the other by the same factor preserving their relative size.

    Table2.1 Quantization values used in JPEG compression scheme

    16 11 10 16 24 40 51 61

    12 12 14 19 26 58 60 55

    14 13 16 24 40 57 69 56

    14 17 22 29 51 87 80 62

    18 22 37 56 68 109 103 77

    24 35 55 64 81 104 113 92

    49 64 78 87 103 121 120 101

    72 92 95 98 112 100 103 99

    Based on the table, we can observe that coefficients (4,1) and (3,2) or (1,2) and (3,0) would make suitable candidates for comparison, as their quantization values are equal. The DCT block will encode a 1 if Bi(u1,v1) > Bi(u2,v2); otherwise it will encode a 0. The coefficients are then swapped if the relative size of each coefficient does not agree with the bit that is to be encoded [6].

    The swapping of such coefficients should not alter the watermarked image significantly, as it is generally believed that DCT coefficients of middle frequencies have similar magnitudes. The robustness of the watermark can be improved by introducing a watermark strength

    constant k, such that Bi(u1,v1) - Bi(u2,v2) > k. Coefficients that do not meet this criteria are modified though the use of random noise as to then satisfy the relation. Increasing k thus reduces the chance of detection errors at the expense of additional image degradation [6].

    2.4 Wavelet Watermarking Technique

    Another possible domain for watermark embedding is that of the wavelet domain. The DWT (Discrete Wavelet Transform) separates an image into a lower resolution approximation image (LL) as well as horizontal (HL), vertical (LH) and diagonal (HH) detail components.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 24

    The process can then be repeated to computes multiple scale wavelet decomposition, as in the 2 scale wavelet transform shown below in figure 2.2.

    LL2

    LH1

    HL1

    HH1

    HH2LH2

    HL2

    Figure 2.2 2 Scale 2-Dimensional Discrete Wavelet Transform

    One of the many advantages over the wavelet transform is that that it is believed to more

    accurately model aspects of the HVS as compared to the FFT or DCT. This allows us to use higher energy watermarks in regions that the HVS is known to be less sensitive to, such as

    the high resolution detail bands {LH,HL,HH). Embedding watermarks in these regions allow us to increase the robustness of our watermark, at little to no additional impact on image quality [9].

    One of the most straightforward techniques is to use a similar embedding technique to that used in the DCT, the embedding of a CDMA sequence in the detail bands according to the equation shown below in equation 5,

    +=

    HHLLvuWLHHLvuxWW

    Ii

    iiivuW

    ,,

    ,,,

    ,

    (2.2)

    where,

    = Scaling Factor

    Wi = Coefficient of the transformed image

    xi = Bit of the watermark to be embedded

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 25

    To detect the watermark we generate the same pseudo-random sequence used in CDMA generation and determine its correlation with the two transformed detail bands. If the

    correlation exceeds some threshold T, the watermark is detected.

    This can be easily extended to multiple bit messages by embedding multiple watermarks into the image. As in the spatial version, a separate seed is used for each PN sequence, which are then added to the detail coefficients. During detection, if the correlation exceeds T for a particular sequence a 1 is recovered; otherwise a zero. The recovery process then iterates

    through the entire PN sequence until all the bits of the watermark have been recovered.

    2.5 Visual Cryptography

    Visual cryptography (VC), first proposed in 1914 by Naor and Shamir. It is a secret sharing scheme, based on black-and-white or binary images. Secret images are divided into

    share images which, on their own, reveal no information of the original secret. Shares may be distributed to various parties so that only by collaborating with an appropriate number of

    other parties can the resulting combined shares reveal the secret image. Recovery of the secret can be done by super imposing the share images and hence the decoding process requires no special hardware or software and can he simply done by the human eye. Visual cryptography is of particular interest for security applications based on biometrics. For example, biometric information in the form of facial, finger print and signature images can be kept secret by partitioning into shares, which can be distributed for safety to a number of

    parties. The secret image can then recovered when all parties release their share images which are then recombined.

    A basic 2-out-of-2 or (2, 2) visual cryptography scheme produces 2 share images from an original image and must stack both shares to reproduce the original image. More generally a (k, n.) scheme produces n shares, but only requires combining k shares to recover the secret image. To preserve the aspect ratio for the recovered secret image for a (2, 2) scheme each pixel in the original image can be replaced in the share images by a 2 x 2 block of pixels. As shown in Table 2.2, if the original pixel is white, one of six combinations of share pixels is randomly created. Similarly, the possible share combination for black pixels is also shown.

    After stacking the shares with white transparent and black opaque, the original secret image

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 26

    will be revealed. Stacking can be viewed as mathematically ORing, where white is equivalent to O and black is equivalent to 1. The process is illustrated in Figure 2.3 for a simple

    binary image. Note that the resulting share images and the recovered secret image contain 4 times more pixels than the original image (since each pixel of the original image was mapped to four subpixels). It may also be noted that the recovered image has a degradation in visual quality (specifically, the contrast between white and black is decreased) since a recovered white pixel is actually comprised of 2 white and 2 black subpixels. A black pixel is represented by 4 black subpixels in the recovered image.

    Table 2.2: Illustration of a (2; 2) VC Scheme with 4 Subpixels

    (a) (b)

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 27

    (c) (d) Fig. 2.3. Example of a (2; 2) VC Scheme with 4 Subpixels: (a) secret Dancers image; (b) reconstructed Dancers image; (c)first share; (d)

    second share

    It is also obvious that, while the shares appear to be random (and, in fact. can be shown to contain no informational content that can be used to recover the original secret image on their

    own), the shares also have no interesting content that could be used to carry other information (such as a biometric image) that might be helpful in a security context. For example, if a share image could he selected to be the finger print of the share holder, this could be useful in authenticating a users right to hold that share when the parties meet to combine their share images to reveal the secret. In 1996, Ateniese, Bliijido and Stinson proposed extended visual cryptography (EVC) schemes that can construct meaningful share images. The (2, 2) EVC scheme proposed in 141 required expansion of one pixel in the original image to 4 subpixels which can then be selected to produce the required images for each share. It can be shown that the resulting scheme is, in fact, also perfectly secure. in that. no share image leaks any

    information of the original secret image. Figure 2.4 illustrates a (2, 2) scheme containing the original binary secret image, Engineering, with two cover images, Memorial and University embedded into the shares.

    (a) (b)

    (b) (d)

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 28

    (e) (f) Fig. 2.4. Example of (2; 2) EVC Scheme: (a) first cover image; (b) second cover image; (c) secret image; (d) share 1; (e) share 2; (f)

    recovered secret image.

    Although visual cryptography operates on binary images. It can be applied to grayscale

    images by using a half-toning algorithm to first convert the grayscale image to a binary image. This allows for use of visual cryptography schemes to biometric images which are naturally and meaningfully grayscale such as facial images. Hence using half-toning techniques to convert grayscale images to binary images is a useful pre-processing step for visual

    cryptography. However the half-toning process applied to a grayscale image results in a reduction of the image quality and since Visual Cryptography schemes also result in a

    reduction in image quality, mitigating image degradation becomes an important objective in a visual cryptography scheme. Previous schemes integrating half-toning and visual cryptography have suffered from issues such as image expansion (that is, requiring significantly more pixels for the shares and/or recovered secret image) and compromise of the security of the scheme.

    2.6 Chapter Summary

    An extensive description of the methods used in the program has been given above. The LSB

    method, the Visual cryptography method, the different techniques namely Frequency domain technique, correlation based technique and wavelet Watermarking technique have been described.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 29

    CHAPTER 3

    Design

    Design is one of the most important phases of software development. The design is a creative process in which a system organization is established that will satisfy the functional and non-

    functional system requirements. Large Systems are always decomposed into sub-systems that provide some related set of services. The output of the design process is a description of the

    Software architecture.

    3.1 Software Requirement Specification

    A Software Requirements Specification (SRS) is a complete description of the behavior of the system to be developed. It includes the functional and non functional requirement for the

    software to be developed. The functional requirement includes what the software should do and non functional requirement include the constraint on the design or implementation of the system. Requirements must be measurable, testable, related to identified needs or opportunities, and defined to a level of detail sufficient for system design. What the software

    has to do is directly perceived by its users either human users or other software systems. The common understanding between the user and developer is captured in requirements

    document. The writing of software requirement specification reduces development effort, as careful review of the document can reveal omissions, misunderstandings, and inconsistencies

    early in the development cycle when these problems are easier to correct. The SRS discusses the product but not the project that developed it; hence the SRS serves as a basis for later enhancement of the finished product. The SRS may need to be altered, but it does provide a foundation for continued production evaluation. This chapter is divided as:

    Overall Description

    Specific Requirements

    o Functional Requirement

    o Non Functional Requirement

    o Performance Requirements

    o Supportability

    o External Interface Requirement

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 30

    3.1.1 Overall Description

    This section provides a description of the general factors that affect the product and its

    requirements and also specifies the requirement, both for software and hardware which makes them easier to understand.

    3.1.1.1 Product Perspective

    A kernel observation and brief summary of this proposed approach is to perform copyright violation detection, proof of ownership or distributorship, media authentication, as sometimes

    watermarking need to be carried out in compressed-encrypted domain with Robustness and display the good Visual Recovery Watermark Image. Thus, the key problem is to calculate

    the Performance Estimated and Analysis which can decide the Robustness of the technique, TE and TD.

    3.1.1.2 Product Function

    The functions of this system are as follows:

    Read the cover image.

    Determine the size of the cover image.

    Read the Watermark Image.

    Determine the size of the Watermark Image.

    Insert the Secret Key for authentication.

    Display the Watermarked Image of different technique.

    Insert the Secret Key for verification.

    Display the Authorize User / Unauthorized User.

    Display Elapsed Processing Time, PSNR, Recovery Watermark Image and Delay Processing Time.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 31

    3.1.1.3 User Characteristics

    To use the application the user must have understanding of Digital Image Watermarking, PSNR, the key terminologies used in the Watermarking.

    The user should know how to install MATLAB, start MATLAB, delete MATLAB either by the executing the commands or MATLAB manager (A GUI interface for managing MATLAB).

    User should have understanding of security concepts like Watermarking, Encoding, Decoding and Message Authentication.

    3.1.2 Specific Requirements

    This section of the SRS should contain all the software requirements to a level of details sufficient to enable designer to design a system those requirements, and testers to test that the

    system satisfies those requirements. The requirement discussed in this section is functional requirements, non-functional requirements, Performance Requirements, Supportability, and

    External Interface Requirements, if any in the system.

    3.1.2.1 Functional Requirements

    The following are the functional requirements of this project Purpose: The purpose of this project is to Watermarking the Watermark Image to the JPEG2000 Cover Image for secure the Cover Image and to find the Authorize User. The proposed approach use Spread spectrum Technique to give the Robustness to the cover image and find the good visual Watermark image.

    Input: The Cover Image, Watermark Image and the Secret Key are the input of the proposed

    approach.

    Output: Several Parameters are used to qualify the proposed technique, examining tests on the resulted Watermarked Image. The IWD, Authorize/ Unauthorized user, PSNR Value, TE, IWR, TD are the output of proposed approach.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 32

    3.1.2.2 Non-functional Requirements

    Typical non- functional requirements are Reliability, Scalability and Cost Effective. Other terms for non-functional requirements are Constraints, Quality Attributes and Quality of Service Requirements.

    All the forms and modules shall allow maximum readability to the user.

    Support Reusability and Maintainability.

    It can be extendible and more features can be added.

    It can be extended to process requests for web applications and distributed systems.

    3.1.2.3 Software requirement

    The minimum software requirement specification

    Operating System : Windows (32-bit) Techniques : Mat lab 2010a

    3.1.3 Hardware requirement

    The minimum software requirement specification

    Processor : Any Intel or AMD x86 processor supporting.

    Disk Space : 1GB for MATLAB

    RAM : 128 MB

    Input Device : Standard Keyboard and Mouse

    Output Device : VGA and High Resolution Monitor

    3.2 High level design

    Design is one of the most important phases of software development. The design is a creative process in which a system organization is established that will satisfy the functional and non-functional system requirements. Large Systems are always decomposed into sub-systems that provide some related set of services. The output of the design process is a description of the

    Software architecture.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 33

    A robust watermarking algorithm for JPEG images need to be designed in which the watermark can be embedded in a predictable manner in compressed-encrypted bytestream by

    exploiting the homomorphic property of the cipher scheme.

    3.2.1 Design Considerations

    The purpose of the design is to plan the solution of the problem specified by the requirements document. This phase is the first step in moving from problem to the solution domain. The

    design of the system is perhaps the most critical factor affecting the quality of the software and has a major impact on the later phases, particularly testing and maintenance. System design describes all the major data structure, file format, output as well as major modules in the system and their Specification is decided.

    3.2.1.1 Development Methods

    The development method used in this software design is the functional development method.

    The Algorithm has the following operations on JPEG2000 images:

    Encryption using RC4

    Watermark embedding using Spread Spectrum DCT2

    Watermark Detection using Spread Spectrum DCT2

    Spread Spectrum DCT2

    Working in a frequency domain of some sort becomes very attractive. The classic and still most popular domain for image processing is that of the Discrete-Cosine-Transform (DCT). The DCT allows an image to be broken up into different frequency bands, making it much

    easier to embed watermarking information into the middle frequency bands of an image. The middle frequency bands are chosen because the middle bands avoid the most visual important

    parts of the image (low frequencies) without over-exposing themselves to removal through compression and noise attacks (high frequencies).

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 34

    3.2.1.2 Attacks on Watermarked Image

    Attacks on Watermarked Image mean that Image is corrupted over time or in transit, in the

    other words, the Recovery Watermark Image is not the same set of sequence of bits that came into existence when the object was created. A Watermarked document is likely to be subject to common processing operations or intentional manipulations. These attacks are summarized in Fig.3.1.

    Figure 3.1 Attacks on Watermarked Image

    Lossy compression schemes like JPEG and MPEG can degrade the datas quality through irretrievable loss of data.

    Geometric distortions include: Rotation, Translation, Scaling and Cropping and are Specific to Images and Videos.

    Common signal processing operations include: Digital-to-Analog and Analog-to-Digital Conversion, Re-sampling, Re-quantization, Dithering, Recompression and common signal enhancements to Image contrast and/or color and Audio frequency equalization.

    Other intentional attacks include: Re-watermarking, collusion and Forgery attacks.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 35

    3.2.1.3 Desirable Characteristics of Invisible Watermarking

    Invisible Watermarking is the type of Watermarking where the location of Watermark Image

    embedded is secret, only the authorized persons extract the Watermark Image. An Invisible Watermark must be perceptually unnoticeable. Adding the Watermark should not corrupt the

    Original audio, video, or image. An Invisible Watermark should also be robust to common signal distortions and the recovered watermark image should be good visual to the HVS. Moreover, the Watermark should serve as an original signature of the owner, so that retrieving the watermark from a digitized medium would readily identify the original owner.

    3.2.2 Architecture Strategies

    The architectural design process is concerned with establishing a basic structural framework

    for a system. It involves identifying the major components of the system and communications between these components. The initial design process of identifying these sub-systems and

    establishing a framework for sub-system control and communication is called architecture design and the output of this design process is a description of the software architecture.

    The architecture of the proposed approach is threefold: to encode the image, to decode the image, and to calculate the Performance Estimation and Analysis.

    Firstly, the user read the Cover Image and the Watermark Image, and both the images are normalized then the Cover Image is encrypted and watermarked using Spread Spectrum DCT2 technique. While decoding, the Watermark Image can be recovered from the Watermarked Image in Encrypted or Decrypted or Uncompressed Domains. The

    identification of authorized user is done using the Recovery Watermark Image. Then the Performance Estimation and Analysis is calculated to know the strength of the technique,

    various parameters are used to calculate the Performance Estimation and Analysis are: PSNR, TE, TD. Tables 3.1 describe the different notation used in the Watermarking technique.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 36

    Table 3.1 Notations used to explain Watermarking Technique

    IC Cover image IW Watermark image IWD Watermarked image IWR Recovered Watermark image PSNR Peak Signal-To-Noise Ratio TE Elapsed Processing Time TD Delay Processing Time AU/UA Authorize user / Unauthorized USK User Secret Key

    IC

    IWD IWR PSNR, TE,TD

    IW AU/ UA

    Encoder USK Decoder

    Figure 3.2 Architecture of Encoding and Decoding of Watermark Image

    3.2.3 System Architecture

    The architecture for Robust Watermarking of JPEG2000 Images describes the details of the Robust Watermarking Algorithm. The operations performed are:

    Encryption using RC4

    Watermark embedding using Spread Spectrum DCT2

    Watermark Detection using Spread Spectrum DCT2

    DCT2 is comparison-based correlation where DCT mid-band uses two PN sequences; one for a "0" and another for a "1 Watermarking.

    Encoding

    Decoding

    Performance Estimation &

    Analysis

    Normalization

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 37

    Figure 3.3 System Architecture

    3.2.4 Data Flow Diagrams

    A Data Flow Diagram (DFD) is a graphical representation of the "flow" of data through an information system. Data Flow models are used to show how data flows through a sequence

    of processing steps. The data is transformed at each step before moving on to the next stage. These processing steps or transformations are program functions when Data Flow diagrams

    are used to document a software design. DFD diagram is composed of four elements, which are process, data flow, external entity and data store. The DFD can be decomposed into three levels such as level 0, level 1 and level 2.

    Data Flow Diagram Level 0 The level-0 is the initial level DFD and its generally called as the context level diagram. It is

    common practice for a designer to draw a context-level DFD first which shows the interaction between the system and outside entities. This context-level DFD is then exploded

    to show more detail of the system being modeled.

    Figure 3.4 Data Flow Diagram Level 0

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 38

    The Figure 3.4 shows the Level-0 DFD where the Cover Image and the Watermark Image are the input given to the Image Watermarking, has to be embedded in a image is called a Digital

    Watermarking. The outputs of the Image Watermarking are Recovered Watermark Image, Watermarked Image, Elapsed Processing Time and Delay Processing Time of different technique. This proposed approach also display weather the user is authorized / unauthorized user.

    3.2.5 Structure Chart

    Structured flow chart gives overall strategy for structuring program. It gives details about each module evolve during detailed design of coding and decoding. This chart is a top-down modular design tool, constructed of squares representing the different modules in the system, and lines that connect them. The lines represent the connection and ownership between activities and sub activities as they are used in organization charts.

    In structured analysis structure charts are used to specify the high-level design or architecture,

    of a computer program. As a design tool, they aid the programmer in dividing and conquering a large software problem that is recursively breaking a problem down into parts that are small enough to be understood by a human brain. The process is called top-down design or function decomposition. In the design stage, the chart is drawn and used as a way for the client and the various software designers to communicate. During the actual building of the program (implementation), the chart is continually referred to as the master-plan. A structure chart depicts:

    The size and complexity of the system.

    Number of readily identifiable function and modules within each function.

    Find whether each identifiable function is a manageable entity or should be broken down into smaller components.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 39

    Figure 3.5 Structure chart Spread Spectrum

    3.3 Chapter Summary

    A robust watermarking algorithm for JPEG images is designed in which the watermark is embedded in a predictable manner in compressed-encrypted bytestream by exploiting the homomorphic property of the cipher scheme.

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 40

    CHAPTER 4

    Implementation

    The goal of the programming or implementation phase is to translate the design of the system produced during the design phase in to code in the chosen programming language, which can be executed by a system that performs the computation specified by the design. These decisions are often influenced by several factors such as the real environment in which the system works, the speed that is required, the security concerns, and other implementation

    specific details etc., there are three major implementation decisions that have been made before the implementation of this project. They are as follows:

    Selection of the platform ( operating system) Selection of the programming language for development of the application

    Selection of the frameworks for running the project.

    4.1 Implementation Requirements

    The following are the implementation requirement details:

    Operating System- Windows 7 Professional;

    MATLAB 7.0.1a

    4.1.1 Programming Language Selection

    The language chosen to develop this project is MATLAB 7.0.1a. MATLAB is a high-performance language for technical computing. It integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation. It also has evolved into an interactive system and

    programming language for general scientific, technical computation and visualization. The basic MATLAB data element is a matrix. The MATLAB can be characterized by following

    buzzwords:

    Simple

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 41

    Architecture neutral

    Object oriented Portable

    Distributed

    High performance

    Robust

    Dynamic

    4.1.2 Platform Selection

    An operating system is software that manages computer resources and provides

    programmer/users with an interface used to access those resources. This proposed approach is developed in Window 7 professional because of the following advantages:

    User-friendly for application programmer Window 7 professional is more flexible and user friendly than other operating systems and

    the users need not be expertise for working in the proposed operating system.

    Experience less Downtime with a system that stays up and running Window 7 professional is the most reliable windows operating system yet at least ten times more reliable than window XP with improved system recovery tools and Advanced Security

    Technologies to keep the PC running smoothly.

    Share Computers and Network resources Window 7 professional can easily share documents, valuable resources, and devices among

    the users, such as faxes, printers and even an internet connection with a small office network. Connect multiple computers to the Internet through the window 7 Professional PC and a

    single Internet connection, quickly and securely, resulting in potential saving in Internet service Provider fees and hardware cost.

    Protect Important Business Documents and Information The Encrypting File System provides a high level of file protection from hackers and data

    theft by transparently encrypting selected file with a random generated key. If the PC gets

  • R V College of Engineering 2013-14

    Department of Telecommunication Engineering Page 42

    stolen or lost, unauthorized users should not able to read or view the encrypted files, this facility is provided by the Window 7 professional.

    Take control of security settings Window 7 professional Security Centre provides a single, unified view of keys settings and tools so that you can easily monitor the PCs security setting in one convenient place.

    Work from anywhere Easily configure wireless networks for the office or connect seamlessly to wireless hotspots

    without having to install or update third-party software. The Remote Desktops feature in window 7 Professional allows the user to connect and use the computer remotely from

    another computer running window 95 or later, giving you access to all of your data and applications as if you were sitting right there.

    4.2 Code Conventions Code conventions are important to programmers for a number of reasons which improve the

    readability of the software, allowing engineers to understand new code more quickly and thoroughly. This proposed approach is coded according to the coding standard.

    The following section describes the coding guidelines: Program coding guidelines used in the project includes the following:

    Naming conventions

    Method names

    Variable names

    4.2.1 Naming Conventions Standards Clear and informative names are one of the best options for creating easily understandable code. The name of any identifier should briefly describe the purpose of that identifier.

    Guidelines While coding for this project care as been taking such that names are combination of upper and lowercase letters or separated by underscores to delineate individual words.

  • R V College of Engineering