Sei sulla pagina 1di 32

Features

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
done.

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

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.

1. INTRODUCTION
1.1Purpose
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.

Objective
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.

Transmission.

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
system.

2. SPECIFICATION REQUIREMENT
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
follows:
Operating System

Window 2000, XP

Presentation layer

Java awt, Swings, java.net;

Presentation

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
follows:
Processor

Pentium IV

RAM

512MB RAM

Hard Disk

10GB

Monitor

Standard Color Monitor

Keyboard

Standard Keyboard

Mouse

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. TECHNOLOGIES USED
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
platform

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

4. BEHAVIORAL DESCRIPTION
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
detail.

10

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
value.
Activity diagrams commonly contain
Activity states and action states
Transitions
Objects

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

11

Run Application Process

Run
Application

Selects data to Encrypt


or Decrypt

<<No>>
validation

<<Yes>>
Sends or Recevie
data

Fig 4.2.1 Activity diagram

12

Encryption Process

Send Data

Encryption

Create

Delete

Data

Fig 4.2.2 Activity diagram for encryption process


Decryption Process

13

Receive
Data

Decryption

Create

Delete

Data

Fig 4.2.3 Activity diagram for decryption process

5. SYSTEM DESIGN
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.

14

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,
structure
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
algorithms.
*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

results
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
corollaries.

15

* 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.
DESIGN AXIOMS
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
components.
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.

16

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.
2.

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

3.

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

4.

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.

17

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
optional.

18

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.

Contents

Sequence diagrams commonly contain the following:


Objects
Links
Messages

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

19

User Sequence

: User

Send Data

KEY

1: Send()
Valid data
Confirm

2: Storefile()
Acknowledgement

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

4: receive()
response()

Fig 5.1.1 User sequence diagram

20

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
Contents
Collaboration diagrams commonly contain the following:

Objects

Links

Messages

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()
KEY
11: response()

Receive
Data

Fig 5.1.2 User Collaboration diagram

21

6. TESTING AND IMPLEMENTATION


Testing

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)

STLC
o Test Planning.

22

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

Testing

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
application.
Usually Test Engineers are involved in the black box testing.

23

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

Module1

Module2

Module3

Units

Units

Units

Integration o/p i/p

Integration o/p

i/p

System Testing: Presentation + business +Databases

UAT: user acceptance testing


Fig 6.1 levels of testing
STLC (SOFTWARE TESTING LIFE CYCLE)
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

24

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

7. OUT-PUT RESULTS
7.1 Screens
Home Page

Fig 7.1 Home page


Write the text

25

Fig 7.2 Write text


Append the text with Image

Fig 7.3 Append text with image


Enter Output File Name

26

Fig 7.4 Enter output file name


Image Encoded Successfully

Fig 7.5 Image encoded successfully

27

Fig 7.6 Encoded image


Now Decode

Fig 7.7 New decode

28

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

29

Here we can observe our text which we can Decode

Fig 7.10 Decoded text

30

8. CONCLUSION
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.

31

9. BIBLIOGRAPHY

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

Java Applets
By David Bishop

32