Sei sulla pagina 1di 32


Secure Data Transmission main feature is the Secret message will send in image, in
such a way others cannot discern the presence or contents of the hidden message.

Secure transmission methods requires a type of encryption, the common e-mail

encryption is called PKL, in order to open the encrypted file an exchange of keys is

Secure transmissions are put in place to prevent attacks such ARP Spoofing and data

This is used maximum prevent the unauthorized transmission of information from

the computer system to an organization on the outside referred to as Information
Leak Detection and prevention or Extrusion Prevention systems and are used in
connection with other methods to ensure secure transmission of data.

The main purpose for preparing this document is to give a general insight into the
analysis and requirements of the existing system or situation and for determining the
operating characteristics of the system.

One method of secure data transmission often used in conjunction with PKI to encrypt
and authenticate large data files, is secure file transfer protocol (FTP). However, it is not
used for transmission between individuals. The technology is readily available and
recommended for organizations transmitting large amounts of data, such as claims
transactions and electronic remittance advices through clearinghouses.

1.2 Scope
This Document plays a vital role in the development life cycle (SDLC) .As it describes
the complete requirement of the system. It is meant for use by the developers and will
be the basic during testing phase. Any changes made to the requirements in the future
will have to go through formal change approval process.
The index terms used in this project are

LSB Technique.


Image Viewer.

Here using LSB technique, the information is hidden in the least significant bits of the
image data. By means of server sockets, the image containing information transmitted to
network. Image viewer used to view the normal and steno images. Quality measures
give the variation between original and stegno image information.
In the receiver side the same software is to be installed. When the image file is opened
the software tells the user whether that contains any hiding information or not. If the
image contains hidden information then client sockets will receive it.

1.2.1 Advantages
Secure data transmission or information hiding system has been developed to provide
confidentiality security service. The important messages we can send in an image file as
a carrier to hide a message and focuses on least significant bit as one of the
steganography technique, it does not reveal the any difference in attributes like size,
content etc from that of the original file. It is difficult find for someone to find out that
this image contains a message.
Second and main advantage is if the hacker wants to extract the embedded
message in image file he must and should the following algorithms: a) Algorithm to
extract the message from the image (Stego algorithm), b) Encryption algorithm, c)
Correct password for algorithm, and d) Message process algorithm for check integrity
of message.
This is useful in a security and sensitive conditions to send message to the
destination. With these increased levels of protection using encryption algorithm, the
proposed system for steganography is stronger from the attacks than any other existing

2.1Software Requirements
A set of programs associated with the operation of a computer is called software.
Software is the part of the computer system which enables the user to interact with
several physical hardware devices.
The minimum software requirement specifications for developing this project are as
Operating System

Window 2000, XP

Presentation layer

Java awt, Swings,;


Documentation Tool

Power Point 2003

Ms Office / GoBe Productive

2.2 Hardware Requirement Specification

The Collection of internal electronic circuits and external physical devices used in
building a computer is called Hardware.
The minimum hardware requirement specification for developing this project is as

Pentium IV



Hard Disk



Standard Color Monitor


Standard Keyboard


Standard Mouse

2.3 Functional Requirements

The system has the following functional Requirements.
Module Description
There is 1 module in this Secured Data Transmission over the Network. They are:
1. User
User Module
The functionalities of the User module are:
1. A user runs application.
2. User selects data to process.
3. Application processes the data Encrypt or Decrypt data.
User sends or receives data securely

3.1 Java AWT
Java programming language class library provides a user interface toolkit called the
Abstract Windowing Toolkit, or the AWT. The AWT is both powerful and flexible.
Because the Java programming language is platform-independent, the AWT must also
be platform-independent. The AWT was designed to provide a common set of tools for
graphical user interface design that work on a variety of platforms. The user interface
elements provided by the AWT are implemented using each platform's native GUI
toolkit, thereby preserving the look and feel of each platform. This is one of the AWT's
strongest points.
User interface component tree.

Fig 3.1.1 User interface component tree

A graphical user interface is built of graphical elements called components. Typical

components include such items as buttons, scrollbars, and text fields. Components allow
the user to interact with the program and provide the user with visual feedback about the
state of the program in the AWT.

Inheritance relationship between the user interface component classes provided by

the AWT.

Fig 3.1.2 GUI interface

The AWT provides five layout managers. They range from very simple to very complex.
The Flow Layout class places components in a container from left to right.

Fig 3.1.3 Flow Layout

3.2 Java.awt.event.
An action or occurrence, often generated by the user, to which the program might
respondfor example, key presses, button clicks, or mouse movements. Events do not
adhere to this traditional approach because they occur outside of program control. When
an event happens, the application is notified, causing the execution of a piece of code.
In Java, events are generated by objects. An event is represented by a
va.util.EventObject subclass that carries event information. There are subclasses for
each kind of event.

