A HIGH CAPACITY 3D STEGANOGRAPHY A PROJECT REPORT Submitted by BRINDHA.S (70206104013) JENIFER UDAYAKUMARI.M (70206104028) PARAMESWARI.P (70206104318) in partial fulfillment for the award of the degree of BACHELOR OF ENGINEERING in COMPUTER SCIENCE AND ENGINEERING BANNARI AMMAN INSTITUTE OF TECHNOLOGY SATHYAMANGALAM
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
A HIGH CAPACITY 3D STEGANOGRAPHY
A PROJECT REPORT
Submitted by
BRINDHA.S (70206104013)
JENIFER UDAYAKUMARI.M (70206104028)
PARAMESWARI.P (70206104318)
in partial fulfillment for the award of the degree
of
BACHELOR OF ENGINEERING
in
COMPUTER SCIENCE AND ENGINEERING
BANNARI AMMAN INSTITUTE OF TECHNOLOGY
SATHYAMANGALAM
ANNA UNIVERSITY :: CHENNAI 600 025
APRIL 2010
ANNA UNIVERSITY :: CHENNAI 600 025
BONAFIDE CERTIFICATE
Certified that this project report “A High Capacity 3D Steganography” is the
bonafide work of
BRINDHA.S (70206104013)
JENIFER UDAYAKUMARI.M (70206104028)
PARAMESWARI.P (70206104318)
who carried out the project work under my supervision.
The major contributions of our project are listed below:
To the best of our knowledge, our novel approach can hide much higher
bit rates/vertex (i.e., 21 to 39 bits) than other previous state-of-the-art methods in
steganography for 3D polygon models.
The vertex distortion of a covert model can be limited to an upper bound
I=2, where I is the width of a partitioning interval. The capacity and distortion of our
approach depends mainly on the number of partitioning intervals.
We optimize the number of partitioning intervals in terms of capacity and
distortion. In our project we exploit the geometric characteristics of 3D models to
provide high-capacity data hiding. Usually, there is a trade-off between capacity,
invisibility, and robustness in steganography techniques.
Capacity and invisibility are more important than robustness in the
steganography system. Therefore, we aim at maximizing data hiding capacity while
limiting distortion of cover models in a lower bounded value.
1.1 OBJECTIVE
The main objective of our project is to provide better data hiding capacity to hide
information as much as possible and requires cover media with distortion as little as
possible. Therefore, we aim at maximizing data hiding capacity while limiting
distortion of cover models in a lower bounded value.
2
3D models are good candidates and rich resources to serve as the innocuous
looking hosts for hiding other types of digital content. In this project, we exploit the
geometric characteristics of 3D models to provide high-capacity data hiding. Capacity
and invisibility are more important than robustness in the steganography system.
1.2 OVERVIEW OF THE PROJECT WORK
In our project, we use a novel multilayered embedding scheme that offer up
to 3nlayers bits/vertex, where n layers ranged from 7 to 13 bits/vertex. Our approach
produces much higher hiding capacity than all of the previous works in steganography.
This scheme consists of two separate procedures: the embedding procedure and the
extraction procedure. Both procedures have two main steps: spatial analysis and
multilayered embedding/extraction.
In the embedding procedure, the spatial analysis is the first step that analyzes the
cover model for obtaining a vertex embedding order and three end vertices for the
payload embedding. The vertex traverse approach presented in and is adopted to
generate the vertex embedding order.
The basic idea is to represent a triangle as a pivot edge and two possible exit
edges. The traverse order starts with an initial triangle and the next visited triangle is
determined by the bit value in a selected password to take security into account. The
initial triangle is determined by the principal component analysis of the cover model.
Given the first principal axis obtained from the principal component analysis for
the cover model, the initial triangle is the one that intersects this axis and its position is
furthest from the cover model center of gravity. Once the initial triangle is determined,
the next visited triangle is selected depending on the next bit value in the password.
3
If the next bit value is “1,” the traversal direction is the right exit edge. If the next
bit value is “0,” the traversal direction is the left exit edge. Once the vertex embedding
order is determined, the next step is to embed the payload on the vertices in that order.
In our project, a novel multilayered embedding scheme is proposed for enlarging
the hiding capacity. In the extraction procedure, the embedding order can also be
obtained using the password in the spatial analysis step. The payload can then be
correctly extracted in the reverse embedding order.
4
LITERATURE REVIEW
CHAPTER 2
LITERATURE REVIEW
Watermarking is a popular technique to hide messages and it is usually used for
providing ownership on copyrighted multimedia material and for detecting originators
of illegally made copies. Therefore, an effective watermarking method must be robust
against a variety of attacks.
Image watermarking is a term designating a technique that aims at embedding
and hiding secret information in an image according to an optional secret key. It is then
possible to check whether secret information has been embedded in the image or
whether some given information is actually embedded in the image, or to determine the
actual information that was embedded in the image.
By the sixteenth and seventeenth centuries, there had arisen a large literature on
steganography and many of the methods depended on novel means of encoding
information. In 1954, Emil Hembrooke of the Muzac Corporation filed a patent entitled
“Identification of sound and like signals” in which is described a method for
imperceptibly embedding an identification code into music. The system uses a notch
filter to block, with varying duration, the audio signal at 1kHz, encoded identification
information using Morse code.
Cryptography can only protect the distribution of content and that once a
customer decrypts it, all protection is lost. Watermarking can compliment cryptography,
providing protection after decryption, even after the content has entered the analog
world. The applications of watermarking are well known and can be broadly classified
as copyright control (owner identification, proof of ownership, transaction tracking and
copy control) broadcast monitoring and device control.
5
Recently, much interest is being taken to protect the copyright of digital data and
prevent illegal duplication of it. This was discussed by Saad M. Saad Darwish in his
paper, ”Towards Robust and Flexible Blind Watermarking System for Copyright
Protection of 3D Models “
It presents a robust and flexible blind watermarking system suitable for proving
ownership claims for 3D models. The basic idea is to decompose the original model
into a series of details at different scales by using particular basis functions derived
from wavelet transform; the watermark is then inserted in different resolution levels by
modifying the norms of basis coefficients.
The robustness of the presented system is achieved by embedding the watermark
in a normalized and resampled version of the host mesh, which are quite insensible to
geometrical attacks. While, the flexibility is obtained by increasing embedding strength
on low frequency components, in which alterations are less visible for human eyes. It is
robust against a wide class of attacks.
In the paper ,“Watermarking 3D triangle meshes for authentication and integrity”
by François Cayre, Olivier Devillers, Francis Schmitt and Henri Maître, they discussed
about watermarking schemes for 3D meshes arise from the CAD community. It
describes a framework for fragile watermarking of 3D triangle meshes that enables
accurate assessment of its performances.
Experiments show the relevance of the method towards authentication and
integrity of heritage data purposes. Authentication may be performed using pure
cryptographic primitives. Watermarking is used to allow some non malicious
transformations of the mesh. Moreover, this technique enables visual inspection of the
mesh for integrity assessment.
6
This method is based on alteration of geometrical invariants along a special
traversal of the mesh connectivity graph. It proves that traversal takes linear time for
maximizing the number of sites that can store a watermark bit. It also deduces several
watermarking properties, including the minimum watermark segment (MWS), the
security (in bits) of the embedding, the class of robustness and the probability of false
alarm. Such an accurate characterization of a watermarking scheme for 3D triangle
meshes is not trivial for other similar methods.
The paper, “Texture-Based Watermarking of 3-D Video Objects” by Emmanuel
Garcia and Jean-Luc Dugelay, describes a novel framework for watermarking three-
dimensional (3-D) video objects via their texture information. Unlike classical
algorithms dealing with 3-D objects that operate on meshes in order to protect the
object itself, the main goal is to retrieve information originally hidden in the texture
image of the object, from resulting images or videos having used the 3-D synthetic
object, thus protecting the visual representations of the object.
After developing the theory and practical details of this 3-D object watermarking
scheme, the results of several experiments are carried out in various conditions, ranging
from ideal conditions (known rendering parameters) to more realistic conditions
(unknown rendering parameters) or within the context of attacks).
In the works “Watermarking 3-D Polygonal Models Through Geometric and
Topological Modifications” by Ryutarou Ohbuchi, Hiroshi Masuda, and Masaki Aono
describes techniques for embedding data into 3-D polygonal models of geometry. Given
objects consisting of points, lines, polygons, or curved surfaces, the algorithms produce
polygonal models with data embedded into their vertex coordinates, vertex topology or
both. Such data embedding can be used, for example, for copyright notification,
copyright protection, theft deterrence, inventory of 3-D polygonal models.
7
A description of the background and requirements is followed by a discussion of
where, and by what fundamental methods, data can be embedded into 3-D polygonal
models. It then presents several data-embedding algorithms, with examples, based on
these fundamental methods. By means of these algorithms and examples that show the
embedding of data into 3-D polygonal models is a practicable technique.
Y.-Q. Ni, B. Liu, and H.-B. Zhang, “A Blind Watermarking of 3D Triangular
Meshes Using Geometry Image”, The geometry image of the model is created with
parameterization and then is partitioned into several parts of equal size. The points in
the sub-images was normalized and permuted. The two-dimensional Haar wavelet is
used to decompose the sub-images and the low-frequency components of the wavelet
coefficients multiply an embedding factor and are rounded to the nearest integers.
Then the watermark is embedded with the LSB method. Other 2D image
watermark methods also can be used. The watermarked 3D object is reconstructed from
the watermarked geometry image. In the extraction procedure, the original model isn’t
required. The vertices of the watermarked model are arrayed as a square matrix which is
just the watermarked geometry image. The watermark could be extracted after the same
transformation as in the embedding procedure.
The overview of information hiding in general and steganography in particular is
described in F.A.P. Petitcolas, R.J. Anderson, and M.G. Kuhn, “Information Hiding—A
Survey,”. Various techniques have been placed in historical context in order to elucidate
the relationships between them. There have been a number of attacks on information
hiding systems, which between them demolish most of the current contenders in the
copyright marking business. A tool, StirMark, has been described which breaks many of
them by adding subperceptual distortion, and a custom attack on echo hiding.
8
Also some of the problems in constructing a general theory and the practical
requirements that marking schemes and steganographic systems may have to meet. It is
impractical to demand that any one marking scheme satisfy all of these requirements
simultaneously, that is, that “the marking problem,” as sometimes described in the
literature, is overspecified. That does not, of course, mean that particular marking
problems are insoluble.
Both historical precedent and recent innovation provide us with a wide range of
tools, which if applied intelligently should be sufficient to solve most of the problems to
meet in practice. A reversible watermarking algorithm for authentication of 3D meshes
demonstrated that the proposed method is able to embed a considerable amount of
information into the mesh. This was presented by H.-T. Wu and Y.-M. Cheung, in
paper, “A Reversible Data Hiding Approach to Mesh Authentication”
The embedded watermark can be extracted using some priori knowledge so that
the watermarked mesh can be authenticated by comparing the extracted watermark with
the original one, the recovered mesh centroid with the original mesh centroid
additionally. Therefore, modifications on the watermarked mesh can be efficiently
detected.
A robust watermarking algorithm for the 3D mesh models has been proposed. A
virtual 3D scanner is devised, and a range ROC curves for simplification attack and
Gaussian noise attack image of the object is obtained. Then, the DCT based 2D
watermarking algorithm for embedding the watermark to the range image is done. Other
2D watermarks may also be used.
The watermarked 3D object is reconstructed from the modified range data with
some weight functions. In the extraction procedure, the watermarked range image is
9
obtained and the watermark is extracted with a little amount of additional information.
The attack that can cause watermark detection errors is the general affine
transformations. One way of compensating for this attack is to use nonblind detection
and calculate the principal axis in the original object. Another way is to calculate the
principal axis of the solid test 3D mesh object instead of using only the object’s
vertices. The solid 3D mesh object can be constructed by sampling the object’s interior
space.
Robust Watermarking of 3D Mesh Model is attacked by the mesh simplification,
addition of Gaussian noise and similarity transforms. The simplification method is
adopted. The simplification attack reduces the number of the faces of the model by half.
In Gaussian noise attack, we add the Gaussian random vector to the coordinates
of the vertices, where the amplitude of the random vector is 0.6% of the largest diagonal
length of the bounding box. For the similarity transforms, the watermark is always
detected. The result shows that the proposed algorithm is robust to the attacks such as
mesh simplification and Gaussian noise.
“Simplifying Surfaces with Color and Texture using Quadric Error Metrics” by Michael
Gar1 and Paul S. Heckbertt proposed an algorithm that can quickly produce good
quality approximations ofcolor and texture. It is one of the fastest algorithms available
for producing quality approximations. The fundamental algorithm works well for purely
geometric surfaces. It provides more detailed analysis of the nature of quadrics, and
demonstrated that it is capable of simplifying models of reasonably high complexity.
10
2.1 SYSTEM ANALYSIS
2.1.1 EXISTING SYSTEM
Security is of major concern to hide messages. Not all watermarks need to be
secure. This is especially true for applications which there are no adversary, e.g. linking
media to the Web. And even weak security has value in many business environments.
Handling geometric/temporal distortions in a blind detector remains a difficult problem.
Sensitivity analysis and gradient descent attacks appear to threaten any watermarking
system in which the detector is publicly available.
It’s robust against the attacks such as translation, scaling, rotation and local
deformation and certain amplitude of noise. It lacks in the robustness against more
types of attacks like cutting. It needs changing the indices of the vertex and simplicity
should also be handled. Robust marking aims to embed information into a file which
cannot easily be destroyed. But this results in easy attacking of file. Moreover, when
considering small triangles, machine precision errors can occur.
Capacity-achieving methods exist within this class to achieve provably better
rate-distortion-robustness performance and generalized low-bit(s) modulation methods.
But it failed to ensure security of the image. It is easy to attack by hackers. This
algorithm is not sufficiently robust to polygonal line simplification (vertex removal).
Sufficient robustness to other attacks like noise addition and anisotropic scaling was
also showcased. It is totally immune to a number of geometric distortions.
In the case of spherical objects, the image will become more sensitive to attacks
that affect the principal component. It fails against cropping due to the fact that such an
attack can cause severe alteration to both the principal object axis and mass center.
11
The cropping attack can be successfully handled if the center of the mass and the
principal object axis of the original 3D mesh object are available during watermark
detection. Another attack that can cause watermark detection errors is the general affine
transformations. Such an attack can cause alterations to the principal object axis and the
mass center and, additionally, disturb the entire object geometry.
If the mesh simplification is applied in a nonuniform manner, it may also affect
the calculation of the principal axis. That is, if different regions of the mesh are
simplified on purpose at different rates, it is quite likely that then principal axis will
change significantly and cause loss of synchronization.
The original mesh model can be recovered by performing the reverse process of
the watermark embedding if the watermarked mesh is intact. Future efforts are needed
to realize the on-line applications of mesh authentication.
A polygonal surface model was limited to surfaces without surface properties
such as color and texture. A new generalized error metric, which substantially expands
the set of models which can be simplified using this but it is not capable of rapidly
producing quality approximations that preserve both surface shape and associated
surface properties.
It needs further improvements that could be made. A more complete system
would also include support for multiple attribute values per vertex. This would, for
instance, help solve the problems posed by texture seams and by surface normal
discontinuities. This also believes that the memory usage of our implementation could
be reduced.
12
2.1.1.1 DISADVANTAGES
It is used for the normal digital image which results in distortion
Data is not equally distributed throughout the image
Stealing a data is highly impossible in this existing steganographic technique
It results in the storage of limited data while embedding with the image
It is not Secured by password for protection
2.1.2 PROPOSED SYSTEM
Our proposed system uses multilayered embedding/extraction scheme. Fig.
2.2.1 schematically illustrates the proposed information hiding scheme is referred from
"A High Capacity 3D steganography Algorithm”. This scheme consists of two separate
procedures: the embedding procedure and the extraction procedure.
Fig. 2.2.1 System workflow
13
Both procedures have two main steps: spatial analysis and multilayered
embedding/extraction. We briefly describe the embedding procedure. In the spatial
analysis step, we analyze the cover model for obtaining a vertex embedding order and
three end vertices for the payload embedding.
The basic idea is to represent a triangle as a pivot edge and two possible exit
edges. The traverse order starts with an initial triangle and the next visited triangle is
determined by the bit value in a selected secret key to take security into account. The
initial triangle is determined by the principal component analysis (PCA) of the cover
model.
Given the first principal axis obtained from the PCA for the cover model, the
initial triangle is the one that intersects this axis and its position is furthest from the
cover model center of gravity. Once the initial triangle is determined, the next visited
triangle is selected depending on the next bit value in the secret key. If the next bit
value is “1,” the traversal direction is the right exit edge. If the next bit value is “0,” the
traversal direction is the left exit edge.
Once the vertex embedding order is determined, the next step is to embed the
payload on the vertices in that order. In the extraction procedure, the embedding order
can also be obtained using the secret key in the spatial analysis step. The payload can
then be correctly extracted in the reverse embedding order.
2.1.2.1 ADVANTAGES
3D digital image is used for hiding the information in it.
The data in the image is Equally Distributed.
Stealing a data is highly possible and it provides security by password.
In this approach we can store large data
14
SYSTEM REQUIREMENTS
CHAPTER 3
SYSTEM REQUIREMENTS
3.1 HARDWARE SPECIFICATION:
Processor : Dual Core
Hard Disk : 10 GB
RAM : 256MB
Monitor : 15” Color Monitor
Keyboard : 104 Keys Standard Keyboard
Mouse : Standard 3 Button Mouse
3.2 SOFTWARE SPECIFICATION:
Operating System : Windows 9X/NT/XP
Language Used : Java(swing)
3.3 JAVA SWING:
Steganography is good with Java because Java is a highly secured language.
If we use steganography with Java, it will enforce multiple levels of security of data.
A Java GUI application uses the standard Java components GUI component set,
Swing, and is deployed to the desktop. As with other Java applications, Java GUI
applications can be deployed to Microsoft Windows, Linux, Mac OS, Open Solaris
and any other system that contains the Java Runtime Environment.
15
SYSTEM DESIGN
CHAPTER 4
SYSTEM DESIGN
4.1 Introduction
In our project we first, take the three vertices of a cover model denoted as V a, Vb,
and Vc. These three end vertices are determined using the PCA of the cover model.
Given the first and second principal axes, we orthogonally project all vertices onto these
two axes. The vertices that fall on the two extreme ends of the first principal axis are
selected as the end vertices Va and Vb. The vertex that fall on the furthest extreme end
of the second principal axis is selected as the third end vertex Vc.
If an end vertex has multiple candidates, we simply select the nearest candidate
as the end vertex and slightly shift the other candidates in order to uniquely define an
end vertex. The next step is to transform the cover model to align the vectors
and with the x-axis and y-axis
Fig. 4.1.1 An illustration of a state region qi and its change and unchange
regions.
respectively, and to coincide vertex Va with the origin of the Cartesian coordinate
system. Next, we uniformly divide the line segment into two-state region subsets
in an interleaved manner (e.g., 010101. . . ), denoted as R0 and R1 in Fig. 4.1.1
16
The suffix of R0 and R1 represents the binary feature states “0” and “1,”
respectively. The region in which a vertex vi falls into can be simply calculated using
where di represents the projected distance between vertex vi and the end vertex Va on
the x-axis, that is, di=Vi.X – Va.X (where Vi.X and Va.X represent the X component of
Vi and Va, respectively).
I represents the interval width of a state region, that is, I = D/n intervals, where nintervals
is the number of state regions and D is the distance of Va Vb. Qi then represents the state
region where a vertex vi falls into and ri represents the vertex position in the state region
qi, as shown in Fig. 4.1.1 “%” is the remainder operator.
4.2 Calculation of changed and unchanged regions
If qi R0, it implies that the bit value hidden in a vertex vi is “0.” Similarly, if qi
R1, it implies that the bit value hidden in this vertex is “1.” A vertex falls in the region
qi R0, but the hidden bit value may be “1.” To solve this problem, we further divide
each state region qi into two subregions, called the change region and the unchange
region, as shown in Fig. 4.1. 1
The purpose of the state region subdivision is to find an empty region, i.e., the
change region, over all state regions in order to proportionally move the mismatched
vertices (qi Rk but the hidden bit value is not equal to k, where k = 0 or 1) to the empty
region.These two subregions can be determined using a variable n that is the minimum
distance between all variables ri and its nearest state region boundary, that is, n = min i
(min(ri, I – ri )), for all vertices vi.
17
We consider the following two cases:
Case 1. qi Rk and bit(i) = k, k = 0 or 1: No modification.
Case 2. qi Rk and bit(i) ≠ k, k = 0 or 1: Shift vertex vi to the neighbouring change
region in qi, i.e., if di%I ≤ I/2,
Fig. 4.2.1 Move the vertex to the neighboring change region
move vi to the change region [0,n] otherwise, move vi to the change region [I –n,I] as
shown in Fig. 4.2.1. In the cases above, bit(i) represents the bit value of payload hidden
in a vertex vi. In Case 2, the new position is calculated by adding a small offset δ i to di
(as shown in Fig. 4.2.1), that is,
Where δi = min(ri, I – ri)(1 - 2n/I).
4.3 optimization of state regions
To solve the problem of change region, that might be too small to precisely hide a
payload, two approaches are proposed as follows. The first is to optimize the number of
state regions nintervals . The goal of this optimization is to enlarge the change regions while
reducing the distortion. Another is to enlarge the change regions by simply shrinking
the unchange region to the range [I/4, 3I/4] and setting the change regions to be the
regions [0,I/4] and [3I/4, I], as shown in Fig. 4.3.1
18
In this manner, the small offset δi in (2) must be redefined as
Therefore, in Fig. 4.3.1, when embedding 1 bit bit(i) to the vertex v i, the new position
d’i of this vertex can be calculated using
Where
In general, the offset |d-d’| must be small enough to avoid visual degradation of the
cover model but large enough to allow accurate payload detection.
Fig. 4.3.1 The spaces of change and unchange regions.
Fig. 4.3.2 An illustration of the multilayered embedding scheme.
19
The single-layered embedding scheme is extended to the multilayered version by
directly adding more layers, i.e two-state region subsets are arranged in an interleaved
manner for each layer in our multilayered embedding scheme. However, we make a
slight modification: the state regions in the even layers are shifted to the right by I/2, as
shown in Fig. 4.3.2
Using this arrangement, the moving direction of a vertex is bidirectional. Vertices
are swung forward and backward in the half interval of a state region when
embedding payloads on them. In this manner, we can potentially hide more data on
each vertex in multilayers and do not enlarge the cover model distortion. The lower
bounded distortion is limited to I/2. In the multilayered embedding scheme, the variable
ri for vertex vi in (1) must be rewritten as
4.4 Steps for multilayered embedding
The overall multilayered embedding algorithm is processed as follows:
1. Calculate the variable di for each vertex vi.
2. Calculate the variable ri for vi using (5).
3. Embed a payload into vi by slightly shifting its position, i.e., variable di→d’i,
using (4) (i.e., so vi is shifted to a new position).
4. Repeat steps 2 and 3 for the next layer embedding until all payloads are
embedded entirely on vertices.
20
4.5 Overall multilayered embedding algorithm
In this manner, we can embed data on x-, y-, z-components of a vertex
coordinate, respectively. In each layer, every vertex can hide 3 bits of information,
except for the end vertices Va, Vb, and Vc. As a result, the theoretical upper bounded
capacity of our hiding scheme is 3(|v|-3) nlayers, where nlayers represents the number of
embedding layers and |V | represents the number of vertices.
Therefore, the maximal distortion is limited to I/2. The hiding layers number up
to 10. The end vertices and initial triangle obtained from cover and stego models,
respectively, might not be identical if the distortion of the stego model is too large.
Fortunately, this case had been very rare since the offset of vertex position is extremely
small.
In the multilayered extraction processes, the payloads are extracted in a reverse
embedding order, i.e., from the last layer to the first layer, that is, extracting the bit
values in reverse vertex embedding order. First, the variables d i, qi, and ri for each
vertex vi can be calculated using (1) and (5). We then detect in which region (change or
unchanged region) the vertex lies using the following decision equation:
The bit value bit(i) embedded on the vertex vi can be extracted by checking its state
region:
To recover the vertex position in the previous layer, we subtract the small offset back from the variable di and then expand the state region from [I/4,3I/4] to [0, I], as
21
shown in Fig. 4.4.1. The vertex position in the previous layer can then be
calculated using the following equation, i.e., proportionally moving back to the
previous layer. On the right side, we take a close look at the shaded interval of a state
region.
Fig 4.4.1. Output of the multilayered embedding scheme
where ri =min(ri, I -ri) and sgn is a sign function as defined in (4).
4.6 Steps for multilayered extraction
The overall multilayered extraction algorithm is processed as follows:
1. Calculate the variable di for each vertex vi.
2. Calculate the variable ri for each vertex using (5).
3. Extract a bit value from vi using (7).
4. Recover the vertex position on the previous layer using (8).
5. Repeat steps 1-4 for the previous layer extraction until all payloads are
completely extracted.
22
We designed our entire project into five modules as follows
Handling Image Processing Concept in java for loading
Implement Steganography Algorithms of Robustness and DCT
Embedded hidden data into 3D image
Inverse Steganography Algorithms of Robustness and DCT
Extract hidden data from Stegano 3D image
4.7 MODULES DESCRIPTION
4.7.1 HANDLING IMAGE PROCESSING CONCEPT IN JAVA FOR
LOADING
In the process, they also learn how to program standard image-processing
algorithms in Java. This is made possible thanks to a programmer-friendly environment
and a software interface that greatly facilitates the developments of plug-in for Image.
4.7.2 IMPLEMENT STEGANOGRAPHY ALGORITHMS OF ROBUSTNESS
AND DCT
Data-hiding in the DC components is based on the knowledge of the influence of
the DC component over the spatial domain: it is directly related to the mean of the
intensity of the pixels. A secret bit is embedded in each DC component by substitution
of the less significant bit (LSB).
23
This method presents two advantages: its simplicity and its robustness. The mean
intensity of a block is a global indicator and resists well pixel modifications. On the
opposite, this data-hiding method has a low capacity since only one bit is embedded in
each 8x8 blocks; the secret information cannot exceed 0.19% of the original image size.
The Jpeg method, 7 extends the idea of the previous one to all components of
absolute value greater than 1. One secret bit is embedded in each coefficient with
respect to this requirement. The restriction over the coefficients aims at preserving the
null coefficients and, thus, a good compression rate.
We can considerate that this method is content-based. Indeed, a homogeneous
block contains few non-null coefficients and will embed few secret bits whereas
heterogeneous one contains more non-null coefficients and will embed more
information.
This data-hiding agrees with an obvious Human Vision System (HVS) principle:
modifications are less visible in heterogeneous regions than in homogeneous ones.
Capacity, robustness and invisibility of data-hiding methods are very related and
opposed. So, the improvement of the capacity has negative incidence at least on the
robustness.
The secret information is more sensible to local modifications. Nevertheless the
real negative point is the unknown capacity. It can vary between 0% and 12, 5% of the
original image size. As it is designed to be applied on real image, the capacity remains
often better than for the previous method.
24
The following methods attempt to ensure a higher minimum capacity. A data-
hiding by modification of the quantization matrix has been proposed by.8 Depending on
the quality factor selected for the JPEG compression, a quantized DCT coefficient
variation can lead to important changes in the image.
This data-hiding method proposes to choose coefficients which will not be
quantized and could embed secret bit without degrading the image too much. The
capacity is known in advance and depends on the selected number of non quantized
coefficients.
The original method proposes to select 26 coefficients corresponding to average
frequencies over the 64 of a block and to embed two secret bits in each by substitution
of the two LSBs.
So the fixed capacity is 10.16% of the original image size. The quantized matrix
is present in the JPEG file in order to rebuild the information. Consequently, it is easy
to detect the presence of hidden data. So, the invisibility provided by this method is not
very satisfactory.
4.7.3 EMBEDDED HIDDEN DATA INTO 3D IMAGE
We propose to use data-hiding method in the DC components of a 3D image.
We embed the information of the luminance component of the color image. The method
consists of dividing this component into square (of 8×8 pixels) blocks and applying the
DCT to each block.
Each altitude is coded on 2 bytes, and then we need 16 blocks to embed the information of an altitude of the DEM. So we have chosen to use 4×4 blocks of pixels
25
to embed an altitude. Consequently each block of 32×32 pixels of the original
image will be synchronized with an altitude coded on 2 bytes. Then if we crop the
image with a multiple of 32 pixels we are still able to extract the embedded message.
With this proposed method the texture is in color and we can compress the 3D
image with a chosen quality factor. The embedded message is extracted before the
inverse quantization of JPEG.
4.7.4 INVERSE STEGANOGRAPHY ALGORITHMS OF ROBUSTNESS AND
DCT
Similar to the embedding process for inverse Steganography Algorithms of
Robustness and DCT, the image is partitioned into 8x8 blocks. The basic extraction
method uses the coefficient relationships from the represent embedded bits. The
coefficient sequences determined by hashing a user-entered pass phrase. Each triplet
of DCT coefficients (Va, Vb, Vc) is determined by this coefficient sequence.
4.7.5 EXTRACT HIDDEN DATA FROM STEGANO 3D IMAGE
For each block in the embedding sequence and bit in the embed message, data is
extracted from these coefficients. The message is first reconstructed by extracting
binary strings of length 10 from the fixed locations in the embedding sequence to
determine the length n of the embedded message.
Each of the strings will be assigned a score, and passed to a heuristic function.
The heuristic function assigns weights to each bit of the string based upon the score
function and uses this to reconstruct the embedded string.
26
SYSTEM IMPLEMNTATION
CHAPTER 5
SYSTEM IMPLEMENTATION
The implementation part of the system is divided into six categories as follows.
Main form for selecting option
Embedding
o Load the image
o Load the text file
o Password for authentication
Extracting
o Load the embedded image
o Password for authentication
5.1 MAIN FORM
The host shows the main form that contains two options for processing the image
either embedding the text in the image called as embedding and the other is extracting
the text from the image called as extracting.
5.1.1 EMBEDDING
Embedding option loads the image and does the process of hiding the secret
information in the image and produces a stego image. The image is loaded and the text
file is made hidden in the image by the following steps.
27
5.1.1.1 LOAD THE IMAGE
The image is loaded from the particular location in the system. The image is
adjusted to fit in the particular area in the form so that the image is processed. The
secret message is hidden based on the vertices of the image.
5.1.1.2 LOAD THE TEXT FILE
The text file path is given in order to embed the text file into the image. The text file
is the secret message that is hidden into the image. The target is given to store the stego
image.
5.1.1.3 PASSWORD FOR AUTHENTICATION
The password is given as characters or numbers to ensure security of the stego
image. Only the legitimate user will be able to log in to the system to extract the text
file from the stego image. Hackers will not be able to log in to the system. If the
password is given wrong the original message will not be extracted. Only the correct
password processes the image and produces the output file.
5.1.2 EXTRACTING
Extracting option loads the stego image and does the process of extracting the
information from the image. The stego image is loaded from the particular location and
the hidden text file is extracted from the image by the following steps.
5.1.2.1 LOAD THE EMBEDDED IMAGE
The stego image is loaded from the particular location in the system. It is loaded for
extracting the original message hidden in the stego image.
28
5.1.2.2 PASSWORD FOR AUTHENTICATION
When the extract button is pressed the password is asked for ensuring the
authenticated users. If wrong password is given the text file is not extracted. The
extracted file is stored as text file.
5.2PROJECT FLOW DIAGRAM
5.2.1 project flow diagram
29
Load 3D Image
Secret Message
Password
Embedded Procedure
Extraction Procedure
3D Stegano Image
Resolution 3D Image
Result Message
Result and ANALYSIS
CHAPTER 6
RESULT AND ANALYSIS
6.1 SNAP SHOTS
MAIN FORM
This is the main form for selecting the option for either embedding or extraction.
30
EMBEDDING
LOAD THE IMAGE
The form shows the image that has to be loaded from the particular location for embedding using the option “add image”.
31
LOAD THE TEXT FILE
ORIGINAL TEXT FILE
The figure shows the original text file that has to be embedded in the selected image.
32
PASSWORD FOR AUTHENTICATION
The password is given for authenticated users to embed the text into the image.
33
EMBEDDED IMAGE
This figure shows the encrypted image in the right side. It shows both the original image and embedded image resembles the same so that the text that is embedded in the image is not visible to anyone.
34
EXTRACTION
This is the main form for selecting the option for either embedding or extraction.
35
LOAD THE EMBEDDED IMAGE
The embedded image is loaded to extract the original text file from it.
36
PASSWORD FOR AUTHENTICATION
OUTPUT TEXT FILE
Thus the original text file is extracted from the embedded image.
37
6.2 COMPARISON TABLES
Table 6.2.1 The Comparison between Our Approach and the watermarking Approach
Here, |V| represents the number of vertices; m represents the size of watermark, and |V|
» m; symbols “χ,” “√,” and “∆” indicate that this approach cannot withstand, can
withstand, or can weakly withstand attacks, respectively.
Table 6.2.2 comparison of cover model and attacked model
The second and third columns convey the number of vertices in the Cover Model (C.
M.) and Attacked Model (A. M.), respectively; the fourth column indicates the size of
the embedded data; the fifth column relays the extracted data size.
38
CONCLUSION
CHAPTER 7
CONCLUSION
In our project we have introduced a novel multilayered information hiding
scheme for 3D polygon models. The capacity and distortion of the proposed approach
depends mainly on the number of partitioning intervals. We optimized the number of
partitioning intervals to obtain a good balance between distortion and capacity.
To further increase capacity, we proposed a multilayered embedding scheme that
can embed data on many layers. . It shows that the number of layers ranges from 7 to 13
resulting in high data hiding capacity. The proposed approach offers a significant
improvement in capacity compared to the previous 3D steganography methods, while
the distortion is extreme small.
Finally, we discuss our approach on the issue of security as follows: In all
experiments, the distortion of the cover models suffered from our approach is very
small. The visual difference between the stego and the cover models is imperceptible.
Therefore, it is difficult to sense/determine whether the stego model contains any
hidden messages.
Furthermore, combining the password with our approach makes it harder to
extract the hidden information. Therefore, we can produce better protection of the
information if the stego object arouses suspicion.
39
FUTURE ENHANCEMENT
CHAPTER 8
FUTURE ENHANCEMENT
Currently, the proposed approach has the following limitations that will be solved
in the near future. Perfectly smooth (i.e., sphere) or extremely small-size models are not
suitable for selection as cover models because the hidden data might be easily observed
after even a very small modification by any embedding method. A better approach for
determining vertex traverse list is required in the near future.
Another limitation is that proposed approach cannot withstand certain malicious
attacks such as smoothing, additional noise, non uniform scaling, simplification, and
vertices resampling. As a result, the proposed approach is not suitable for the
applications of digital content protection and authentication.
40
REFERENCES
CHAPTER 9
REFERENCES
[1] S. Katzenbeisser and F.A.P. Petitcolas, eds., Information Hiding Techniques for
Steganography and Digital Watermarking, Artech House, 2000
[2] I.J. Cox, M.L. Miller, and J.A. Bloom, Digital Watermarking. Morgan Kaufmann,
2002
[3] S. Zafeiriou, T. Anastasios, and I. Pitas, “Blind Robust Watermarking Schemes for
Copyright Protection of 3D Mesh Objects,” IEEE Trans. Visualization and Computer
Graphics, vol. 11, no. 5, Sept./Oct. 2005
[4] V.R. Doncel, N. Nikolaidis, and I. Pitas, “An Optimal Detector Structure for the
Fourier Descriptors Domain Watermarking of 2D Vector Graphics,” IEEE Trans.
Visualization and Computer Graphics, vol. 13, no. 5, Sept./Oct. 2007
[5] H.-T. Wu and Y.-M. Cheung, “A Reversible Data Hiding Approach to Mesh
Authentication,” Proc. IEEE/WIC/ACM Int’l Conf. Web Intelligence (WI ’05), pp. 774-
777, Sept. 2005
[6] O. Benedens, “Robust Watermarking and Affine Registration of 3D Meshes,” Proc.
Fifth Int’l Workshop Information Hiding (Information Hiding ’03), pp. 177-195, 2003
41
[7] F.A.P. Petitcolas, R.J. Anderson, and M.G. Kuhn, “Information Hiding—A
Survey,” Proc. IEEE, special issue on protection of multimedia content, vol. 87, no. 7,
pp. 1062-1078, 1999
[8] Y.-Q. Ni, B. Liu, and H.-B. Zhang, “A Blind Watermarking of 3D Triangular
Meshes Using Geometry Image,” Proc. Fourth Int’l Conf. Computer Graphics, Imaging
and Visualization (CGIV ’07), pp. 335-340, 2007.
[9] C.-M. Wang and Y.-M. Cheng, “An Efficient Information Hiding Algorithm for
Polygon Models,” Proc. Eurographics ’05, vol. 24, no. 3, pp. 591-600, 2005
[10] B. Chen and G.W. Wornell, “Quantization Index Modulation: A Class of Provably
Good Methods for Digital Watermarking and Information Embedding,” IEEE Trans.
Information Theory, vol. 47, no. 4, pp. 1423-1443, May 2001.
[11] F. Perez-Gonzalez and F. Balado, “Quantized Projection Data Hiding,” Proc. IEEE