PROJECT REPORT

----- COLLEGE LOGO HERE------

Submitted by

NAMEs [Reg. Nos]
in the partial fulfillment for the award of the degree of

BACHELOR OF ENGINEERING
in Department Name Here XXXXXXX COLLEGE OF ENGINEERING
ANNA UNIVERSITY CHENNAI 600 025 APRIL 2010

ANNA UNIVERSITY
CHENNAI-600025

XXXXXXX COLLEGE OF ENGINEERING

DEPARTMENT OF

Department Name Here XXXXXXX NAGAR, OLD MAMMALAPURAM ROAD,
CHENNAI-600119. ----- COLLEGE LOGO HERE------

BONAFIDE CERTIFICATE

Certified that this project report “TITLE” is the bonafide work of ―XXXX (7777777), ZZZZZZZZZZZZ (0000000000)” who carried out the project work under my supervision.

SIGNATURE

SIGNATURE

HEAD OF THE DEPARTMENT Submitted for the examination held on…………………………….. INTERNAL EXAMINER

SUPERVISOR

EXTERNAL EXAMINER

Completion Certificate

We are extremely thankful to our External guide XXXXXX of XXXXXXXX for providing us valuable guidance and useful suggestions for constant improvement of this project work. and faculty of the Computer Science & Engineering Department for providing us an excellent infrastructure and valuable resources for carrying out this project.. XXXXXX. Directors Thiru XXXXXX. Principal XXXXXXX. B. TABLE OF CONTENTS CHAPTER NO TITLE ABSTRACT LIST OF FIGURES LIST OF ABBREVATIONS PAGE NO . the Secretary Thiru. Thiru.ACKNOWLEDGEMENT We are very much indebted to our Chairman.A. and Mrs. XXXXXXXX. We wish to thank our Project Co-coordinator XXXXXX for guiding us to take up this project and for her enthusiasm shown towards this project. our friends and other well wishers who helped us to complete this work successfully.L.. XXXXXXXXXX M. We wish to acknowledge our thanks to our parents. Her efforts in establishing methodical work routine have lead to the successful completion of this project. Head of the Department Mr. XXXXXXX.

2 software specification 3.3 objective and success criteria 2 SYSTEM ANALYSIS 2.2 scope of the system 1.1 overview 2.1 Variational framework for joint segmentation and bias field estimation .1 INTRODUCTION 1.2 System Architecture 4.1 Design Overview 4.3 Use case diagram 5 MODULE DESCRIPTION 5.1hardware specification 3.1 purpose of the system 1.3 software and technologies description 4 SYSTEM DESIGN 4.3 proposed system 3 SYSTEM REQURIMENTS 3.2 existing system 2.

2 Level set formulation and energy minimization 6 SYSTEM TESTING 6.5.MR IMAGES FIGURE 2.SYSTEM ARCHITECTURE FIGURE 3 .3 Acceptance Testing 7 8 9 SYSTEM IMPLEMENTATION CONCLUSION & FUTURE SCOPE APPENDICES APPENDICES 1: SCREEN SHOTS APPENDICES 2: CODE 10 BIBLIOGRAPHY LIST OF FIGURES FIGURE 1.2 Integration Testing 6.1 Unit Testing 6.USE CASE DIAGRAM FIGURE 4 – JAVA TECHNOLOGY .

ABSTRACT .

data file. There has been effective growth in developing techniques to discourage the unauthorized duplication of data and applications.1. contains the techniques to be used with the image that cannot be misused by the unauthorized users. The watermarking technique is one which is feasible to design to protect data and also application. INTRODUCTION 1. works thusly. A generic steganographic system. or stegno system. The system. Once it embbed our secret file into the cover. copyright protection and all walks of Internet application. The LSB is not only allow one do it without much distortion.1 ABSTRACT Digital watermarking is a process of embedding marks which are typically invisible and that can be extracted only by owner’s authentication. authentication. when the project delivers. Digital Watermarking finds wide application in security. A secret message is embedded into the cover data using some sort of embedding algorithm like LSB algorithm. The term cover is used to describe the original message in which it will hide our secret message. the new image is known as the stegno image. . image or image file. with a much better Stegnoimage quality& in a reliable and secured manner guaranteeing efficient retrievals of secret file.

