Documente Academic
Documente Profesional
Documente Cultură
Image Watermarking
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE
AWARD OF THE DEGREE OF
Bachelor of Engineering
(Computer Science & Engg.)
We hereby certify that the work which is being presented in the B.E Project Report
entitled “ A Predictive Approach for Digital Image Watermarking”, in partial
fulfillment of the requirements for the award of the Bachelor Of Engineering
(Computer Science and Engineering) and submitted to the Department of Computer
Science and Engineering VCE Rohtak is an authentic record of our own work carried out
during a period from July 2009 to May 2010 under the guidance of Miss Madhu Bhatia,
CSE Department.
The matter presented in this report has not been submitted by us for the award of
any other degree elsewhere.
Ayushi (115/CS/07)
Bhawana Juneja(116/CS/07)
Mona(160/CS/07)
This is to certify that the above statement made by the candidate is correct to the
best of my knowledge.
Mr. Pankaj Gupta
H.O.D Of CSE
VCE,Rohtak
ACKNOWLEDGEMENT
Authors are highly grateful to the Principal, Vaish college of Engineering, Rohtak, for providing
this opportunity to carry out the present report/ work.
The constant guidance and encouragement received from Miss Madhu Bhatia, Lect in
Department of CSE, VCE Rohtak has been of great help in carrying our the present work
and are acknowledged with reverential thanks.
Authors express gratitude to other faculty members of CSE Department, VCE for their
intellectual support throughout the course of this work.
Finally, authors are indebted to all whosoever have contributed in this report work and
friendly stay at VCE.
Ayushi (115/CS/07)
Bhawana Juneja(116/CS/07)
Mona(160/CS/07)
INTRODUCTION
Many multimedia authentication systems have been proposed in the last few years for
ensuring the integrity and origin of multimedia data such as images. These systems fall in
within the source itself. The goal of multimedia authentication is to authenticate the
content, not its specific format representation. Thus, the embedding of the authenticator
as an invisible watermarking in a host signal has two main objectives: to alert a party to
unacceptable distortions on the host and to authenticate the legitimate source. Possible
distortions on a signal can be divided into two groups: legitimate and illegitimate
distortions. When a signal undergoes a legitimate distortion which does not alter the
content of the data, the authentication system should indicate that the signal is authentic.
Conversely, when it undergoes illegitimate tampering, the distorted signal should be
rejected as inauthentic
highly fragile often detecting any modifications to the signal in a similar way to
that there is greater potential in characterizing the tamper distortion, and in designing a
ABSTRACT
Since security & authentication is very important in domains like banking,
finance etc for transfer of valuable data .we going do design project based on secured
data authentication in which we are going to hide the data in an image in a secured
manner for that we are going to use a technique called semi-fragile watermarking
technique in which we are going to hide the given data behind the image usually when
the data is extracted from the image some of the data could be lost for this MSB-LSB
of security, in this project we are using Authentication in the form of key .key is nothing
but some numbers or some character or even may be a text file containing some data
which is known only to the user and the receiver. During the extraction process the
receiver can extract the data only if the key is provided correctly if he doesn’t provide the
Needs of watermarking
Modules
Authentication
Embedding process
Extraction process
Authentication
authentication. Authentication is done to secure the project from unauthorized user. The
username and password is checked and the unauthorized user is ignored. The user can
access the application if the username and password is valid. As it is the first module of
No
Verify
Yes
Permit Restrict
access access
Embedding process
data conversion
Security
Watermarking
Image conversion
In data conversion module the given data is converted into its binary
values and those binary values are changed into numeric streams because if a hacker try
to get the data behind the image it cannot be understandable to him this process makes
message
Numeric stream
Security
In security module we are going to give security for the data. In the sense we
are going to provide a key for the protection and authentication of the data. A key is
all or it can also be a text file with txt extension which is used for authentication purpose
during the extraction process. in this module we are embedding the key with the numeric
Key
Combining with
numeric stream
Combined data
Watermarking
This is the last module in the embedding process, in this module we are
going to watermark the data from the above module in the given Microsoft word
document this process is done by converting the word document into bytes and
combining the data from the above module in the word document the out put is a
Extraction process
It is the last module in this project in this module input is image with data
hidden in side in which the hidden data is extracted by giving a correct key the extracted
data will be in the form of numeric stream so they are converted into binary values and
Hidden data
Existing System
in which robustness and fragility are not present robustness in the sense security and
fragility in the sense retrieval of the Data without any error i.e. during the extraction
process the data retrieved from the image gets clubbed and because of this some data
may get lost and also there is no authentication in the existing system and because of this
The major problem with many of these watermarking schemas is that they are not very
robust against different types of image manipulations or attacks. Moreover, some of these
Due to above mentioned failures a new technique has been proposed so that to cover and
maintain the drawbacks prevailed in the previous system and hence a technique called
such that both objectives of robustness and fragility are effectively controlled and
this method extracts the data from the image without any loss it also satisfies both
Security is high
Authentication is provided
The main objective of watermarking robustness and fragility has been satisfied.
Applications of digital watermarking
Copyright Protection :
Tracking :
Tamper Proofing:
Broadcast Monitoring:
REQUIREMENTS
Hardware requirements
RAM : 256 MB
Monitor : Color Monitor 15 inches
Keyboard : 104Keys
Mouse : 3Buttons
Software Requirements
Front-End : VB.NET
TECHNOLOGY USED
• C#.NET
• ADO.NET
• ASP.NET
C#.NET:
C# is an elegant and type-safe object-oriented language that enables developers to build a
variety of secure and robust applications that run on the .NET Framework. We can use
C# to create traditional Windows client applications, XML Web services, distributed
components, client-server applications, database applications, and much, much more.
Visual C# 2010 provides an advanced code editor, convenient user interface designers,
integrated debugger, and many other tools to make it easier to develop applications based
on version 4.0 of the C# language and version 4.0 of the .NET Framework.
C# syntax is highly expressive, yet it is also simple and easy to learn. The curly-brace
syntax of C# will be instantly recognizable to anyone familiar with C, C++ or Java.
Developers who know any of these languages are typically able to begin to work
productively in C# within a very short time. C# syntax simplifies many of the
complexities of C++ and provides powerful features such as nullable value
types,enumeration,delegates,lambda expressionsand direct memory access,which are not
found in java.
As an object-oriented language, C# supports the concepts of encapsulation, inheritance,
and polymorphism. All variables and methods, including the Main method, the
application's entry point, are encapsulated within class definitions. A class may inherit
directly from one parent class, but it may implement any number of interfaces. Methods
that override virtual methods in a parent class require the override keyword as a way to
avoid accidental redefinition. In C#, a struct is like a lightweight class; it is a stack-
allocated type that can implement interfaces but does not support inheritance.
Source code written in C# is compiled into an intermediate language (IL) that conforms
to the CLI specification. The IL code and resources, such as bitmaps and strings, are
stored on disk in an executable file called an assembly, typically with an extension of
.exe or .dll. An assembly contains a manifest that provides information about the
assembly's types, version, culture, and security requirements.
When the C# program is executed, the assembly is loaded into the CLR, which might
take various actions based on the information in the manifest. Then, if the security
requirements are met, the CLR performs just in time (JIT) compilation to convert the IL
code to native machine instructions.
ADO.NET :
ADO.NET (ActiveX Data Objects .NET) is the primary data access API for the .NET
Framework. It provides the classes that you use as you develop database applications
with Visual Basic .NET as well as other .NET languages. In the two topics that follow,
you’ll learn about how ADO.NET uses these classes to provide access to the data in a
database and the two ways you can create ADO.NET objects in your Visual Basic
programs.
To work with data using ADO.NET, you use a variety of ADO.NET objects. Figure 2-1
shows the primary objects you’ll use to develop Windows-based ADO.NET applications
in Visual Basic.
To start, the data used by an application is stored in a dataset that contains one or more
data tables. To load data into a data table, you use a data adapter. The main function of
the data adapter is to manage the flow of data between a dataset and a database. To do
that, it uses commands that define the SQL statements to be issued. The command for
retrieving data, for example, typically defines a Select statement. Then, the command
connects to the database using a connection and passes the Select statement to the
database. After the Select statement is executed, the result set it produces is sent back to
the data adapter, which stores the results in the data table.
To update the data in a database, the data adapter uses a command that defines an Insert,
Update, or Delete statement for a data table. Then, the command connects to the database
and performs the requested operation.
Although it’s not apparent in this figure, the data in a dataset is independent of the
database that the data was retrieved from. In fact, the connection to the database is
typically closed after the data is retrieved from the database. Then, the connection is
opened again when it’s needed. Because of that, the application must work with the copy
of the data that’s stored in the dataset. The architecture that’s used to implement this type
of data processing is referred to as a disconnected data architecture. Although this is
more complicated than a connected architecture, the advantages offset the complexity.
The ADO.NET classes that are responsible for working directly with a database are
provided by the .NET data providers. These data providers include the classes you use to
create data adapters, commands, and connections. As you’ll learn later in this chapter, the
.NET Framework currently includes two different data providers, but additional providers
are available from Microsoft and other third-party vendors such as IBM and Oracle.
ASP.NET:
ASP.NET is more than the next version of Active Server Pages (ASP); it provides a
unified Web development model that includes the services necessary for developers to
build enterprise-class Web applications. While ASP.NET is largely syntax compatible
with ASP, it also provides a new programming model and infrastructure for more
scalable and stable applications that help provide greater protection. You can feel free to
augment your existing ASP applications by incrementally adding ASP.NET functionality
to them.
ASP.NET has been designed to work seamlessly with WYSIWYG HTML editors and
other programming tools, including Microsoft Visual Studio .NET. Not only does this
make Web development easier, but it also provides all the benefits that these tools have to
offer, including a GUI that developers can use to drop server controls onto a Web page
and fully integrated debugging support.
Developers can use Web Forms or XML Web services when creating an ASP.NET
application, or combine these in any way they see fit. Each is supported by the same
infrastructure that allows you to use authentication schemes, cache frequently used data,
or customize your application's configuration, to name only a few possibilities.
• Web Forms allow you to build powerful forms-based Web pages. When building
these pages, you can use ASP.NET server controls to create common UI
elements, and program them for common tasks. These controls allow you to
rapidly build a Web Form out of reusable built-in or custom components,
simplifying the code of a page.
• An XML Web service provides the means to access server functionality remotely.
Using XML Web services, businesses can expose programmatic interfaces to their
data or business logic, which in turn can be obtained and manipulated by client
and server applications. XML Web services enable the exchange of data in client-
server or server-server scenarios, using standards like HTTP and XML messaging
to move data across firewalls. XML Web services are not tied to a particular
component technology or object-calling convention. As a result, programs written
in any language, using any component model, and running on any operating
system can access XML Web services.
Each of these models can take full advantage of all ASP.NET features, as well as the
power of the .NET Framework and .NET Framework common language runtime. These
features and how you can use them are outlined as follows:
• If you have ASP development skills, the new ASP.NET programming model will
seem very familiar to you. However, the ASP.NET object model has changed
significantly from ASP, making it more structured and object-oriented.
Unfortunately this means that ASP.NET is not fully backward compatible; almost
all existing ASP pages will have to be modified to some extent in order to run
under ASP.NET. In addition, major changes to Visual Basic .NET mean that
existing ASP pages written with Visual Basic Scripting Edition typically will not
port directly to ASP.NET. In most cases, though, the necessary changes will
involve only a few lines of code
• Accessing databases from ASP.NET applications is an often-used technique for
displaying data to Web site visitors. ASP.NET makes it easier than ever to access
databases for this purpose. It also allows you to manage the database from your
code..
• ASP.NET provides a simple model that enables Web developers to write logic
that runs at the application level. Developers can write this code in the
Global.asax text file or in a compiled class deployed as an assembly. This logic
can include application-level events, but developers can easily extend this model
to suit the needs of their Web application..
• ASP.NET provides easy-to-use application and session-state facilities that are
familiar to ASP developers and are readily compatible with all other .NET
Framework APIs.
• ASP.NET takes advantage of performance enhancements found in the .NET
Framework and common language runtime. Additionally, it has been designed to
offer significant performance improvements over ASP and other Web
development platforms. All ASP.NET code is compiled, rather than interpreted,
which allows early binding, strong typing, and just-in-time (JIT) compilation to
native code, to name only a few of its benefits. ASP.NET is also easily factorable,
meaning that developers can remove modules (a session module, for instance) that
are not relevant to the application they are developing. ASP.NET also provides
extensive caching services (both built-in services and caching APIs). ASP.NET
also ships with performance counters that developers and system administrators
can monitor to test new applications and gather metrics on existing applications. .
• The .NET Framework and ASP.NET provide default authorization and
authentication schemes for Web applications. You can easily remove, add to, or
replace these schemes, depending upon the needs of your application
• ASP.NET configuration settings are stored in XML-based files, which are human
readable and writable. Each of your applications can have a distinct configuration
file and you can extend the configuration scheme to suit your requirements.
Applications are said to be running side by side when they are installed on the same
Start
Message is
input
Converting it into
Binary values
Converting it into
Secret key
numeric streams
Data hided
image file
Stop
Embedded system
Start
Watermarked
image file
Converting them
into message
Hidden
message
Stop
Block Diagram
Embedding process
Input is a message
Converting it into
Numeric streams
Watermarked word
document
Extraction process
Input is a image
Extracting the
numeric streams
Converting them
message
View of hidden
message
Conclusion/Goal
useful and constructive tools in the analysis and design of semi-fragile watermarked-
lattice codes in achieving design objectives such as robustness, fragility, security, and
implementation efficiency.
Future work
C.-Y. Lin and S.-F. Chang, “Semi-fragile watermarking for authenticating JPEG
visual content,” in Proc. SPIE, Security and Watermarking of Multimedia Content
II, Jan. 2000.
R. Radhakrishnan and N. Memon, “On the security of digest function In the SARI
image authentication system,” IEEE Trans. Circuits Syst .Video Techno. vol. 12,
no. 11, pp. 1030–1033, Nov. 2002