Fig 3.2.1 Event Handlers

The notification mechanism involves calling a specific method of any objects that want
to be notified about the event and passing the event object as a parameter. These
methods are called event handlers. For an object to be notified about an event, it must
implement a specific interface and be registered with the source of the event. These
objects are called event listeners. The interface the object must implement depends on
the event it wants to receive. There are interfaces for each kind of event, all of them are
sub interfaces of the java.util.EventListener interface. Each interface defines one or
more methods that are called by the source of the event. Each method receives an event
object as a parameter.

3.3Java Applets
An applet is a program written in the Java programming language that can be included
in an HTML page, much in the same way an image is included in a page. When you use
a Java technology-enabled browser to view a page that contains an applet, the applet's
code is transferred to your system and executed by the browser's Java Virtual Machine
(JVM). For information and examples on how to include an applet in an HTML page,
refer to this description of the <APPLET> tag.
An applet is a special kind of Java program that a browser enabled with Java technology
can download from the internet and run. An applet is typically embedded inside a webpage and runs in the context of the browser. An applet must be a subclass of the
java.applet.Applet class, which provides the standard interface between the applet and
the browser environment.
A Java applet can have any or all of the following advantages

It is simple to make it work on Linux, Windows and Mac OS i.e. to make it cross

The same applet can work on "all" installed versions of Java at the same time, rather
than just the latest plug-in version only. However, if an applet requires a later
version of the JRE the client will be forced to wait during the large download.

It is supported by most web browsers

It will cache in most web browsers, so will be quick to load when returning to a web
page but may get stuck in the cache and have issues when new versions come out.

It can have full access to the machine it is running on if the user agrees

It can improve with use: after a first applet is run, the JVM is already running and
starts quickly, benefiting regular users of Java but the JVM will need to restart each
time the browser starts fresh.

It can run at a speed that is comparable to (but generally slower than) other
compiled languages such as C++, but many times faster than JavaScript

It can move the work from the server to the client, making a web solution more
scalable with the number of users/clients

There are two types of DFDs they are
1. Context Level DFD
2. Top Level DFD
Context Level DFD
In the Context Level the whole system is shown as a single process.

No data stores are shown.

Inputs to the overall system are shown together with data sources (as
External entities).

Outputs from the overall system are shown together with their destinations
(as External entities).

4.1 Data Flow

Fig 4.1 Data Flow diagram

4.1.1 Top Level DFD

Top Level DFD

The Top Level DFD gives the overview of the whole system identifying the major
system processes and data flow. This level focuses on the single process that is drawn in
the context diagram by Zooming in on its contents and illustrates what it does in more


Fig 4.1.1 Top Level DFD

4.2 Process flow

4.2.1 Activity Diagrams

An activity diagram shows the flow from activity to activity. An activity is an ongoing
non- atomic execution within a state machine.

Activities ultimately result in some action, which is made up of executable

atomic computations that result in a change in state of the system or the return of a
Activity diagrams commonly contain
Activity states and action states

Like all other diagrams, activity diagrams may contain notes and constrains.


Run Application Process


Selects data to Encrypt

or Decrypt


Sends or Recevie

Fig 4.2.1 Activity diagram


Encryption Process

Send Data





Fig 4.2.2 Activity diagram for encryption process

Decryption Process







Fig 4.2.3 Activity diagram for decryption process

The main focus of the analysis phase of Software development is on What needs to be
done. The objects discovered during the analysis can serve as the framework or
Design. The classs attributes, methods and association identified during analysis must
be designed for implementation language. New classes must be introduced to store
intermediate results during the program execution.
Emphasis shifts from the application domain o implementation and computer
such as user interfaces or view layer and access layer. During analysis, we look at the
physical entities or business objects in the system, that is, which players and how they
cooperate to do the work of the application. These objects represent tangible elements of
the business.
During the Design phase, we elevate the model into logical entities, some of
which might relate more to the computer domain as people or employees. Here his goal
is to design the classes that we need to implement the system the difference is that, at
this level we focus on the view and access classes, such as how to maintain information
or the best way o interact with a user or present information.


Design process
During the design phase the classes identified in object-oriented analysis Must be
revisited with a shift focus to their implementation. New classes or attribute and
Methods must be an added for implementation purposes and user interfaces. The objectoriented design process consists of the following activities:
1. Apply design axioms to design classes, their attributes, methods, associations,
And protocols Refine and complete the static UML class diagram by adding details to
the UML diagram. This step consists of following activities. *Refine attributes *Design
methods and protocols by utilizing a UML activity diagram to represent the methods
*Refine associations between classes
*Refine class hierarchy and design with inheritance
*Iterate and refine again
2. Design the access layer