which the project delivers. .1. The system.2 PROBLEM DEFINITION The main objective of this project is to reduce the unauthorized duplication of data and application. authentication. and copyright protections to all walks of Internet applications. This project uses the LSB algorithm for file hiding and file extraction. contains the techniques to be used with the images that cannot be misused by unauthorized users. This Project is to provide the security for images by using key concepts. Provide security.

The emphasis in requirement analysis is on identifying what is needed from the system. and the client does not understand the issues involved in software systems.1 NEED FOR THE SYSTEM Requirements analysis is done in order to understand the problem the software system has to solve. The person responsible for the requirements analysis is often called the analyst. which has to be adequately bridged during requirement analysis. The developer usually does not understand the client’s problem domain. and not how the system will achieve its goals. SYSTEM ANALYSIS 2. .CHAPTER 2 SYSTEM ANALYSIS 2. This causes the communication gap. The goal of the requirement specification phase is to produce the software requirements specification document (Also called the requirements document).

which takes data and mixes it up with an algorithm and a key to output unreadable data. and all design constraints. Steganography is the act of hiding data inside other data. the analyst has to understand the problem and its context. the format of inputs and outputs. the requirements must be specified in the requirement specification document. Another form of data hiding is encryptions cousin steganography.    Asking Getting Information from the existing system Prototyping 2. System analysis is a detailed study of various operations performed by as system and their relationship within and outside the system. In problem analysis. Once the problem is analyzed and the essentials understood. Such analysis typically requires a thorough understanding of the existing system.There are two major activities in this phase: Problem Understanding or analysis and requirement specification. The goal of this activity is to understand the requirements of the new system that is to be developed. . A preliminary user manual that describes the entire major user interfaces frequently forms a part of the requirements documents. The requirements document must specify all functional and performance requirements.2 EXISTING SYSTEM ARCHITECTURE     The most widely used methods is encryption. The receiver then must also have a key to decrypt the data in order to read it. The main aspect of analysis is defining the boundaries of the system and determining whether or not the candidate system should consider other related system. parts of which have to be automated.

2.2 DATA MODEL 4. The project that is implemented deals with digital images acting as a cover medium to store secret data in such a manner that becomes undetectable.2.1 LOGICAL DATA DESIGN PROCESS: Embedding and extraction algorithm Choose the original image Choose the secret Image or data file Embedded file send Target place Duplicate image . A major advantage of the LSB algorithm is it is quick and easy.3 PROPOSED SYSTEM ARCHITECTURE     This Project is to provide the security for images by using key concepts. 4. In future we would like to implement steganography using audio and video files.

3. It identify the use of the system and therefore the system’s responsibilities.3 PROCESS MODEL 4. .2.1 USE CASE DIAGRAM It describes the uses of the system and shows the courses of events that can be performed. It is a special flow of events through the systems.1 Logical data design 4.Figure 4.

3.3.1:Use case Diagram 4.2 SEQUENCE DIAGRAM .Authentication «extends» «extends» «extends» Message Embedding «extends» «extends» «extends» Secred Code Top Package::Source Receive Original Image Top Package::Destination Figure 4.

3.2: Sequence Diagram 4.3.3 DATA FLOW DIAGRAM .Source Process Target Place message Embedding message Decoding secred code is failed() Figure 4.

especially when the required design is unclear and the user and the analyst need a notational language for communication. A square defines a source or destination of system data. The DFD is easy to understand after a brief orientation.A DFD describes what data flow rather than how they are processed. To construct a Data Flow Diagram. we use     Arrow Circles Open End Box Squares An arrow identifies the data flow in motion. The DFD methodology is quite effective. A circle stands for process that converts data into information. so it does not depend on hardware. and data structure or file organization. It is a pipeline through which information is flown like the rectangle in the flowchart. data at rest or a temporary repository of data. . An open-ended box represents a data store. software.

