read.pudn.comread.pudn.com/downloads730/doc/2918617/Losses Data … · Web viewImage Processing...
Transcript of read.pudn.comread.pudn.com/downloads730/doc/2918617/Losses Data … · Web viewImage Processing...
INTRODUCTION
Image Processing It generally refers to processing of a two-dimensional
picture by a digital computer. A digital image is a representation of a two-
dimensional image as a finite set of digital values, called picture elements or
pixels. Pixel values typically represent gray levels, colours, heights, opacities
etc. Then the image processing focuses on two major tasks Improvement of
pictorial information for human interpretation Processing of image data for
storage, transmission and representation for autonomous machine perception.
Where image processing ends and fields such as image analysis and computer
vision start.
Securing image transmission, for which two common approaches are
image encryption and data hiding. Image encryption is a technique that makes
use of the natural property of an image, such as high redundancy and strong
spatial correlation, to get an encrypted image based on Shannon’s confusion and
diffusion properties. The encrypted image is a noise image so that no one can
obtain the secret image from it unless he/she has the correct key. However, the
encrypted image is a meaningless file, which cannot provide additional
information before decryption and may arouse an attacker’s attention during
transmission due to its randomness in form. An alternative to avoid this problem
is data hiding that hides a secret message into a cover image so that no one can
realize the existence of the secret data.
Public-key cryptography, also known as asymmetric cryptography, is a
class of cryptographic protocols based on algorithms that require two
separate keys, one of which is secret (or private) and one of which is public.
Although different, the two parts of this key pair are mathematically linked. The
public key is used, for example, to encrypt plaintext or to verify a digital
signature; whereas the private key is used for the opposite operation, in these
examples to decrypt ciphertext or to create a digital signature. The term
1
"asymmetric" stems from the use of different keys to perform these opposite
functions, each the inverse of the other – as contrasted with conventional
("symmetric") cryptography which relies on the same key to perform both.
Public-key algorithms are based on mathematical problems that currently
admit no efficient solution and are inherent in certaininteger
factorization, discrete logarithm, and elliptic curve relationships. It is
computationally easy for a user to generate a public and private key-pair and to
use it for encryption and decryption. The strength lies in the "impossibility"
(computational impracticality) for a properly generated private key to be
determined from its corresponding public key. Thus the public key may be
published without compromising security. Security depends only on keeping the
private key private. Public key algorithms, unlike symmetric key algorithms,
do not require a secure for the initial exchange of one (or more) secret
keys between the parties.
Project Overview
Encryption and data hiding are two effective means of data protection.
While the encryption techniques convert plaintext content into unreadable
ciphertext, the data hiding techniques embed additional data into cover media
by introducing slight modifications. In some distortion-unacceptable scenarios,
data hiding may be performed with a lossless or reversible manner. Although
the terms “lossless” and “reversible” have a same meaning in a set of previous
references, we would distinguish them in this work.
We say a data hiding method is lossless if the display of cover signal
containing embedded data is same as that of original cover even though the
cover data have been modified for data embedding. For example, the pixels with
the most used color in a palette image are assigned to some unused color indices
for carrying the additional data, and these indices are redirected to the most used 2
color. This way, although the indices of these pixels are altered, the actual
colors of the pixels are kept unchanged. On the other hand, we say a data hiding
method is reversible if the original cover content can be perfectly recovered
from the cover version containing embedded data even though a slight
distortion has been introduced in data embedding procedure. A number of
mechanisms, such as difference expansion, histogram shift and lossless
compression, have been employed to develop the reversible data hiding
techniques for digital images. Recently, several good prediction approaches and
optimal transition probability under payload-distortion criterion have been
introduced to improve the performance of reversible data hiding.
Combination of data hiding and encryption has been studied in recent
years. In some works, data hiding and encryption are jointed with a simple
manner. For example, a part of cover data is used for carrying additional data
and the rest data are encrypted for privacy protection. Alternatively, the
additional data are embedded into a data space that is invariable to encryption
operations. In another type of the works, data embedding is performed in
encrypted domain, and an authorized receiver can recover the original plaintext
cover image and extract the embedded data. This technique is termed as
reversible data hiding in encrypted images (RDHEI). In some scenarios, for
securely sharing secret images, a content owner may encrypt the images before
transmission, and an inferior assistant or a channel administrator hopes to
append some additional messages, such as the origin information, image
notations or authentication data, within the encrypted images though he does not
know the image content. For example, when medical images have been
encrypted for protecting the patient privacy, a database administrator may aim
to embed the personal information into the corresponding encrypted images.
Here, it may be hopeful that the original content can be recovered without any
error after decryption and retrieve of additional message at receiver side.
3
While the additional data are embedded into encrypted images with
symmetric cryptosystem in the above-mentioned RDHEI methods, a RDHEI
method with public key cryptosystem is proposed. Although the computational
complexity is higher, the establishment of secret key through a secure channel
between the sender and the receiver is needless. With the method, each pixel is
divided into two parts: an even integer and a bit, and the two parts are encrypted
using Paillier mechanism respectively. Then, the ciphertext values of the second
parts of two adjacent pixels are modified to accommodate an additional bit. Due
to the homomorphic property of the cryptosystem, the embedded bit can be
extracted by comparing the corresponding decrypted values on receiver side. In
fact, the homomorphic property may be further exploited to implement signal
processing in encrypted domain. For recovering the original plaintext image, an
inverse operation to retrieve the second part of each pixel in plaintext domain is
required, and then two decrypted parts of each pixel should be reorganized as a
pixel.
This work proposes a lossless, a reversible, and a combined data hiding
schemes for cipher-text images encrypted by public key cryptography with
probabilistic and homomorphic properties. In the lossless scheme, the ciphertext
pixel values are replaced with new values for embedding the additional data into
the LSB-planes of ciphertext pixels. This way, the embedded data can be
directly extracted from the encrypted domain, and the data embedding operation
does not affect the decryption of original plaintext image. In the reversible
scheme, a preprocessing of histogram shrink is made before encryption, and a
half of ciphertext pixel values are modified for data embedding. On receiver
side, the additional data can be extracted from the plaintext domain, and,
although a slight distortion is introduced in decrypted image, the original
plaintext image can be recovered without any error. Due to the compatibility of
the two schemes, the data embedding operations of the lossless and the
4
reversible schemes can be simultaneously performed in an encrypted image. So,
the receiver may extract a part of embedded data in the encrypted domain, and
extract another part of embedded data and recover the original plaintext image
in the plaintext domain.
Advantage
The advantages of this algorithm are
(i) high capacity
(ii) security is equivalent to the security provided by cryptographic
authentication
(iii) can be applied for the authentication purposes of JPEG files, complex
multimedia objects, audio files, digitized hologram, etc.
Application
In most applications, the small distortion due to the data embedding is
usually tolerable. However, the possibility of recovering the exact original
image is a desirable property in many fields, like legal, medical and military
imaging. Let us consider that sensitive documents (like bank checks) are
scanned, protected with an authentication scheme based on a reversible data
hiding, and sent through the Internet.
5
Literature Review
N. A. Saleh, H. N. Boghdad, S. I. Shaheen, A. M. Darwish, “High Capacity
Lossless Data Embedding Technique for Palette Images Based on
Histogram Analysis,” Digital Signal Processing, 20, pp. 1629−1636, 2010.
Recently data embedding over images has drawn tremendous interest,
using either lossy or lossless techniques. Although lossy techniques can allow
large hiding capacity, host image cannot be recovered with high fidelity. Some
applications require exact recovery of the host image, i.e. in medicine patient
data can be embedded without affecting the medical image. In general lossless
data hiding techniques suffer from limited capacity as the host image should be
kept intact. In this paper a lossless embedding technique is proposed. In this
technique image histograms are analyzed to identify the embedding capacity of
different image types. Histogram maxima and minima are used in embedding
capacity estimation. The proposed technique gives hiding capacity that can
reach up to 50% of the host image size for images with large homochromatic
regions (cartoons-like). In fact, our study showed that the embedding capacity is
not only affected by the host image size but also by its histogram distribution.
The data embedding and extraction is performed using simple processing
operations that can save on power consumption for wireless devices.
On the other hand, as a result of the availability of powerful image
processing software packages such as Photoshop, anyone can easily modify
such digital media for any reason and create unconscious forgeries. How to
prevent a medical image from being maliciously altered, that is, detecting the
tampered parts, has become an important issue. In order to safeguard digital
images, image authentication schemes are the most widely used method.
6
Generally, the authentication codes are usually derived from the prominent
features of the medical image and are directly embedded into the image.
However, the embedding procedure will distort the images. This distortion may
cause the modified medical images to be unable to be used for further diagnosis.
That is to say, the method must have the ability to restore the original content
after the extraction of the authentication codes. Therefore, it is an important
challenge to develop a reversible data-hiding scheme for medical images.
J. Tian, “Reversible Data Embedding Using a Difference Expansion,” IEEE
Trans. on Circuits and Systems for Video Technology, 13(8), pp. 890−896,
2003.
A reversible watermarking algorithm with very high data hiding capacity
has been developed for color images. The algorithm allows the watermarking
process to be reversed, which restores the exact original image. The algorithm
hides several bits in the difference expansion of vectors of adjacent pixels. The
required general reversible integer transform and the necessary conditions to
avoid underflow and overflow are derived for any vector of arbitrary length.
Also, the potential payload size that can be embedded into a host image is
discussed, and a feedback system for controlling this size is developed. In
addition, to maximize the amount of data that can be hidden into an image, the
embedding algorithm can be applied recursively an across the color
components.
Reversible data embedding has drawn lots of interest recently. Being
reversible, the original digital content can be completely restored. We present a
novel reversible data-embedding method for digital images. We explore the
7
redundancy in digital images to achieve very high embedding capacity, and
keep the distortion low
X. Zhang, “Separable reversible data hiding in encrypted image,”
IEEETrans. Inf. Forensics Security, vol. 7, no. 2, pp. 826–832, Apr. 2012.
The concept of steganography is used in the paper to transmit the data
secretly and safely from one user to another as it hides the data behind image. In
this sender encrypt data using AES algorithm, hides encrypted data in image
using LSB technique and the system auto generate the hide key. Sender sends
the file with the help of existing mailing system. Receiver can perform action
based on key like if he is having only data hiding then he can only get the image
in original form and if he have data hiding and data decryption key then he will
be able to get the original data, it also provides protection for the keys. All these
are done with proper login process. The system generates fake data if the user is
not authenticated in the process of login. In such a way only the authorized user,
who was supposed to get the keys, is able to get the original data.
Zhang suggests a novel method for separable reversible data hiding .Here
content owner first encrypts the original uncompressed image using an
encryption key to produce an encrypted image. Then, the data-hider compresses
the least significant bits (LSB) of the encrypted image using a data-hiding key
to create a sparse space to accommodate the additional data. At the receiver
side, the data embedded in the created space can be easily retrieved from the
encrypted image containing additional data according to the data-hiding key.
Since the data embedding only affects the LSB,a decryption with the encryption
key can result in an image similar tothe original version. When using both of the
encryption and data-hiding keys, the embedded additional data can be
8
successfully extracted and the original image can be perfectly recovered by
exploiting the spatial correlation in natural image
M. U. Celik, G. Sharma, A. M. Tekalp, and E. Saber, “Lossless Generalized-
LSB Data Embedding,” IEEE Trans. on Image Processing, 14(2), pp. 253–
266, 2005.
A novel lossless (reversible) data-embedding technique, which enables
the exact recovery of the original host signal upon extraction of the embedded
information. A generalization of the well-known least significant bit (LSB)
modification is proposed as the data-embedding method, which introduces
additional operating points on the capacity-distortion curve. Lossless recovery
of the original is achieved by compressing portions of the signal that are
susceptible to embedding distortion and transmitting these compressed
descriptions as a part of the embedded payload. A prediction-based conditional
entropy coder which utilizes unaltered portions of the host signal as side-
information improves the compression efficiency and, thus, the lossless data-
embedding capacity.
In many applications, the loss of host signal fidelity is not prohibitive as
long as original and modified signals are perceptually equivalent. However, in a
number of domains such as military, legal and medical imaging although some
embedding distortion is admissible, permanent loss of signal fidelity is
undesirable. This highlights the need for lossless data embedding2 techniques.
These techniques, like their lossy counterparts, insert information bits by
modifying the host signal, thus inducing an embedding distortion. Nevertheless,
they also enable the removal of such distortions and the exact lossless
restoration of the original host signal after extraction of embedded information.
Particular applications include embedding of DICOM header information into
9
medical images and providing fragile authentication watermarking for
aerial/surveillance images.
W. Hong, T.-S. Chen, and H.-Y. Wu, “An Improved Reversible Data Hiding
in Encrypted Images Using Side Match,” IEEE Signal Processing Letters,
19(4), pp. 199−202, 2012.
A novel reversible data hiding technique in encrypted images is presented
in this paper. Instead of embedding data in encrypted images directly, some
pixels are estimated before encryption so that additional data can be embedded
in the estimating errors. A benchmark encryption algorithm (e.g. AES) is
applied to the rest pixels of the image and a special encryption scheme is
designed to encrypt the estimating errors. Without the encryption key, one
cannot get access to the original image. However, provided with the data hiding
key only, he can embed in or extract from the encrypted image additional data
without knowledge about the original image. Moreover, the data extraction and
image recovery are free of errors for all images.
RDH techniques have been proposed based on three fundamental
strategies: lossless compressionappending scheme, difference expansion (DE)
and histogram shift (HS). Some recent arts combined the three strategies to
residuals of the image such as prediction errors (PE) to achieve better
performance. Almost all state-ofthe-art RDH algorithms consist of two steps.
The first step generates a host sequence with small entropy, i.e., the host has a
sharp histogram which usually can be realized by using PE combined with the
sorting technique or pixel selection. The second step reversibly embeds the
message in the host sequence by modifying its histogram with methods like HS
and DE.
10
J. Yu, G. Zhu, X. Li, and J. Yang, “An Improved Algorithm for Reversible
Data Hiding in Encrypted Image,” Proceeding of the 11th International
Workshop on Digital-Forensics Watermark (IWDW 2012), Shanghai, China,
Oct. 31-Nov. 02, 2012, Lecture Notes in Computer Science, 7809, pp. 358-367,
2013.
Recently, more and more attention is paid to reversible data hiding
(RDH) in encrypted images, since it maintains the excellent property that the
original cover can be losslessly recovered after embedded data is extracted
while protecting the image content’s confidentiality. All previous methods
embed data by reversibly vacating room from the encrypted images, which may
subject to some errors on data extraction and/or image restoration. Here, a novel
method is proposed so as to reserve room before encryption with a traditional
RDH algorithm, and thus it is easy for the data hider to reversibly embed data in
the encrypted image. The proposed method can achieve real reversibility, i.e.,
data extraction and image recovery are free of any error.
The methods proposed can be summarized asthe framework, “vacating
room after encryption (VRAE)”. In this framework, a content owner encrypts
the original image using a standard cipher with an encryption key. After
producing the encrypted image, the content owner hands over it to a data hider
(e.g., a database manager) and the data hider can embed some auxiliary data
into the encrypted image by losslessly vacating some room according to a data
hiding key. Then a receiver, may be the content owner himself or an authorized
third party can extract the embedded data with the data hiding encrypted version
according to the encryption key.
11
W. Puech, M. Chaumont, and O. Strauss, “A Reversible Data Hiding Method
for Encrypted Images,” Security, Forensics, Steganography, and
Watermarking of Multimedia Contents X, Proc. SPIE, 6819, 2008.
Since several years, the protection of multimedia data is becoming very
important. The protection of this multimedia data can be done with encryption
or data hiding algorithms. To decrease the transmission time, the data
compression is necessary. Since few years, a new problem is trying to combine
in a single step, compression, encryption and data hiding. So far, few solutions
have been proposed to combine image encryption and compression for example.
Nowadays, a new challenge consists to embed data in encrypted images. Since
the entropy of encrypted image is maximal, the embedding step, considered like
noise, is not possible by using standard data hiding algorithms. A new idea is to
apply reversible data hiding algorithms on encrypted images by wishing to
remove the embedded data before the image decryption. Recent reversible data
hiding methods have been proposed with high capacity, but these methods are
not applicable on encrypted images. In this paper we propose an analysis of the
local standard deviation of the marked encrypted images in order to remove the
embedded data during the decryption step. We have applied our method on
various images, and we show and analyze the obtained results.
Previous work proposed to embed data in an encrypted image by using an
irreversible approach of data hiding. The challenge was to find an encryption
method robust to noise. Since the entropy of encrypted image is maximal, the
embedding step, considered like noise, is not possible by using standard data
hiding algorithms. A new idea is to apply reversible data hiding algorithms on
encrypted images by wishing to remove the embedded data before the image
decryption. Recent reversible data hiding methods have been proposed with
12
high capacity but these methods are not applicable on encrypted images. In this
paper we propose an analysis of the local standard deviation of the marked
encrypted images in order to remove the embedded data during the decryption
step.
X. Zhang, “Separable Reversible Data Hiding in Encrypted Image,” IEEE
Trans. Information Forensics & Security, 7(2), pp. 526−532, 2012.
This work proposes a Secure and authenticated discrete reversible data
hiding in cipher images deals with security and authentication. In the first phase,
a content owner encrypts the original uncompressed image using an encryption
key. Then, a data hider may compress the least significant bits of the encrypted
image using a data hiding key to create a sparse space to accommodate some
additional data. With an encrypted image containing additional data, if a
receiver has the data hiding key, receiver can extract the additional data though
receiver does not know the image content. If the receiver has the encryption
key, can decrypt the received data to obtain an image similar to the original one.
If the receiver has both the data hiding key and the encryption key, can extract
the additional data and recover the original content.
Data security basically means protection of data from unauthorized users
or hackers and providing high security to prevent data medication. This area of
data security has gained more attention over the recent period of time due to the
massive increase in data transfer rate over the internet. In order to improve the
security features in data transfers over the internet, many techniques have been
developed like: Cryptography, Steganography. While Cryptography is a method
to conceal information by encrypting it to cipher texts and transmitting it to the
intended receiver using an unknown key, Steganography provides further
13
security by hiding the cipher text into a seemingly invisible image or other
formats.
Z. Qian, X. Zhang, and S. Wang, “Reversible Data Hiding in Encrypted JPEG
Bitstream,” IEEE Trans. on Multimedia, 16(5), pp. 1486−1491, 2014.
Reversible data hiding (RDH) is just an approach where secret Data is
stuck right into a cover picture in an opposite way. Generally RDH spatial-
domain photographs are encrypted. The planned system encrypts the JPEG bit
stream in to an adequately arranged structure. Then it embeds personal
information in to the secured bit stream by gently adjusting the JPEG stream.
Helpful bits ideal for knowledge hiding are then identified. It will help to
effectively rule the protected bit stream holding key data. To have an ideal
knowledge removal and picture recovery, error modification codes are utilized
in coding the key message. Encryption and embedding keys are utilized in
encryption and embedding processes. The secrete message bits are encoded
with R and embedded into the encrypted bit stream by altering the appended
bits. Utilizing the encryption and embedding keys, the recipient may remove the
embedded information and completely recover the initial image. Once the
embedding key is missing, the initial picture could be approximately recovered
with adequate quality without removing the hidden data.
Generally speaking RDH is employed to embed data in to images which
can be open for data hider. There might n situations by which picture owner
isn't prepared to talk about picture material to data hider. So it's required to add
additional communications such as authentication data etc. to protected image.
Buyer-Seller programs can also be implemented using Treating Knowledge
Hiding technique. In cases like this a supplier encrypts data and embeds an
14
protected fingerprint written by buyer. Vendor may not able to get fingerprints
of buyer and till buyer does not produce payment he'll not able to access the
first edition of data. Different process by which, protected images are divided
into blocks and by tossing three LSBs of half the pixels in the stop, one touch in
each stop is stuck . At receiver's end, by considering the fluctuation of the pixel
values in most decrypted stop, the secret portions get restored and also the first
picture is recovered.
Drawbacks:
Symmetric cryptosystems have a problem of key transportation. The
secret key is to be transmitted to the receiving system before the actual
message is to be transmitted. Every means of electronic
communication is insecure as it is impossible to guarantee that no one
will be able to tap communication channels. So the only secure way of
exchanging keys would be exchanging them personally.
Cannot provide digital signatures that cannot be repudiated
A disadvantage of using public-key cryptography for encryption is
speed: there are popular secret-key encryption methods which are
significantly faster than any currently available public-key encryption
method.
15
EXISTING SYSTEM
Combination of data hiding and encryption has been studied in recent
years. In some works, data hiding and encryption are jointed with a simple
manner. For example, a part of cover data is used for carrying additional data
and the rest data are encrypted for privacy protection. Alternatively, the
additional data are embedded into a data space that is invariable to encryption
operations. In another type of the works, data embedding is performed in
encrypted domain, and an authorized receiver can recover the original plaintext
cover image and extract the embedded data. This technique is termed as
reversible data hiding in encrypted images (RDHEI). In some scenarios, for
securely sharing secret images, a content owner may encrypt the images before
transmission, and an inferior assistant or a channel administrator hopes to
append some additional messages, such as the origin information, image
notations or authentication data, within the encrypted images though he does not
know the image content. For example, when medical images have been
encrypted for protecting the patient privacy, a database administrator may aim
to embed the personal information into the corresponding encrypted images.
Here, it may be hopeful that the original content can be recovered without any
error after decryption and retrieve of additional message at receiver side. In, the
original image is encrypted by an exclusive-or operation with pseudo-random
bits, and then the additional data are embedded by flipping a part of least
significant bits (LSB) of encrypted image. By exploiting the spatial correlation
in natural images, the embedded data and the original content can be retrieved at
receiver side. The performance of RDHEI can be further improved by
introducing an implementation order or a flipping ratio. In, each additional bit is
embedded into a block of data encrypted by the Advanced Encryption Standard
(AES). When a receiver decrypts the encrypted image containing additional
data, however, the quality of decrypted image is significantly degraded due to 16
the disturbance of additional data. In, the data-hider compresses the LSB of
encrypted image to generate a sparse space for carrying the additional data.
Since only the LSB is changed in the data embedding phase, the quality of
directly decrypted image is satisfactory. Reversible data hiding schemes for
encrypted JPEG images is also presented. In , a sparse data space for
accommodating additional data is directly created by compress the encrypted
data. If the creation of sparse data space or the compression is implemented
before encryption, a better performance can be achieved.
Disadvantages:
The disadvantages are –
(i) noisy image forces the algorithm to embed information in higher bit-
plane when the distortions are higher and easily visible
(ii) single bit-plane in a small image does not offer enough space to hide
hash after compression, so two or more bit-planes are required and the
artifacts must be visible
(iii) Capacity is not high enough to embed large payload
17
SYSTEM ENVIRONMENT
3.1 HARDWARE REQUIREMENTS:
Processor - Pentium –IV
Speed - 1.1 Ghz
RAM - 256 MB(min)
Hard Disk - 20 GB
Key Board - Standard Windows Keyboard
Mouse - Two or Three Button Mouse
Monitor - SVGA
SOFTWARE REQUIREMENTS:-
Operating System : Windows XP/7
Front End : Matlab
3.3 Software Description
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. Typical uses include
Math and computation
Algorithm development
Data acquisition
Modeling, simulation, and prototyping
Data analysis, exploration, and visualization
Scientific and engineering graphics
18
Application development, including graphical user interface
building
MATLAB is an interactive system whose basic data element is an array
that does not require dimensioning. This allows you to solve many technical
computing problems, especially those with matrix and vector formulations, in a
fraction of the time it would take to write a program in a scalar non interactive
language such as C or Fortran.
The name MATLAB stands for matrix laboratory. MATLAB was
originally written to provide easy access to matrix software developed by the
LINPACK and EISPACK projects. Today, MATLAB engines incorporate the
LAPACK and BLAS libraries, embedding the state of the art in software for
matrix computation.
MATLAB has evolved over a period of years with input from many
users. In university environments, it is the standard instructional tool for
introductory and advanced courses in mathematics, engineering, and science. In
industry, MATLAB is the tool of choice for high-productivity research,
development, and analysis.
Toolboxes
MATLAB features a family of add-on application-specific solutions
called toolboxes. Very important to most users of MATLAB, toolboxes allow
you to learn and apply specialized technology. Toolboxes are comprehensive
collections of MATLAB functions (M-files) that extend the MATLAB
environment to solve particular classes of problems. Areas in which toolboxes
are available include signal processing, control systems, neural networks, fuzzy
logic, wavelets, simulation, and many others.
19
The MATLAB System
The MATLAB system consists of five main parts:
Development Environment.
This is the set of tools and facilities that help you use MATLAB functions and
files. Many of these tools are graphical user interfaces. It includes the
MATLAB desktop and Command Window, a command history, an editor and
debugger, and browsers for viewing help, the workspace, files, and the search
path.
The MATLAB Mathematical Function Library.
This is a vast collection of computational algorithms ranging from elementary
functions, like sum, sine, cosine, and complex arithmetic, to more sophisticated
functions like matrix inverse, matrix eigen values, Bessel functions, and fast
Fourier transforms.
The MATLAB Language.
This is a high-level matrix/array language with control flow statements,
functions, data structures, input/output, and object-oriented programming
features. It allows both “programming in the small” to rapidly create quick and
dirty throw-away programs, and “programming in the large” to create large and
complex application programs.
Graphics. MATLAB has extensive facilities for displaying vectors and
matrices as graphs, as well as annotating and printing these graphs. It includes
high-level functions for two-dimensional and three-dimensional data
visualization, image processing, animation, and presentation graphics. It also
includes low-level functions that allow you to fully customize the appearance of
graphics as well as to build complete graphical user interfaces on your
MATLAB applications.
20
The MATLAB Application Program Interface (API).
This is a library that allows you to write C and Fortran programs that interact
with MATLAB. It includes facilities for calling routines from MATLAB
(dynamic linking), calling MATLAB as a computational engine, and for reading
and writing MAT-files.
A MATLAB GUI is a figure window to which you add user-operated
controls. You can select, size, and position these components as you like. Using
callbacks you can make the components do what you want when the user clicks
or manipulates them with keystrokes.
It can build MATLAB GUIs in two ways:
• Use GUIDE (GUI Development Environment), an interactive GUI
construction kit.
• Create code files that generate GUIs as functions or scripts
(programmatic GUI construction).
The first approach starts with a figure that you populate with components
from within a graphic layout editor. GUIDE creates an associated code file
containing callbacks for the GUI and its components. GUIDE saves both the
figure (as a FIG-file) and the code file. Opening either one also opens the other
to run the GUI.
In the second, programmatic, GUI-building approach, you create a code file
that defines all component properties and behaviors; when a user executes the
file, it creates a figure, populates it with components, and handles user
interactions. The figure is not normally saved between sessions because the
code in the file creates a new one each time it runs.
As a result, the code files of the two approaches look different.
Programmatic GUI files are generally longer, because they explicitly define
every property of the figure and its controls, as well as the callbacks. GUIDE
GUIs define most of the properties within the figure itself. They store the
21
definitions in its FIG-file rather than in its code file. The code file contains
callbacks and other functions that initialize the GUI when it opens.
MATLAB software also provides functions that simplify the creation of
standard dialog boxes, for example to issue warnings or to open and save files.
The GUI-building technique you choose depends on your experience, your
preferences, and the kind of application you need the GUI to operate.
GUIDE, the MATLAB Graphical User Interface Development
Environment, provides a set of tools for creating graphical user interfaces
(GUIs). These tools greatly simplify the process of laying out and programming
GUIs.
Opening GUIDE
There are several ways to open GUIDE fromthe MATLAB Command line.
Command Result
guide Opens GUIDE with a choice of GUI templates
guide FIG-file name Opens FIG-file name in GUIDE
Laying Out a GUIDE GUI
The GUIDE Layout Editor enables you to populate a GUI by clicking and
dragging GUI components into the layout area. There you can resize, group and
align buttons, text fields, sliders, axes, and other components you add.
Other tools accessible from the Layout Editor enable you to:
Create menus and context menus
• Create toolbars
• Modify the appearance of components
• Set tab order
• View a hierarchical list of the component objects
• Set GUI options
22
Create the Simple Programmatic GUI Code File
Start by creating a file for the example GUI. Because the file will contain
functions, it is a function file as opposed to a script file, which contains a
sequence of MATLAB commands but does not define functions.
1. At the MATLAB prompt, type edit. MATLAB opens a blank document
in the Editor.
2. Type or copy the following statement into the editor. This function
statement is the first line in the file.
function simple_gui2
3. Type or paste these comments into the file following the function
statement. They display at the command line in response to the help
command. Follow them by a blank line, which MATLAB requires to
terminate the help text.
4. Add an end statement at the end of the file. This end statement matches
the function statement. Your file now looks like this.
5. Save the file in your current folder or at a location that is on your
MATLAB path.
A callback is a function that you write and associate with a specific GUI
component or with the GUI figure. It controls GUI or component behavior by
performing some action in response to an event for its component. This
programming approach is often called event-driven programming. When an
event occurs for a component, MATLAB software invokes the component’s
callback that the event triggers. As an example, suppose a GUI has a button that
triggers the plotting of some data. When the GUI user clicks the button, the
software calls the callback you associated with clicking that button. The
callback, which you have programmed, then gets the data and plots it.
A component can be any control device such as a push button, list box, or
slider. For purposes of programming, it can also be a menu or a container such
23
as a panel or button group. See “Available Components” on page 6-20 for a list
and descriptions of components.
Kinds of Callbacks
The GUI figure and each type of component can trigger specific kinds of
callbacks. The callbacks that are available for each component are properties of
that component. For example, a push button has five callback properties:
ButtonDownFcn, Callback, CreateFcn, DeleteFcn, and KeyPressFcn. A panel
has four callback properties: ButtonDownFcn, CreateFcn, DeleteFcn, and
ResizeFcn. You can—but do not have to—create a callback function for each of
these properties, including callbacks for the GUI figure itself.
MATLAB supports standard data and image formats, including JPEG,
Microsoft Excel, ASCII, and binary files. Low-level I/O functions enable us to
develop custom routines for working with any data format.
MATLAB is case-sensitive in the names of commands, functions, and
variables. It supports a wide range of image processing operations, including
Spatial image transformations
Neighborhood and block operations
Linear filtering and filter design
Transforms
Image analysis and enhancement
Image Formats Supported by Matlab
The main image format supported by MATLAB is JPEG. Most images
are JPEG-images which is the name for one of the most widely used
compression standards for images. If an image is stored it can be seen from the
suffix what format it is stored in. There are mainly four formats of images are
there. They are
24
(a) Intensity Image (gray scale image)
This is the equivalent to a "gray scale image" and this is the image mostly
used to work with. It represents an image as a matrix where every element has a
value corresponding to how bright/dark the pixel at the corresponding position
should be colored. There are two ways to represent the number that represents
the brightness of the pixel: The double class (or data type). This assigns a
floating number ("a number with decimals") between 0 and 1 to each pixel. The
value 0 corresponds to black and the value 1 corresponds to white. The other
class is called uint8 which assigns an integer between 0 and 255 to represent the
brightness of a pixel. The value 0 corresponds to black and 255 to white. The
class uint8 only requires roughly 1/8 of the storage compared to the class
double. On the other hand, many mathematical functions can only be applied to
the double class.
(b) Binary Image
This image format also stores an image as a matrix but can only color a
pixel black or white (and nothing in between). It assigns a 0 for black and a 1
for white.
(c) Indexed Image
This is a practical way of representing color images. An indexed image
stores an image as two matrices. The first matrix has the same size as the image
and one number for each pixel. The second matrix is called the color map and
its size may be different from the image. The numbers in the first matrix is an
instruction of what number to use in the color map matrix.
(d) RGB Image
This is another format for color images. It represents an image with three
matrices of sizes matching the image format. Each matrix corresponds to one of
the colors red, green or blue and gives an instruction of how much of each of
these colors a certain pixel should use.
25
The Advantages of MATLAB
MATLAB is a general purpose programming language. When it is used
to process images one generally writes function files, or script files to perform
the operations. These files form a formal record of the processing used and
ensures that the final results can be tested and replicated by others should the
need arise.
MATLAB 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 scrutiny. The defense can examine the processing
used in complete detail, and any challenges raised can be responded to in an
informed way by the prosecution. This makes MATLAB very different from
applications, such as Photoshop.
It should be noted that some MATLAB functions cannot be viewed.
These are generally lower level functions that are computationally expensive
and are hence provided as 'built-in' functions running as native code. These
functions are heavily used and tested and can be relied on with considerable
confidence. Another advantage of MATLAB is that it allows one to ensure
maximal numerical precision in the final result.
In general, image files store data to 8 bit precision. This corresponds to a
range of integer values from 0-255. 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 ample 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
26
processing programs. Some may truncate 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 (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.
MATLAB is a scientific programming language and provides strong
mathematical and numerical support for the implementation of advanced
algorithms. It is for this reason that MATLAB is widely used by the image
processing and computer vision community. New algorithms are very likely to
27
be implemented first in MATLAB, indeed they may only be available in
MATLAB.
MATLAB may not be as user friendly as an application like Photoshop,
however, being a general purpose programming language it provides many
important advantages for forensic image processing. It ensures the image
processing steps used are completely documented, and hence can be replicated.
In general, the source code for all image processing functions are
accessible for scrutiny and test. It allows one to ensure numerical precision is
maintained all the way through the enhancement process. Image processing
algorithms available under MATLAB are likely to be more advanced than those
available from other image processing applications.
28
Proposed System
A lossless data hiding scheme for public-key-encrypted images is
proposed. There are three parties in the scheme: an image provider, a data-hider,
and a receiver. With a cryptosystem possessing probabilistic property, the image
provider encrypts each pixel of the original plaintext image using the public key
of the receiver, and a data-hider who does not know the original image can
modify the ciphertext pixel-values to embed some additional data into the
encrypted image by multi-layer wet paper coding under a condition that the
decrypted values of new and original cipher-text pixel values must be same.
When having the encrypted image containing the additional data, a receiver
knowing the data hiding key may extract the embedded data, while a receiver
with the private key of the cryptosystem may perform decryption to retrieve the
original plaintext image. In other words, the embedded data can be extracted in
the encrypted domain, and cannot be extracted after decryption since the
decrypted image would be same as the original plaintext image due to the
probabilistic property. That also means the data embedding does not affect the
decryption of the plaintext image. The sketch of lossless data hiding scheme is
shown in Figure 1.
29
Image encryption
In this phase, the image provider encrypts a plaintext image using the public key
of probabilistic cryptosystem pk. For each pixel value m(i, j) where (i, j)
indicates the pixel position, the image provider calculates its ciphertext value,
where E is the encryption operation and r(i, j) is a random value. Then, the
image provider collects the ciphertext values of all pixels to form an encrypted
image. Actually, the proposed scheme is capitable with various probabilistic
public-key cryptosystems, such as Paillier and Damgard-Jurik cryptosystems.
With Paillier cryptosystem, for two large primes p and q, calculate n = p⋅q, λ =
lcm (p−1, q−1), where lcm means the least common multiple. Here, it should
meet that gcd (n, (p−1) (⋅ q−1)) = 1, where gcd means the greatest common
divisor. The public key is composed of n and a randomly selected integer g in ,
while the private key is composed of λ and 2*nZ
Where
As a generalization of Paillier cryptosystem, Damgard-Jurik cryptosystem can
be also used to encrypt the plaintext image. Here, the public key is composed of
n and an element g in such that g = (1+n)j⋅x mod ns+1 for a known j relatively
prime to n and x belongs to a group isomorphic to Z*n, and we may choose d as
the private key when meeting d mod n ∈ Z*n and d = 0 mod λ. Then, the
encryption in (1) can be rewritten as1*+snZ
30
where r(i, j) is a random integer in . By applying a recursive version of Paillier
decryption, the plaintext value can be obtained from the ciphertext value using
the private key. Note that, because of the probabilistic property of the two
cryptosystems, the same gray values at different positions may correspond to
different ciphertext values.
Data embedding
When having the encrypted image, the data-hider may embed some additional
data into it in a lossless manner. The pixels in the encrypted image are
reorganized as a sequence according to the data hiding key. For each encrypted
pixel, the data-hider selects a random integer r'(i, j) in Z*n and calculates
if Paillier cryptosystem is used for image encryption, while the data-hider
selects a random integer r'(i, j) in and calculates
Considering the first LSB, if c(i, j) are replaced with c'(i, j), the first LSB in S1
would be flipped and the rest first LSB would be unchanged. So, the first LSB
of the encrypted pixels can be regarded as a WPC, which includes changeable
(dry) elements and unchangeable (wet) elements. In other words, the first LSB
in S1 are dry elements and the rest first LSB are wet positions. By using the wet
paper coding, one can represent on average Nd bits by only flipping a part of dry
elements where Nd is the number of dry elements. In this scenario, the data-hider
may flip the dry elements by replacing c(i, j) with c'(i, j). Denoting the number
of pixels in the image as N, the data-hider may embed on average N/2 bits in the
first LSB-layer using wet paper coding.
Data extraction and image decryption
After receiving an encrypted image containing the additional data, if the
receiver knows the data-hiding key, he may calculate the k-th LSB of encrypted
pixels, and then extract the embedded data from the K LSB-layers using wet 31
paper coding. On the other hand, if the receiver knows the private key of the
used cryptosystem, he may perform decryption to obtain the original plaintext
image. When Paillier cryptosystem is used,
Similarly, when Damgard-Jurik cryptosystem is used,
The decryption on c'(i, j) will also result in the plaintext value. In other words,
the replacement of ciphertext pixel values for data embedding does not affect
the decryption result.
Reversible Data Hiding Scheme
This section proposes a reversible data hiding scheme for public-key-encrypted
images. In the reversible scheme, a preprocessing is employed to shrink the
image histogram, and then each pixel is encrypted with additive homomorphic
cryptosystem by the image provider. When having the encrypted image, the
data-hider modifies the ciphertext pixel values to embed a bit-sequence
generated from the additional data and error-correction codes. Due to the
homomorphic property, the modification in encrypted domain will result in
slight increase/decrease on plaintext pixel values, implying that a decryption
can be implemented to obtain an image similar to the original plaintext image
on receiver side. Because of the histogram shrink before encryption, the data
embedding operation does not cause any overflow/underflow in the directly
decrypted image. Then, the original plaintext image can be recovered and the
embedded additional data can be extracted from the directly decrypted image.
Note that the data-extraction and content-recovery of the reversible scheme are
performed in plaintext domain, while the data extraction of the previous lossless
scheme is performed in encrypted domain and the content recovery is needless.
The sketch of reversible data hiding scheme is given in Figure 2.
32
Histogram shrink and image encryption
In the reversible scheme, a small integer δ shared by the image provider, the
data-hider and the receiver will be used, and its value will be discussed later.
Denote the number of pixels in the original plaintext image with gray value v as
hv, implying
where N is the number of all pixels in the image. The image provider collects
the pixels with gray values in [0, δ+1], and represent their values as a binary
stream BS1. When an efficient lossless source coding is used, the length of BS1
where H( ) is the entropy function. The image provider also collects the pixels⋅
with gray values in [255−δ, 255], and represent their values as a binary stream
BS2 with a length l2.
B. Data embedding
With the encrypted image, the data-hider divides the ciphertext pixels into two
set: Set A including c(i, j) with odd value of (i+j), and Set B including c(i, j) 33
with even value of (i+j). Without loss of generality, we suppose the pixel
number in Set A is N/2. Then, the data-hider employs error-correction codes
expand the additional data as a bit-sequence with length N/2, and maps the bits
in the coded bit-sequence to the ciphertext pixels in Set A in a one-to-one
manner, which is determined by the data-hiding key. When Paillier
cryptosystem is used, if the bit is 0, the corresponding ciphertext pixel is
modified as
This way, an encrypted image containing additional data is produced. Note that
the additional data are embedded into Set A. Although the pixels in Set B may
provide side information of the pixel-values in Set A, which will be used for
data extraction, the pixel-values in Set A are difficult to be precisely obtained
on receiver side, leading to possible errors in directly extracted data. So, the
error-correction coding mechanism is employed here to ensure successful data
extraction and perfect image recovery.
Image decryption, data extraction and content recovery
After receiving an encrypted image containing additional data, the receiver
firstly performs decryption using his private key. We denote the decrypted
pixels as m'(i, j). Due to the homomorphic property, the decrypted pixel values
in Set A meet
After retrieving the original coded bit-sequence and the embedded additional
data, the original plaintext image may be further recovered. For the pixels in Set
A, mT(i, j) are retrieved according to the coded bit-sequence,
34
Similarly, the original values of pixels with mS(i, j) = 255−δ are recovered
within [255−δ, 255] according to BS2. This way, the original plaintext image is
recovered.
Combined Data Hiding Scheme
A lossless and a reversible data hiding schemes for public-key-encrypted
images are proposed. In both of the two schemes, the data embedding
operations are performed in encrypted domain. On the other hand, the data
extraction procedures of the two schemes are very different. With the lossless
scheme, data embedding does not affect the plaintext content and data
extraction is also performed in encrypted domain. With the reversible scheme,
there is slight distortion in directly decrypted image caused by data embedding,
and data extraction and image recovery must be performed in plaintext domain.
That implies, on receiver side, the additional data embedded by the lossless
scheme cannot be extracted after decryption, while the additional data
embedded by the reversible scheme cannot extracted before decryption. In this
section, we combine the lossless and reversible schemes to construct a new
scheme, in which data extraction in either of the two domains is feasible. That
means the additional data for various purposes may be embedded into an
encrypted image, and a part of the additional data can be extracted before
decryption and another part can be extracted after decryption. the method is
used to embed the second part of additional data. On receiver side, the receiver
firstly extracts the second part of additional data from the LSB-planes of
encrypted domain. Then, after decryption with his private key, he extracts the
first part of additional data and recovers the original plaintext image from the
directly decrypted image. Since the reversibly embedded data should be
extracted in the plaintext domain and the lossless embedding does not affect the
35
decrypted result, the lossless embedding should implemented after the
reversible embedding in the combined scheme.
The Real time applications:-
It is popularly used in medical and military applications.
In the field of computing
In bank transactions
ARCHITECTURE
36
A system architecture or systems architecture is the conceptual model that
defines the structure, behavior, and more views of a system. An architecture
description is a formal description and representation of a system, organized in
a way that supports reasoning about the structures and behaviors of the system.
A system architecture can comprise system components, the externally visible
properties of those components, the relationships (e.g. the behavior) between
them. It can provide a plan from which products can be procured, and systems
developed, that will work together to implement the overall system.
Data Flow Diagram37
A Data Flow Diagram (DFD) is a graphical technique that depicts
information flow and the transformations that are applied as data move from
input to output. Data Flow Diagram (DFD) are commonly used to get a pictorial
representation of the various processes occurring within the system, which
shows the minimum content of the data stores. Each data stores should contain
all the data elements that flow in and out. Process modeling involves figuring
out how data will flow within the system and what steps to perform on the data.
This is how the term data processing originated. Process models are drawing in
the form of a set of DFD and these are later used to guide the creation of
processing logic, when the system is physically created. The DFD are central to
the logical system specification. The following are some advantages:
Provide an overview of DFD and the transformation of data.
Act as a good communication tool for users. Several methods have
been devised to control processing activities. One of them is the batch
processing. In addition to batch controls, several other programmed
checks can use for testing the data.
Complete check ensures that all the fields in a record are present and
read in the proper sequence.
Consistency checks refer to the relevance of one type of data or
another.
Reasonable checks evaluate the transaction against standard to
determine whether it meets the test.
Sequence check verifies that data records are in sequence prior to
processing.
38
Input Image
IMPLEMENTATION39
Histrogram
Shrink
Data extraction in encrypted domain
Data extraction & image recovery plaintext
domain
Decryption
Revisable Data Embedding
Lossless Data Embedding
Image
Encryption
Additional Data 2 Additional Data 1
Original image
Additional data
Additional data
Implementation is the stage of the project when the theoretical design is turned out
into a working system. Thus it can be considered to be the most critical stage in achieving a
successful new system and in giving the user, confidence that the new system will work and
be effective.
The implementation stage involves careful planning, investigation of the existing
system and it’s constraints on implementation, designing of methods to achieve changeover
and evaluation of changeover methods.
The project implemented using MATLAB language.
MODULES
1 .Image Encryption
2. Data Extraction
3. Image Recovery
1. Image Encryption:
The reversible data hiding in encrypted image is investigated in. Most of
the work on reversible data hiding focuses on the data embedding/extracting on
the plain spatial domain. But, in some applications, an inferior assistant or a
channel administrator hopes to append some additional message, such as the
origin information, image notation or authentication data, within the encrypted
image though he does not know the original image content. And it is also
hopeful that the original content should be recovered without any error after
image decryption and message extraction at receiver side. A content owner
encrypts the original image using an encryption key, and a data-hider can
40
embed additional data into the encrypted image using a data-hiding key though
he does not know the original content.
2. Data Extraction:
We will consider the three cases that a receiver has only the data-hiding
key, only the encryption key, and both the data-hiding and encryption keys,
respectively. With an encrypted image containing embedded data, if the receiver
has only the data-hiding key, he may first obtain the values of the parameters
from the LSB of the selected encrypted pixels. Then, the receiver permutes and
divides the other pixels into groups and extracts the embedded bits from the
LSB planes of each group. When having the total extracted bits, the receiver can
divide them into original LSB of selected encrypted pixels and additional bits.
Note that because of the pseudo-random pixel selection and permutation, any
attacker without the data-hiding key cannot obtain the parameter values and the
pixel-groups, therefore cannot extract the embedded data. Furthermore,
although the receiver having the data-hiding key can successfully extract the
embedded data, he cannot get any information about the original image content.
3. Image Recovery:
In this phase, we will consider the three cases that a receiver has only the data-
hiding key, only the encryption key, and both the data-hiding and encryption
keys, respectively. Note that because of the pseudo-random pixel selection and
permutation, any attacker without the data-hiding key cannot obtain the
parameter values and the pixel-groups, therefore cannot extract the embedded
data. Furthermore, although the receiver having the data-hiding key can
successfully extract the embedded data, he cannot get any information about the
original image content.
41
Experimental Results
SCREEN SHOTS
Step1: For hiding data within a image the first step is to click the input image
select button to get a input
Step 2: Select the input image from the desired location
42
The selected input
Step 3: To hide a data click data hide button and select the file from the desired path.
43
Selecting the file from the desired location
Step 4: The encrypted image is taken as input
44
Step 5: with the encrypted image some messages are embedded by clicking embedded button
The retrived orginal image
45
Step 6: The encrypted image is decrypted by clicking decrypt key and then the data is extracted.
The extracted data
46
PSNR Calculations
The term peak signal-to-noise ratio (PSNR) is an expression for the ratio
between the maximum possible value (power) of a signal and the power of
distorting noise that affects the quality of its representation. Because many
signals have a very wide dynamic range, (ratio between the largest and smallest
possible values of a changeable quantity) the PSNR is usually expressed in
terms of the logarithmic decibel scale. The PSNR comparison of the three
videos.
47
Analysis
Four gray images sized 512×512, Lena, Man, Plane and Crowd, shown in
Figure 4, and 50, which contain landscape and people, were used as the original
plaintext covers in the experiment. With the lossless scheme, all pixels in the
cover images were firstly encrypted using Paillier cryptosystem, and then the
additional data were embedded into the LSB-planes of ciphertext pixel-values
using multi-layer wet paper coding. Table 1. Average payload of lossless scheme with respect to different K
K 1 2 3 4 5
Average embedding rate (bits per pixel) with Paillier cryptosystem
0.499 0.749 0.875 0.937 0.968
Table 1 lists the average value of embedding rates when K LSB-planes
were used for carrying the additional data in the 54 encrypted images. In fact,
the average embedding rate is very close to (1−1/2K). On receiver side, the
embedded data can be extracted from the encrypted domain. Also, the original
plaintext images can be retrieved by direct decryption. In other word, when the
decryption was performed on the encrypted images containing additional data,
the original plaintext images were obtained. With the reversible scheme, all
pixels were encrypted after histogram shrink. Then, a half of ciphertext pixels
were modified to carry the additional data, and after decryption, we
implemented the data extraction and image recovery in the plaintext domain.
Here, the low-density parity-check (LDPC) coding was used to expand the
additional data as a bit-sequence in data embedding phase, and to retrieve the
coded bit-sequence and the embedded additional data on receiver side.
Although the error-correction mechanism was employed, an excessive payload
may cause the failure of data extraction and image recovery. With a larger value
of δ, a higher embedding capacity could be ensured, while a higher distortion 48
would be introduced into the directly decrypted image. For instance, when using
Lena as the cover and δ = 4, a total of 4.6×104 bits were embedded and the
value of PSNR in directly decrypted image was 40.3 dB. When using δ = 7, a
total of 7.7×104 bits were embedded and the value of PSNR in directly
decrypted image was 36.3 dB. In both of the two cases, the embedded additional
data and the original plaintext image were extracted and recovered without any
error.
.
Embedding rate-distortion performance of reversible scheme of different method on different
cover images
49
The abscissa represents the pure embedding rate, and the ordinate is the
PSNR value in directly decrypted image. The rate-distortion curves on four test
images, Lena, Man, Plane and Crowd, are respectively.
Furthermore, Figure compares the average rate-PSNR performance
between the proposed reversible scheme with public-key cryptosystems and
several previous methods with symmetric cryptosystems under a condition that
the original plaintext image can be recovered without any error using the data-
hiding and encryption keys. In each block of encrypted image with given size is
used to carry one additional bit. So, the embedding rates of the two works are
fixed and low. With various parameters, we obtain the performance curves of
the method in the proposed reversible scheme, which are shown in the figure. It
can be seen that the proposed reversible scheme significantly outperforms the
previous methods when the embedding rate is larger than 0.01 bpp. With the
combined scheme, we implemented the histogram shrink operation with a value
of parameter δ, and encrypted the pixels using Paillier cryptosystem. Then, we
embedded the first part of additional data into the ciphertext pixel values by the
reversible embedding method, and embedded the second part of additional data
into the K LSB-planes of the ciphertext pixel values by the lossless embedding
method. When having the encrypted image containing the additional data, we
firstly extracted the second part of additional data from the LSB-planes of
ciphertext pixel values. After decryption, we further extracted the first part of
additional data and recovered the original plaintext image in the plaintext
domain. Here, the payloads of the two parts of additional data are same as the
payloads of reversible and lossless schemes, respectively, and the quality of
directly decrypted image is same as that of reversible scheme.
Running Time :
50
Runtime or execution time is the time during which a program is
running, in contrast to other program lifecycle phases such as compile time, link
time and load time. A run-time error is detected after or during the execution
(running state) of a program.
CONCLUSION51
This work proposes a lossless, a reversible, and a combined data hiding
schemes for cipher-text images encrypted by public key cryptography with
probabilistic and homomorphic properties. In the lossless scheme, the ciphertext
pixel values are replaced with new values for embedding the additional data into
the LSB-planes of ciphertext pixels. This way, the embedded data can be
directly extracted from the encrypted domain, and the data embedding operation
does not affect the decryption of original plaintext image. In the reversible
scheme, a preprocessing of histogram shrink is made before encryption, and a
half of ciphertext pixel values are modified for data embedding. On receiver
side, the additional data can be extracted from the plaintext domain, and,
although a slight distortion is introduced in decrypted image, the original
plaintext image can be recovered without any error. Due to the compatibility of
the two schemes, the data embedding operations of the lossless and the
reversible schemes can be simultaneously performed in an encrypted image. So,
the receiver may extract a part of embedded data in the encrypted domain, and
extract another part of embedded data and recover the original plaintext image
in the plaintext domain.
FUTURE ENHANCEMENT
52
Valuable further work can be pursued. For examples, one drawback of
the proposed scheme is that, for the purpose of adaptive prediction, additional
computation for coefficients of autoregression model and threshold for image
partition is required. How to reduce the computational cost can be further
studied. Moreover, among the many possible histogram modification methods
as hinted in the paper, how to design one according to certain optimality
criterion is also an open problem.
REFERENCES
53
[1] N. A. Saleh, H. N. Boghdad, S. I. Shaheen, A. M. Darwish, “High Capacity
Lossless Data Embedding Technique for Palette Images Based on Histogram
Analysis,” Digital Signal Processing, 20, pp. 1629−1636, 2010.
[2] J. Tian, “Reversible Data Embedding Using a Difference Expansion,” IEEE
Trans. on Circuits and Systems for Video Technology, 13(8), pp. 890−896,
2003.
[3] Z. Ni, Y.-Q. Shi, N. Ansari, and W. Su, “Reversible Data Hiding,” IEEE
Trans. on Circuits and Systems for Video Technology, 16(3), pp. 354−362,
2006.
[4] M. U. Celik, G. Sharma, A. M. Tekalp, and E. Saber, “Lossless Generalized-
LSB Data Embedding,” IEEE Trans. on Image Processing, 14(2), pp. 253–266,
2005.
[5] X. Hu, W. Zhang, X. Li, and N. Yu, “Minimum Rate Prediction and
Optimized Histograms Modification for Reversible Data Hiding,” IEEE Trans.
on Information Forensics and Security, 10(3), pp. 653-664, 2015.
[6] X. Zhang, “Reversible Data Hiding with Optimal Value Transfer,” IEEE
Trans. on Multimedia, 15(2), 316−325, 2013.
[7] W. Zhang, X. Hu, X. Li, and N. Yu, “Optimal Transition Probability of
Reversible Data Hiding for General Distortion Metrics and Its Applications,”
IEEE Trans. on Image Processing, 24(1), pp. 294-304, 2015.
[8] S. Lian, Z. Liu, Z. Ren, and H. Wang, “Commutative Encryption and
Watermarking in Video Compression,” IEEE Trans. on Circuits and Systems
for Video Technology, 17(6), pp. 774−778, 2007.
[9] M. Cancellaro, F. Battisti, M. Carli, G. Boato, F. G. B. Natale, and A. Neri,
“A Commutative Digital Image Watermarking and Encryption Method in the
Tree Structured Haar Transform Domain,” Signal Processing: Image
Communication, 26(1), pp. 1−12, 2011.
54
[10] X. Zhang, “Commutative Reversible Data Hiding and Encryption,”
Security and Communication Networks, 6, pp. 1396−1403, 2013.
[11] X. Zhang, “Reversible Data Hiding in Encrypted Image,” IEEE Signal
Processing Letters, 18(4), pp. 255−258, 2011.
[12] W. Hong, T.-S. Chen, and H.-Y. Wu, “An Improved Reversible Data
Hiding in Encrypted Images Using Side Match,” IEEE Signal Processing
Letters, 19(4), pp. 199−202, 2012.
[13] J. Yu, G. Zhu, X. Li, and J. Yang, “An Improved Algorithm for Reversible
Data Hiding in Encrypted Image,” Proceeding of the 11th International
Workshop on Digital-Forensics Watermark (IWDW 2012), Shanghai, China,
Oct. 31-Nov. 02, 2012, Lecture Notes in Computer Science, 7809, pp. 358-367,
2013.
[14] W. Puech, M. Chaumont, and O. Strauss, “A Reversible Data Hiding
Method for Encrypted Images,” Security, Forensics, Steganography, and
Watermarking of Multimedia Contents X, Proc. SPIE, 6819, 2008.
[15] X. Zhang, “Separable Reversible Data Hiding in Encrypted Image,” IEEE
Trans. Information Forensics & Security, 7(2), pp. 526−532, 2012.
[16] Z. Qian, X. Zhang, and S. Wang, “Reversible Data Hiding in Encrypted
JPEG Bitstream,” IEEE Trans. on Multimedia, 16(5), pp. 1486−1491, 2014.
[17] M. S. A. Karim, and K. Wong, “Universal Data Embedding in Encrypted
Domain,” Signal Processing, 94, pp. 174-182, 2014.
[18] K. Ma, W. Zhang, X. Zhao, N. Yu, and F. Li, “Reversible Data Hiding in
Encrypted Images by Reserving Room Before Encryption,” IEEE Trans.
Information Forensics & Security, 8(3), pp. 553-562, 2013.
[19] W. Zhang, K. Ma, and N. Yu, “Reversibility Improved Data Hiding in
Encrypted Images,” Signal Processing, 94, pp. 118-127, 2014.
55
[20] Y.-C. Chen, C.-W. Shiu, and G. Horng, “Encrypted Signal-Based
Reversible Data Hiding with Public Key Cryptosystem,” Journal of Visual
Communication and Image Representation, 25, pp. 1164-1170, 2014.
[21] P. Paillier, “Public-Key Cryptosystems Based on Composite Degree
Residuosity Classes,” Proceeding of the Advances Cryptology,
EUROCRYPT’99, LNCS, 1592, pp. 223-238, 1999.
[22] T. Bianchi, A. Piva, and M. Barni, “On the Implementation of the Discrete
Fourier Transform in the Encrypted Domain,” IEEE Trans. Information
Forensics and Security, 4(1), pp. 86–97, 2009.
[23] T. Bianchi, A. Piva, and M. Barni, “Composite Signal Representation for
Fast and Storage-Efficient Processing of Encrypted Signals,” IEEE Trans.
Information Forensics and Security, 5(1), pp. 180–187, 2010.
[24] P. Zheng, and J. Huang, “Discrete Wavelet Transform and Data Expansion
Reduction in Homomorphic Encrypted Domain,” IEEE Trans. Image
Processing, 22(6), pp. 2455-2468, 2013.
[25] I. Damgård, and M. Jurik, “A Generalisation, a Simplification and Some
Applications of Paillier's Probabilistic Public-Key System,” Public Key
Cryptography, pp. 119-136, 2001.
[26] J. Fridrich, M. Goljan, P. Lisonek, and D. Soukal, “Writing on Wet Paper,”
IEEE Trans. Signal Processing, 53(10), pp. 3923-3935, 2005.
56