Create mirror classes: For every business class identified and created. For
example, if there are three business classes, create three access layer classes.

Identify access layer class relationships.

Simplify classes and their relationships: The main goal here is to eliminate
redundant classes and structures.
*Redundant classes: Do not keep two classes that perform similar translate

activities. Simply select one and eliminate the other.
*Method classes: Revisit the classes that consist of only one or two methods to
see if they can be eliminated or combined with existing classes.

Iterate and refine again.

Define the view layer classes

Design the macro level user interface, identifying view layer objects.

Design the micro level user interface, which includes these activities:
* Design the view layer objects by applying the design axioms and


* Built a prototype of the view layer interface.

Test usability and user satisfaction

Iterate and refine.

3. Iterate refine the whole design process. From the class diagram, you can begin to
extrapolate which classes you will have to built and which existing classes you can
reuse. As you do this, also begin this, also begin thinking about the inheritance
structure. If you have several classes that seem relates but have specific differences.
Design also must be traceable across requirements, analysis, design from the
Requirements model.
Axioms are a fundamental truth that always is observed to be valid and for
which there is no counter example or exception. Such explains that axioms may be
hypothesized form a large number of observations by nothing the common phenomena
shared by all cases; they cannot be proven or derived, but they can be invalidated by
counter examples or exceptions. A theorem is a proposition that may not be self-evident
but can be proven from accepted axioms. If therefore, is equivalent to a law or principle.
A corollary is a proposition that follows from an axioms or another proposition that has
been proven. Again, corollary is shown to be valid or not valid in the same manner as a
theorem. In the two important axioms axiom 1 deals with relationships between system
components and axiom 2 deals with the complexity of design.
The following the two important axioms
Axiom 1: The independence axiom, which maintain the independence of the
Axiom 2: The information axioms that maintain the information content of the design.
Axioms1 states that, during the design process, as we go from requirement and use case
to a system component, each component must satisfy that requirement without affecting
other requirements.
An axiom 2 is concerned with simplicity. Scientific theoreticians often rely on a general
rule known as Occams razor, after William of Occam. He says, The best theory
explains the known facts with a minimum amount of complexity and maximum
simplicity and straightforwardness.


The best designs usually involve the least complex code but not necessarily the fewest
number of classes or methods. Minimizing complexity should be the goal, because that
produces the most easily maintained and enhanced application. In an object-oriented
system, the best way to minimize complexity is to use inheritance and the systems built
in classes and to add as little as possible to what already is there.
From the two design axioms, many corollaries may be derived as a direct consequence
of the axioms. These corollaries may be more useful in marking specific design
decisions, since they can be applied to actual situations.
1. Uncoupled design with less information content: Highly cohesive objects can
improve coupling because only a minimal amount of essential information need
be passed between objects. The degree or strength of coupling between two
components is measured by the amount and complexity of information
transmitted between them.

Single purpose: Each class must have single, clearly defined purposes.


Large number of simple classes: Keeping the classes simple allows reusability.
Large and complex classes are too specialized to be reused.


Strong mapping: There must be a strong association between the physical

system and logical design. During the design phase, we need to design this class,
design its methods, its association with other objects. So a strong mapping links
classes should be identified.

5. Standardization: promote standardization by designing interchangeable and

reusing existing classes or components.
6. Design with inheritance: Common behavior must be moved to super classes. The
super class-sub class structure must make logical sense.
Refining attributes and methods
Attributes identified in object oriented analyzed must be refined in the design phase.
In the analysis phase, the name of the attributes was sufficient. But in the design phase,
detailed information must be added to the model. The three basic types of attributes are:
1. Single valued attributes: This has only value or state.
2. Multiplicity or multivalve attributes: This has a collection of many values at any
point in time.


3. Instance connection attributes: This is required to provide the mapping needed

by an object to fulfill its responsibilities.
UML attribute presentation
Visibility name: type-expression=initial-value
Visibility indicates either public visibility or protected visibility or private visibility. The
public visibility indicates that the attribute can be accessible to all classes. The protected
visibility indicates that the accessibility is given to the subclasses and operations of the
class. The private visibility indicates that the accessibility can be given only to the
operations of the class only.
Type expression is a language dependent specification of the implementation type of an
attribute. Initial value is a language dependent expression for the initial value is


5.1 Sequence and collaboration diagrams

An interaction diagram shows an interaction, consisting of a set of objects and

their relationships, including the messages that may be dispatched among them.

A sequence diagram is an interaction diagram that emphasizes the time ordering

of messages.

Graphically, a sequence diagram is a table that shows objects arranged along xaxis and messages, ordered in increasing time, along the y-axis.


Sequence diagrams commonly contain the following:


Like all other diagrams, sequence diagrams may contain notes and constrains.