3. This includes expert programmers as well as novices.LEVEL 1: Input for Login Process the Authentication Data Base No Yes File Transfer using Steganography Figure 4. It is one of the authentications for this Project.3: Data flow diagram (LEVEL-1) This module represents an individual who uses a computer. An end user is any individual who runs an application program. .

LEVEL 2: Start Input for Login Process the Authentication Data Base No Yes Choose the picture for message Embedding Embedding the Information Stop Process Receive the Original Message Target place Decoding Figure 4.3.3: Data flow diagram (LEVEL-2) .

interpretation occurs each time the program is executed.3TECHNOLOGY DESCRIPTION: Java Technology Java technology is both a programming language and a platform. first you translate a program into an intermediate language called Java byte codes —the platform-independent codes interpreted by the interpreter on the Java platform. The Java programming language is unusual in that a program is both compiled and interpreted. With the compiler. The Java Programming Language The Java programming language is a high-level language that can be characterized by all of the following buzzwords:            Simple Architecture neutral Object oriented Portable Distributed High performance Interpreted Multithreaded Robust Dynamic Secure With most programming languages. you either compile or interpret a program so that you can run it on your computer. The following figure illustrates how this works. The interpreter parses and runs each Java byte code instruction on the computer. Compilation happens just once. .

run anywhere‖ possible. or on an iMac. whether it’s a development tool or a Web browser that can run applets. You can compile your program into bytecodes on any platform that has a Java compiler. a Solaris workstation. Every Java interpreter. That means that as long as a computer has a Java VM. is an implementation of the Java VM. .Fig 2 JAVA working Models You can think of Java bytecodes as the machine code instructions for the Java Virtual Machine (Java VM). the same program written in the Java programming language can run on Windows 2000. The bytecodes can then be run on any implementation of the Java VM. Java bytecodes help make ―write once.

Most platforms can be described as a combination of the operating system and hardware. It’s the base for the Java platform and is ported onto various hardware-based platforms. The next section. Linux. such as graphical user interface (GUI) widgets. The Java platform has two components:   The Java Virtual Machine (Java VM) The Java Application Programming Interface (Java API) You’ve already been introduced to the Java VM. and MacOS.Fig 3 JAVA platform Independent The Java Platform A platform is the hardware or software environment in which a program runs. We’ve already mentioned some of the most popular platforms like Windows 2000. . The Java platform differs from most other platforms in that it’s a software-only platform that runs on top of other hardware-based platforms. As the figure shows. The Java API is a large collection of ready-made software components that provide many useful capabilities. Solaris. What Can Java Technology Do?. the Java API and the virtual machine insulate the program from the hardware. these libraries are known as packages. highlights what functionality some of the packages in the Java API provide. The Java API is grouped into libraries of related classes and interfaces. The following figure depicts a program that’s running on the Java platform.