User Sequence

: User

Send Data


1: Send()
Valid data

2: Storefile()

3: Encrypt()/Decrypt()
Disconnects Request
Disconnects Req Ack

4: receive()

Fig 5.1.1 User sequence diagram


Receive Data

Collaboration Diagram

Collaboration is a society of classes, interfaces, and other elements that work

together to provide some cooperative behavior thats bigger than the sum of all its parts.

Collaboration is also the specification of how an element, such as a classifier or an

operation, is realized by a set of classifiers and associations playing specific roles used
in a specific way
Collaboration diagrams commonly contain the following:




Like all other diagrams, sequence diagrams may contain notes and constrains.
User Collaboration
2: Valid data

Send Data
1: 1: Send()

3: Confirm

4: 2: Storefile()
6: 3: Encrypt()/Decrypt()
5: Acknowledgement
7: Validate
8: Disconnects Request
9: Disconnects Req Ack

: User

10: 4: receive()
11: response()


Fig 5.1.2 User Collaboration diagram




Testing Methodologies
o Black box Testing:
o White box Testing.
o Gray Box Testing.

Levels of Testing
o Unit Testing.
o Module Testing.
o Integration Testing.
o System Testing.
o User Acceptance Testing.

Types Of Testing
o Smoke Testing.
o Sanitary Testing.
o Regression Testing.
o Re-Testing.
o Static Testing.
o Dynamic Testing.
o Alpha-Testing.
o Beta-Testing.
o Monkey Testing.
o Compatibility Testing.
o Installation Testing.
o Adhoc Testing.
o Ext.

TCD (Test Case Documentation)

o Test Planning.


o Test Development.
o Test Execution.
o Result Analysis.
o Bug-Tracing.
o Reporting.

Microsoft Windows Standards

Manual Testing

Automation Testing (Tools)

o Win Runner.
o Test Director


The process of executing a system with the intent of finding an error.

Testing is defined as the process in which defects are identified, isolated,

subjected for rectification and ensured that product is defect free in order to
produce the quality product and hence customer satisfaction.

Quality is defined as justification of the requirements

Defect is nothing but deviation from the requirements

Defect is nothing but bug.

Testing --- The presence of bugs

Testing can demonstrate the presence of bugs, but not their absence

Debugging and Testing are not the same thing!

Testing is a systematic attempt to break a program or the AUT

Debugging is the art or method of uncovering why the script /program did not
execute properly.

Testing Methodologies

Black box Testing: is the testing process in which tester can perform testing
on an application without having any internal structural knowledge of
Usually Test Engineers are involved in the black box testing.


White box Testing: is the testing process in which tester can perform testing
on an application with having internal structural knowledge.
Usually The Developers are involved in white box testing.

Gray Box Testing: is the process in which the combination of black box and
white box techniques are used.

Levels of Testing







Integration o/p i/p

Integration o/p


System Testing: Presentation + business +Databases

UAT: user acceptance testing

Fig 6.1 levels of testing
Test Planning:

1.Test Plan is defined as a strategic document which

describes the procedure how to perform various testing on the
total application in the most efficient way.
2. Objective of testing,
3. Areas that need to be tested,
4. Areas that should not be tested,
5. Scheduling Resource Planning,
7. Areas to be automated, various testing tools used

Test Development:

1. Test case Development (check list)

2. Test Procedure preparation. (Description of the test cases)

Test Execution:

1. Implementation of test cases. Observing the result.

Result Analysis:

1. Expected value: is nothing but expected behavior


of application.
2. Actual value: is nothing but actual behavior of the

7.1 Screens
Home Page

Fig 7.1 Home page

Write the text


Fig 7.2 Write text

Append the text with Image

Fig 7.3 Append text with image

Enter Output File Name


Fig 7.4 Enter output file name

Image Encoded Successfully

Fig 7.5 Image encoded successfully


Fig 7.6 Encoded image

Now Decode

Fig 7.7 New decode


Open the image which you want to Decode

Fig 7.8 Opening image to decode

The image was Decoded Successfully

Fig 7.9 Image decoded


Here we can observe our text which we can Decode

Fig 7.10 Decoded text


Until recently information hiding techniques received very much less attention from the
research community and from industry than cryptography. Steganography has its place
in security. It is not intended to replace cryptography but supplement it. In this system it
has given an idea to enhance the security of system with a by combining techniques. It
can enhance confidentiality of information and of information and provides a means of
communicating privately. Here message is encrypted and then embed in image file with
help of Steganographic system. The system security further enhance by using password
to embed the message. This system explains a tiny fraction of the art of steganography;
it goes well beyond simply embedding text in an image.



Java AWT
By John Zukowski
System Analysis and Design
By Leonard Fertuck

Java Applets
By David Bishop