strings. and so on. though. proxy servers. the Java platform can be a bit slower than native code. and print servers. Java Servlets are a popular choice for building interactive web applications. How does the API support all these kinds of programs? It does so with packages of software components that provide a wide range of functionality. well-tuned interpreters. However. Another specialized program is a servlet. configuring or tailoring the server. smart compilers. data structures. Servlets are similar to applets in that they are runtime extensions of applications. The general-purpose. Using the generous API. Instead of working in browsers. A servlet can almost be thought of as an applet that runs on the server side.Native code is code that after you compile it. As a platform-independent environment. threads. A special kind of application known as a server serves and supports clients on a network. If you’ve surfed the Web. However. . Every full implementation of the Java platform gives you the following features:  The essentials: Objects. An applet is a program that adheres to certain conventions that allow it to run within a Java-enabled browser. An application is a standalone program that runs directly on the Java platform. you can write many types of programs. servlets run within Java Web servers. and justin-time bytecode compilers can bring performance close to that of native code without threatening portability. replacing the use of CGI scripts. date and time. entertaining applets for the Web. you’re probably already familiar with applets. Examples of servers are Web servers. mail servers. the compiled code runs on a specific hardware platform. What Can Java Technology Do? The most common types of programs written in the Java programming language are applets and applications. numbers. the Java programming language is not just for writing cute. system properties. high-level Java programming language is also a powerful software platform. input and output.

 Security: Both low level and high level. speech. collaboration.  Internationalization: Help for writing programs that can be localized for users worldwide. How Will Java Technology Change My Life? We can’t promise you fame. and IP (Internet Protocol) addresses. it is likely to make your programs better and requires less effort than other languages. including electronic signatures. The following figure depicts what is included in the Java 2 SDK.   Object serialization: Allows lightweight persistence and communication via Remote Method Invocation (RMI). Software components: Known as JavaBeansTM.  The Java platform also has APIs for 2D and 3D graphics. animation. access control. and more. accessibility. Java Database Connectivity (JDBCTM): Provides uniform access to a wide range of relational databases. or even a job if you learn the Java programming language. and certificates. Programs can automatically adapt to specific locales and be displayed in the appropriate language. Networking: URLs. TCP (Transmission Control Protocol). telephony. can plug into existing component architectures.  Applets: The set of conventions used by applets. UDP (User Data gram Protocol) sockets. fortune. Still. public and private key management. We believe that Java technology will help you do the following: . servers.

 Write less code: Comparisons of program metrics (class counts. and so on) suggest that a program written in the Java programming language can be four times smaller than the same program in C++. Its object orientation. method counts. Get started quickly: Although the Java programming language is a powerful object-oriented language. it’s easy to learn. its JavaBeans component architecture. run anywhere: Because 100% Pure Java programs are compiled into machine-independent bytecodes.  Write once. The 100% Pure JavaTM Product Certification Program has a repository of historical process manuals.  Write better code: The Java programming language encourages good coding practices.  Develop programs more quickly: Your development time may be as much as twice as fast versus writing the same program in C++. Applets take advantage of the feature of allowing new classes to be loaded ―on the fly. and similar materials online. and its wide-ranging. white papers.  Avoid platform dependencies with 100% Pure Java: You can keep your program portable by avoiding the use of libraries written in other languages.‖ without recompiling the entire program. they run consistently on any Java platform. brochures. easily extendible API let you reuse other people’s tested code and introduce fewer bugs. . Why? You write fewer lines of code and it is a simpler programming language than C++. and its garbage collection helps you avoid memory leaks. Distribute software more easily: You can upgrade applets easily from a central server. especially for programmers already familiar with C or C++.

but instead introduces the power and simplicity of Swing to get you started using the library. but you’ve got the power if you need it. If you need to do more. but you don’t have to do any extra programming. This means an easy entry point. so they can be used in any development environment that supports Beans.INTRODUCTION TO SWING: Swing contains all the components.‖ that is. Swing also supports something called ―pluggable look and feel. then Swing can probably give you what you want if you’re willing to do the research by hunting through the online documentation from Sun. Keyboard navigation is automatic – you can use a Swing application without the mouse. BENEFITS OF SWING: Swing components are Beans. Swing has great depth. once you pick up the general ideas about the library you can apply them everywhere. Please be aware that what you see here is intended to be simple. This section does not attempt to be comprehensive. but it’s designed to have appropriate complexity for the task at hand – if something is simple.‖ which means that the appearance of the UI can be dynamically changed to suit the expectations of users working under different platforms and operating systems. Primarily because of the beans naming conventions. . Other features such as tool tips typically require a single line of code to implement. Scrolling support is effortless – you simply wrap your component in a JScroll Pane as you add it to your form. It’s a big library. all the components are lightweight and Swing is written entirely in Java for portability. Swing could be called ―orthogonality of use. Swing provides a full set of UI components. you don’t have to write much code but as you try to do more your code becomes increasingly complex. For speed. It’s even possible to invent your own look and feel.

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.