86
ABSTRACT Data Security Authentication(DSA) is way to transfer the confindential file to required person in a safe and secure maner without getting into hands of hackers who are major threat in Computer technology.The aim is to provide maximum security to the confidential data. The phenomenal growth in e-commerce applications through the Internet in the past few years has led to a genuine need, as well as a sense of urgency, for both small office and home office and corporate users to protect their data transactions through the Internet. These data transactions may include sensitive document transfer, digital signature authentication, digital watermarking for copyright protection, and digital data storage and linkage. In this project we create a CRC file by adding the checksum value to the confidential data,then it is compressed so that it gets encrypted,the compressed file is embedded to container file along with secret key so that original features of the container file doesn’t changes.the receiver cans de-embbed the data from container file only when he matches the key.then in file is

CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

Embed Size (px)

DESCRIPTION

Data Security Authentication(DSA) is way to transfer the confindential file to required person in a safe and secure maner without getting into hands of hackers who are major threat in Computer technology.The aim is to provide maximum security to the confidential data.The phenomenal growth in e-commerce applications through the Internet in the past few years has led to a genuine need, as well as a sense of urgency, for both small office and home office and corporate users to protect their data transactions through the Internet. These data transactions may include sensitive document transfer, digital signature authentication, digital watermarking for copyright protection, and digital data storage and linkage.In this project we create a CRC file by adding the checksum value to the confidential data,then it is compressed so that it gets encrypted,the compressed file is embedded to container file along with secret key so that original features of the container file doesn’t changes.the receiver cans de-embbed the data from container file only when he matches the key.then in file is decompressed to get the original data.The usage of less number of resource boost up performance and reliability of this system.This system can be implemented in many various fields like banks,security related organizations whose data is to be very confidential.

Citation preview

Page 1: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

ABSTRACT

Data Security Authentication(DSA) is way to transfer the confindential file to required

person in a safe and secure maner without getting into hands of hackers who are major threat in

Computer technology.The aim is to provide maximum security to the confidential data.

The phenomenal growth in e-commerce applications through the Internet in the past few

years has led to a genuine need, as well as a sense of urgency, for both small office and home

office and corporate users to protect their data transactions through the Internet. These data

transactions may include sensitive document transfer, digital signature authentication, digital

watermarking for copyright protection, and digital data storage and linkage.

In this project we create a CRC file by adding the checksum value to the confidential

data,then it is compressed so that it gets encrypted,the compressed file is embedded to container

file along with secret key so that original features of the container file doesn’t changes.the

receiver cans de-embbed the data from container file only when he matches the key.then in file is

decompressed to get the original data.The usage of less number of resource boost up

performance and reliability of this system.

This system can be implemented in many various fields like banks,security related

organizations whose data is to be very confidential.

Page 2: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

ABBREVIATIONS

CRC:Cyclic redundance check

DSA:Data Security Authentication

GUI:Graphical User Interface

Page 3: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

C O N T E N T S

S.No Topic Page no

1. Organization Profile

2. Introduction

2.1 About the Project

2.2 Project Description

3. System Analysis

3.1 Existing System

3.2 Proposed System

3.3 Requirement Analysis

3.4 Requirement Specification

3.5 Feasibility Study

4. System Design

4.1 Project Modules

4.2 Data Flow Diagrams

4.3 E-R diagrams

4.4 UML Diagrams

4.5 Hardware and Software Requirements

5. Output Screens

6. Source Code

7. Software Testing

8. Technical notes

9. Conclusion

References

Page 4: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

LIST OF FIGURES

FIGURES PAGE NO

1.1 DFD Diagram Level-11.2 DFD Diagram Level-21.3 E-R Diagram for System

LIST OF UML DIAGRAMS

FIGURES PAGE NO

1.1 Use Case Diagram1.2 Sequence Diagram1.3 Activity Diagram1.4 Class Diagram

Page 5: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

1. ORGANIZATION PROFILE

‘Adroit Infocom’ is a professional Web design and software development company. We

supply services of web design & development, web application, Flash animation, multimedia,

identity and graphic design, Website translation, internet marketing and software services.

We help clients enhance their competitiveness and produce measurable results based on

features delivered, value delivered and time saved. The combination of thorough process,

comprehensive experience and expansive creative vision enables us to create solutions that are

innovative, usable and reliable for website designing.we have proven our skill, professionalism,

and creativity in all of our work.

Adroit Infocom has proven expertise in encompassing low cost, but high quality and

reliable web development services in areas like e-commerce, e-learning, finance, manufacturing,

content management and many others.

The strength of Adroit Infocom lies in its management and outstanding model of project

execution that makes it possible for the timely delivery of the most complicated and advanced

software and IT solutions to the clients. Supported by a talented pool of experienced software

engineers from the top reputed Technical and Research Institutes in the country, Adroit Infocom

offers you dedicated service at all stages of the project-right from the initial specification to the

final delivery and maintenance, with a round the clock support.

Adroit Infocom firmly believes in directing the clients to increase their business output

through the application of the latest web tools and a careful handling of the changing dynamics

of website development. Adroit Infocom delivers quality service that serves as an eye opener for

the customers to conduct business more creatively and effectively. We balance project duration

and product development efforts to suit your business needs.

Page 6: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

2. INTRODUCTION

2.1 ABOUT THE PROJECT:

DSA is a graphical interface in which the user handles the transaction of compression by

selecting a source file that is to be embedded. The compressed file that is obtained is of reduced

size and is embedded into a container (image source etc.,) without losing the features of that

container. The container can be transferred to the respective destination where the reverse of the

process is performed like de-embedding the content from the container and decompressing it to

generate the actual code (decompressed data).

As the application is container independent various type of files are used for embedding the data

into them.

2.2 PROJECT DESCRIPTION:

The application that is proposed contains the following features :

Generates a CRC file by placing checksum value from a user specified file.

Compresses the specified file into a binary mode object.

Embeds the compressed content into the specified container without disturbing its

features.

De-Embeds the container to separate the element from the container making the

compressed text independent.

Decompress the obtained content to retrieve its normal format.

Checks the retrived file whether it is corrupted or not.

3. SYSTEM ANALYSIS

Page 7: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

System analysis first stage according to System Development life cycle model. This

system analysis is a process that starts with the analyst.

Analysis is a detailed study of the various operations by a system and their relationships

within and outside the system. One aspect of analysis is defining the boundaries of the system

and determining whether or not a candidate should consider other related systems. During

analysis, data is collected from the available files, decision points, and transactions handled by

the present system.

Logical system models and tools are used in analysis.Training, experience, and common

sense is required for the collection of the information needed to do analysis.

3.1 EXISTING SYSTEM

In the current existing model there are many algorithms that help in monitoring the data

transfer in an encrypted model but are container dependent.  Laptop computers have become

mobile stores of massive amounts of information. Add to that the proliferation of removable hard

drives, and it becomes crystal clear how much sensitive data is on the move in the world, most of

it woefully underprotected. There are several levels of encryption available, and the major

difference them is the complexity of the encryption. Simply put, the more complicated the

encryption scheme, the more secure your data will be. However, before selecting the most

complex, most secure encryption scheme available, you should take into account another factor

the processing power needed to encrypt or decrypt the data. More complexity means more

security, but it also equals more demands on hardware.

Until recently, an inexpensive, easy-to-use, reliable drive-encryption utility was hard to come

by. Either the tools available were too complex or expensive to be used by a nontechnical

individual, or they impacted performance so severely that the PC slowed to a crawl.

This includes many drawbacks such as:

Limited access of security to the user data.

Container dependency locks the user from taking various containers.

It can easily capture the compressed data because of limited container.

3.2 PROPOSED SYSTEM

Page 8: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

Proposed system is the upgraded form of existing system with the advanced technologies

making a container independent which allows the user to generate the CRC file from the

specified file by placing checksum value,it then compress the file size which convert the file to

binary mode object.we choose the required container for embedding the compressed data along

with user defined key.we can retrieve the original file from the container file and check whether

the file is corrupted or not.

Can work with any container not only images.

Size of data not a constraint to the size of the container.

Works even with animated, audio, video or any type of container.

The data hidden can also be compressed to ensure that even when present inside the

container it is still unreadable.

Authentication of data to verify data integrity

3.3 REQUIREMENTS ANALYSIS

The requirement phase basically consists of three activities:

1. Requirement Analysis

2. Requirement Specification

3. Requirement Validation

3.3.1 REQUIREMENT ANALYSIS:

Requirement analysis is a software engineering task that bridges the gap between system

level software allocation and software design. It provides the system engineer to specify software

function and performance indicate software’s interface with the other system elements and

establish constraints that software must meet.

The basic aim of this stage is to obtain a clear picture of the needs and requirements of

the end-user and also the organization. Analysis involves interaction between the clients and the

analsysis.usually analysts research a problem from any questions asked and reading existing

documents. The analysts research a problem from any questions asked and reading existing

documents. The analysts have to uncover the real needs of the user even if they don’t know them

Page 9: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

clearly. During analysis it is essential that a complete and consistent set of specifications emerge

for the system. Here it is essential to resolve the contradictions that could emerge from

information got from various parties.

This is essential to ensure that the final specifications are consistent.

It may be divided into 5 areas of effort.

1. Problem recognition

2. Evaluation and synthesis

3. Modeling

4. Specification review

Each requirement analysis method has a unique point of view. However all analysis methods are

related by a set of operational principles.

The operational principles are,

The information domain of the problem must be understood.

The functions that the software is to perform must be defined.

The behavior of the software as a consequence of external events must be defined.

The models that depict information function and behavior must be portioned in a

hierarchical or layered fashion.

The analysis process must move from essential information to implementation detail.

3.4 REQIREMENT SPECIFICATION:

3.4.1 SPECIFICATION PRINCIPLES:

Software requirements specification plays an important role in creating quality software

solutions. Specification is basically a representation process.requirments are represented in a

manner that ultimately leads to a successful software implementation.

Requirements may be specified in a variety of ways. However there are some guidelines worth

following:-

representation format and content should be relevant to the problem

Information contained within specification should be nested

Diagrams and other notational forms should be restricted in number and consistent in

use.

Page 10: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

Representations should be revisable.

3.4.2 SOFTWARE REQUIREMENTS SPECIFICATIONS:

The software requirements specification is produced at the culmination of the analysis

task. The function and performance allocated to the software as a part of system engineering are

refined by establishing a complete information description, a detailed functional and behavioral

description, and indication of performance requirements and design constraints, appropriate

validation criteria and other data pertinent to requirements.

An outline of the software requirements specification:

A simplified outline can be given for the framework of the specifications. This is

according to IEEE standards.

3.5 FEASIBILITY STUDY:

All projects are feasible, given unlimited resources and infinite time. But the

development of software is plagued by the scarcity of resources and difficult delivery rates. It is

both necessary and prudent to evaluate the feasibility of a project at the earliest possible time.

Three key considerations are involved in the feasibility analysis.

3.5.1 ECONOMIC FEASIBILITY:

This procedure is it determines the benefits and savings that are expected from a

candidate system and compare them with costs. If benefits outweigh costs, then the decision is

made to design and implement the system. Otherwise, further justification or alterations in

proposed system will have to be made if it is to have a chance of being approved. This is an

ongoing effort that improves in accuracy at each phase of the system life cycle

.

3.5.2 TECHNICAL FEASIBILITY:

Page 11: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

Technical feasibility centers in the existing computer system (hardware, software, etc.,)

and to what extent it can support the proposed addition. If the budget is serious constraint then

the project is judged not feasible.

3.5.3 OPERATIONAL FEASIBILITY:

People are inherently resistant to change, and computers have been known to facilitate

change. It is understanndle that the introduction of a candidate system requires special effort to

educate, sell, a and train the staff on new ways of conducting business.

4.SYSTEM DESIGN

Page 12: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

The most creative and challenging phase of the life cycle is system design. The term

design describes a final system and the process by which it is developed. It refers to the technical

specifications that will be applied in implementations of the candidate system. The design may

be defined as “The process of applying various techniques and principles for the purpose of

defining a device, a process or a system with sufficient details to permit its physical realization”.

The designers goal is how the output is to be produced and in what format. Samples of

the output and input are also presented. Second input data and database files have to be designed

to meet the requirements of the proposed output. The processing phases are handled through the

program construction and testing.Finally, details are related to justification of the system and an

estimate of the impact of the candidate system on the user and the organization are documented

and evaluated by management as a step toward implementation.

The importance so software design can be stated in a single word”quality”.design

provides us with representations of software that can be assessed for quality. Design is the only

way where we can accurately translate a customer’s requirements into a complete software

product or system

4.1 PROJECT MODULES

4.1.1 Login & Security

The system restricts usage of the package only to authorized user. The module provides a

login security restriction and check across the database for user validation. The user can change

the password whenever required.

4.1.2 CRC Generation & Verification

This module deals with providing data authentication. At the senders end CRC32 is used

to create checksum. The created checksum is then appended to the source text file and sent as

input to compression. At the receivers end after decompression the crc is compute once again

and compared with the checksum sent. If there is a match the file has not been damaged or

corrupted in the process of transmission.

4.1.3 Compression & decompression

Page 13: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

The module provides additional security by converting the input text file into unreadable

binary output. The junk data looks more like encrypted data. This is performed by using the

java’s util package. The class GZip is used to compress and decompress the data. The junk or

compressed data is passed as input to steganography.

4.1.4 Data Embed & Retrieve

This module deals with identifying the data and a container to embed. The embedded

container can then be transmitted. The located data is the compressed data from the compression

module. The junk data is appended to the end of the container neither in such a way that the data

does not corrupt the container nor vice versa. The size of the data to that of the container is also

not a constraint. While retrieving the data, the junk data is converted back to ascii text using

decompression after de-embedding the data from the container.

4.2 DATA FLOW DIAGRAMS

A data flow diagram is graphical tool used to describe and analyze movement of data

through a system. These are the central tool and the basis from which the other components are

developed. The transformation of data from input to output, through processed, may be

described logically and independently of physical components associated with the system. These

are known as the logical data flow diagrams. Each component in a DFD is labeled with a

descriptive name. Process is further identified with a number that will be used for identification

purpose single process bit, which plays vital role in studying the current system.

A DFD is also known as a “bubble Chart” has the purpose of clarifying system

requirements and identifying major transformations that will become programs in system design.

So it is the starting point of the design to the lowest level of detail. A DFD consists of a series of

bubbles joined by data flows in the system.

4.2.1 DFD SYMBOLS

In the DFD, there are four symbols

1. A square defines a source(originator) or destination of system data

2. An arrow identifies data flow. It is the pipeline through which the information flows

Page 14: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

3. A circle or a bubble represents a process that transforms incoming data flow into

outgoing data flows.

4. An open rectangle is a data store, data at rest or a temporary repository of data

Process that transforms data flow.

Source or Destination of data

Data flow

Data Store

Page 15: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

DFD LEVEL-1

Request for Login

Authenticated

DFD LEVEL-II

Open channel

Communication

ADMINSTRATOR

Data Key

Container file

Embedding

De-Compression

Compression

De-Embedding

CRC-Generation

DSA

Confidential file

Data Key

CRC-Verification

Confidential file

Page 16: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

ER Diagram

Login

CRC-Verification

Username

Embedding

De-Embedding

Compression

CRC-Generation

Password

De-Compression

ADMINSTRATOR DSA

Page 17: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

4.4 Uml diagram

4.4.1 Usecase Diagram

USER

Login

CRC-Generation

Compression

Embedding

De-Embedding

De-Compressing

CRC-Verification

System

Page 18: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

4.4.2 Sequence Diagram

USERUSER DSADSA SYSTEMSYSTEM

1: User Login Request

2: Prompt for Username & Password

3: Enter Username & Password

4: Verify

5: Return Status(Success/Failure)

6: Load Modules(Success)

7: Report Error Message(Failure)

Page 19: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

4.4.3 Class Diagram

CRC-Verification

crcfile

crc32()

Login

Unamepwd

verify()

CRC-Generation

inputfile

crc32()

Compression

crc file

gzip()

Embedding

compressed filecontainer filedatakey

embed()

De-Embedding

embedded filedatakey

deembed()

De-Compression

compressed file

gunzip()

Page 20: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

4.5 HARDWARE AND SOFTWARE REQUIRMENTS

4.5.1 HARDWARE REQUIREMENTS

Processor : Intel P-IV based system

Processor speed : 250MHz to 833MHz

RAM : 512 Mb

Hard Disk : 2GB to 30GB

4.5.2 SOFTWARE REQUIREMENTS

Language : Java (Swings)

Operating System :Windows2000

5.OUTPUT SCREENS

Page 21: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION
Page 22: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION
Page 23: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION
Page 24: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION
Page 25: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION
Page 26: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION
Page 27: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION
Page 28: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION
Page 29: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION
Page 30: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION
Page 31: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

6.SOURCE CODE

6.1 Source code for Login:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

class Login extends JFrame implements ActionListener

{

JLabel l1,l2;

JTextField t1;

JPasswordField t2;

JButton jb1,jb2;

public Login(String str)

{

super(str);

Container con=getContentPane();

con.setLayout(null);

Font f=new Font("Times New Roman",Font.BOLD,16);

l1=new JLabel("UserName : ");

l2=new JLabel("PassWord : ");

l1.setFont(f);

l2.setFont(f);

t1=new JTextField();

t2=new JPasswordField();

Page 32: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

jb1=new JButton("LOGIN");

jb2=new JButton("EXIT");

l1.setBounds(50,30,120,20);

l2.setBounds(50,70,120,20);

t1.setBounds(135,32,140,20);

t2.setBounds(135,72,140,20);

jb1.setBounds(70,110,80,20);

jb2.setBounds(160,110,80,20);

con.add(l1);

con.add(l2);

con.add(t1);

con.add(t2);

con.add(jb1);

con.add(jb2);

jb1.addActionListener(this);

jb2.addActionListener(this);

}

public void actionPerformed(ActionEvent ae)

{

String str=ae.getActionCommand();

if(str.equals("EXIT"))

{

JOptionPane.showMessageDialog(this,"Thank U for Using the Application...");

System.exit(0);

}

else

{

Page 33: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

String x=t1.getText().trim();

String y=t2.getText().trim();

if(x.length()!=0)

{

if(y.length()!=0)

{

try

{

FileInputStream f1=new FileInputStream("LoginInfo.txt");

int x1=f1.available();

String st="";

for(int i=0;i<x1;i++)

st=st+(char)f1.read();

f1.close();

int c=0;

StringTokenizer st1=new StringTokenizer(st,";");

while(st1.hasMoreTokens())

{

String p=st1.nextToken();

String q=st1.nextToken();

if(p.equals(x) && q.equals(y))

{

c++;

break;

}

}

if(c==0)

Page 34: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

{

JOptionPane.showMessageDialog(this,"InValid UserName/PassWord are Entered...");

}

else

{

MainForm mf=new MainForm("DSA");

int width=Toolkit.getDefaultToolkit().getScreenSize().width;

int height=Toolkit.getDefaultToolkit().getScreenSize().height;

mf.setSize(width,height-30);

mf.setLocation(0,0);

mf.setResizable(false);

mf.setVisible(true);

setVisible(false);

}

}

catch(Exception e)

{

JOptionPane.showMessageDialog(this,"Error in Validating the UserName/PassWord"+e);

}

}

else

{

JOptionPane.showMessageDialog(this,"PassWord is Not Specified...");

}

}

else

{

Page 35: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

JOptionPane.showMessageDialog(this,"UserName is Not Specified...");

}

}

}

public static void main(String arg[])

{

Login lf=new Login("APPLICATION");

lf.setSize(330,180);

lf.setLocation(300,200);

lf.setResizable(false);

lf.setVisible(true);

}

}

6.2Source code for Mainform:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

class MainForm extends JFrame implements ActionListener

{

JButton jb1,jb2,jb3,jb4,jb5,jb6,jb7;

public MainForm(String str)

{

super(str);

Container con=getContentPane();

con.setLayout(null);

Page 36: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

Font f=new Font("arial",Font.BOLD,20);

jb1=new JButton("CRC GENERATION");

jb2=new JButton("COMPRESSION");

jb3=new JButton("EMBED");

jb4=new JButton("DE-EMBED");

jb5=new JButton("DE-COMPRESS");

jb6=new JButton("CRC VERIFICATION");

jb7=new JButton("EXIT");

jb1.setFont(f); jb2.setFont(f); jb3.setFont(f);

jb4.setFont(f); jb5.setFont(f); jb6.setFont(f);

jb7.setFont(f);

jb1.setBounds(250,100,280,40);

jb2.setBounds(250,200,280,40);

jb3.setBounds(250,300,280,40);

jb4.setBounds(800,100,280,40);

jb5.setBounds(800,200,280,40);

jb6.setBounds(800,300,280,40);

jb7.setBounds(550,450,280,40);

con.add(jb1); con.add(jb2); con.add(jb3); con.add(jb4);

con.add(jb5); con.add(jb6); con.add(jb7);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

jb4.addActionListener(this);

jb5.addActionListener(this);

Page 37: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

jb6.addActionListener(this);

jb7.addActionListener(this);

setResizable(false);

}

public void actionPerformed(ActionEvent ae)

{

String str=ae.getActionCommand();

if(str.equals("EXIT"))

{

JOptionPane.showMessageDialog(this,"Thank U for Using the Application.....!");

System.exit(0);

}

else if(str.equals("CRC GENERATION"))

{

CRCGEN c=new CRCGEN("CRC GENERATION");

c.setSize(600,300);

c.setLocation(300,200);

c.setVisible(true);

}

else if(str.equals("COMPRESSION"))

{

COMPRESS c=new COMPRESS("COMPRESS FILE");

c.setSize(600,300);

c.setLocation(300,200);

c.setVisible(true);

Page 38: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

}

else if(str.equals("EMBED"))

{

EMBED eb=new EMBED("EMBED FILE");

eb.setSize(600,400);

eb.setLocation(200,100);

eb.setVisible(true);

}

else if(str.equals("DE-EMBED"))

{

DEEMBED eb=new DEEMBED("DE-EMBED FILE");

eb.setSize(600,250);

eb.setLocation(200,200);

eb.setVisible(true);

}

else if(str.equals("DE-COMPRESS"))

{

DECOMPRESS dc=new DECOMPRESS("DE-COMPRESS FILE");

dc.setSize(600,300);

dc.setLocation(300,200);

dc.setVisible(true);

}

else if(str.equals("CRC VERIFICATION"))

{

CRCVER cv=new CRCVER("CRC VERIFICATION");

Page 39: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

cv.setSize(560,180);

cv.setLocation(230,200);

cv.setVisible(true);

}

}

}

6.3 Source code for CRC-Generation:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

import java.util.zip.*;

class CRCGEN extends JFrame implements ActionListener

{

JLabel l1,l2;

JTextField t1,t2;

JButton jb1,jb2,jb3;

public CRCGEN(String str)

{

super(str);

Container con=getContentPane();

con.setLayout(null);

Font f=new Font("Times New Roman",Font.BOLD,16);

l1=new JLabel("File Name : ");

Page 40: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

l2=new JLabel("CRC File : ");

l1.setFont(f);

l2.setFont(f);

t1=new JTextField();

t1.setEnabled(false);

t1.setFont(f);

t2=new JTextField();

t2.setEnabled(false);

t2.setFont(f);

jb1=new JButton("Browse");

jb2=new JButton("GENERATE CRC");jb2.setEnabled(false);

jb3=new JButton("CLOSE");

l1.setBounds(30,50,90,25);

t1.setBounds(120,50,350,25);

jb1.setBounds(475,50,100,25);

l2.setBounds(30,90,90,25);

t2.setBounds(120,90,350,25);

jb2.setBounds(170,140,130,25);

jb3.setBounds(305,140,100,25);

con.add(l1); con.add(t1); con.add(jb1);

con.add(jb2); con.add(jb3); con.add(l2); con.add(t2);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

}

Page 41: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

public void actionPerformed(ActionEvent ae)

{

String str=ae.getActionCommand();

if(str.equals("CLOSE"))

setVisible(false);

else if(str.equals("Browse"))

{

FileDialog fd=new FileDialog(this,"Load File",FileDialog.LOAD);

fd.setFile("*.txt");

fd.show();

String st=fd.getDirectory()+fd.getFile();

if(!st.equals("nullnull"))

{

t1.setText(st);jb2.setEnabled(true);

t2.setText("");

}

else

{

t1.setText("");

t2.setText("");

}

}

else

{

if(t1.getText().trim().length()!=0)

Page 42: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

{

try

{

String src=t1.getText();

String dest=src.substring(0,src.lastIndexOf('.')+1)+"crc";

StringBuffer st1=new StringBuffer(src);

st1.setLength(50);

FileInputStream f1=new FileInputStream(src);

DataOutputStream f2=new DataOutputStream(new FileOutputStream(dest));

f2.write(st1.toString().getBytes());

CRC32 crc=new CRC32();

int x=f1.available();

for(int i=0;i<x;i++)

{

int b=f1.read();

f2.write(b);

crc.update(b);

}

long sum=crc.getValue();

f2.writeLong(sum);

f1.close();

f2.close();

t2.setText(dest);

JOptionPane.showMessageDialog(this,"CRC File is Generated Succesfully...");

}

Page 43: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

catch(Exception e)

{

JOptionPane.showMessageDialog(this,"Error in Generating the CRC File...");

}

}

else

{

JOptionPane.showMessageDialog(this,"No File is Specified to Generate CRC");

}

}

}

}

6.4 Source code for Compressing:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

import java.util.zip.*;

class COMPRESS extends JFrame implements ActionListener

{

JLabel l1,l2;

JTextField t1,t2;

JButton jb1,jb2,jb3;

public COMPRESS(String str)

Page 44: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

{

super(str);

Container con=getContentPane();

con.setLayout(null);

Font f=new Font("Times New Roman",Font.BOLD,16);

l1=new JLabel("File Name : ");

l2=new JLabel("Compression File : ");

l1.setFont(f);

l2.setFont(f);

t1=new JTextField();

t1.setEnabled(false);

t1.setFont(f);

t2=new JTextField();

t2.setEnabled(false);

t2.setFont(f);

jb1=new JButton("Browse");

jb2=new JButton("COMPRESS");

jb3=new JButton("CLOSE");

l1.setBounds(30,50,90,25);

t1.setBounds(120,50,350,25);

jb1.setBounds(475,50,100,25);

l2.setBounds(30,90,140,25);

t2.setBounds(170,90,350,25);

jb2.setBounds(170,140,130,25);

jb3.setBounds(305,140,100,25);

Page 45: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

con.add(l1); con.add(t1); con.add(jb1);

con.add(jb2); con.add(jb3); con.add(l2); con.add(t2);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

}

public void actionPerformed(ActionEvent ae)

{

String str=ae.getActionCommand();

if(str.equals("CLOSE"))

setVisible(false);

else if(str.equals("Browse"))

{

FileDialog fd=new FileDialog(this,"Load File",FileDialog.LOAD);

fd.setFile("*.crc");

fd.show();

String st=fd.getDirectory()+fd.getFile();

if(!st.equals("nullnull"))

{

t1.setText(st);

t2.setText("");

}

else

{

t1.setText("");

Page 46: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

t2.setText("");

}

}

else

{

if(t1.getText().trim().length()!=0)

{

try

{

String src=t1.getText();

String dest=src.substring(0,src.lastIndexOf('.')+1)+"cmp";

BufferedInputStream f1=new BufferedInputStream(new FileInputStream(src));

BufferedOutputStream f2=new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(dest)));

int ch;

long x=0;

while((ch=f1.read())!=-1)

{

f2.write(ch);

x++;

}

f1.close();

f2.close();

t2.setText(dest);

Page 47: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

File f=new File(dest);

long y=f.length();

long z=((x-y)*100)/x;

String st="Actual Size : "+x+" Bytes\n\n";

st=st+"Compressed File Size : "+y+" Bytes\n\n";

st=st+"Compression Ration : "+z+" %";

JOptionPane.showMessageDialog(this,st);

}

catch(Exception e)

{

JOptionPane.showMessageDialog(this,"Error in compressing the File...");

}

}

else

{

JOptionPane.showMessageDialog(this,"No File is Specified to Compress");

}

}

}

}

6.5 Source Code For Embedding:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

Page 48: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

class EMBED extends JFrame implements ActionListener

{

JLabel l1,l2,l3;

JTextField t1,t2,t3;

JButton jb1,jb2,jb3,jb4;

public EMBED(String str)

{

super(str);

Container con=getContentPane();

con.setLayout(null);

Font f=new Font("Times New Roman",Font.BOLD,20);

l1=new JLabel("Container File :");

l2=new JLabel("Compressed File : ");

l3=new JLabel("Data Key : ");

l1.setFont(f); l2.setFont(f); l3.setFont(f);

t1=new JTextField();

t2=new JTextField();

t3=new JTextField();

t1.setEnabled(false);

t2.setEnabled(false);

jb1=new JButton("Browse Container");

jb2=new JButton("Browse Compressed File");

jb3=new JButton("EMBED FILE");

jb4=new JButton("CLOSE");

l1.setBounds(30,50,150,20);

Page 49: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

l2.setBounds(30,110,180,20);

l3.setBounds(30,170,120,20);

t1.setBounds(30,75,350,25);

t2.setBounds(30,135,350,25);

t3.setBounds(30,195,120,25);

jb1.setBounds(385,75,150,25);

jb2.setBounds(385,135,200,25);

jb3.setBounds(130,270,170,25);

jb4.setBounds(310,270,130,25);

jb3.setFont(f);

jb4.setFont(f);

con.add(l1); con.add(l2); con.add(l3); con.add(t1); con.add(t2);

con.add(t3); con.add(jb1); con.add(jb2); con.add(jb3); con.add(jb4);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

jb4.addActionListener(this);

}

public void actionPerformed(ActionEvent ae)

{

String str=ae.getActionCommand();

if(str.equals("CLOSE"))

{

setVisible(false);

}

Page 50: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

else if(str.equals("Browse Container"))

{

FileDialog fd=new FileDialog(this,"Open Container",FileDialog.LOAD);

fd.setFile("*.jpg");

fd.show();

String st=fd.getDirectory()+fd.getFile();

if(!st.equals("nullnull"))

{

t1.setText(st);

}

else

{

t1.setText("");

}

}

else if(str.equals("Browse Compressed File"))

{

FileDialog fd=new FileDialog(this,"Open Container",FileDialog.LOAD);

fd.setFile("*.cmp");

fd.show();

String st=fd.getDirectory()+fd.getFile();

if(!st.equals("nullnull"))

{

t2.setText(st);

}

Page 51: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

else

{

t2.setText("");

}

}

else if(str.equals("EMBED FILE"))

{

try

{

String c1=t1.getText();

String c2=t2.getText();

String c3=t3.getText().trim();

if(c1.length()!=0)

{

if(c2.length()!=0)

{

if(c3.length()!=0)

{

final int size=8;

int np, fv=0;

byte[] ch=new byte[size];

FileInputStream f1=new FileInputStream(c1);

FileOutputStream f2=new FileOutputStream("temp");

while((np=f1.read(ch,0,size))>0)

{

Page 52: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

f2.write(ch,0,np);

fv=np;

}

int i;

for(i=1;i<=8-fv;i++)

{

f2.write(65);

}

f1.close();

f2.write(c3.getBytes(),0,8);

File f4=new File(c2);

StringBuffer sb=new StringBuffer(f4.getName());

sb.setLength(20);

f2.write(sb.toString().getBytes(),0,20);

f1=new FileInputStream(c2);

int c;

while((c=f1.read())!=-1)

{

f2.write(c);

}

f1.close();

f2.close();

File f=new File("temp");

File ff=new File(c1);

ff.delete();

Page 53: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

f.renameTo(ff);

JOptionPane.showMessageDialog(this,"File is Embedded...");

}

else

{

JOptionPane.showMessageDialog(this,"Data Key is Not Specified...");

}

}

else

{

JOptionPane.showMessageDialog(this,"Compressed File is Not Specifeid...");

}

}

else

{

JOptionPane.showMessageDialog(this,"Container is Not Specified...");

}

}

catch(Exception e)

{

JOptionPane.showMessageDialog(this,"Error in Embedding the File..."+e);

}

}

}

}

Page 54: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

6.6 Source Code For De-Embedding:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

class DEEMBED extends JFrame implements ActionListener

{

JLabel l1,l2;

JTextField t1,t2;

JButton jb1,jb2,jb3;

public DEEMBED(String str)

{

super(str);

Container con=getContentPane();

con.setLayout(null);

Font f=new Font("Times New Roman",Font.BOLD,20);

l1=new JLabel("Container File : ");

l2=new JLabel("Data Key : ");

t1=new JTextField();

t1.setEnabled(false);

t2=new JTextField();

jb1=new JButton("Browse");

jb2=new JButton("DE-EMBED");

jb3=new JButton("CLOSE");

l1.setFont(f); l2.setFont(f);

Page 55: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

jb1.setFont(f); jb2.setFont(f); jb3.setFont(f);

l1.setBounds(30,30,150,25);

l2.setBounds(70,70,120,25);

t1.setBounds(170,33,300,25);

t2.setBounds(170,73,100,25);

jb1.setBounds(480,33,100,25);

jb2.setBounds(120,130,180,25);

jb3.setBounds(310,130,120,25);

con.add(l1); con.add(l2); con.add(t1); con.add(t2);

con.add(jb1); con.add(jb2); con.add(jb3);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

}

public void actionPerformed(ActionEvent ae)

{

String str=ae.getActionCommand();

if(str.equals("CLOSE"))

setVisible(false);

else if(str.equals("Browse"))

{

FileDialog fd=new FileDialog(this,"Open File",FileDialog.LOAD);

fd.setFile("*.jpg");

fd.show();

String st=fd.getDirectory()+fd.getFile();

Page 56: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

if(!st.equals("nullnull"))

{

t1.setText(st);

t2.setText("");

}

else

{

t1.setText("");

t2.setText("");

}

}

else

{

try

{

String fname=t1.getText().trim();

String dkey=t2.getText().trim();

if(fname.length()!=0 && dkey.length()!=0)

{

FileInputStream f1=new FileInputStream(fname);

String st1="";

int c=0;

byte[] ch=new byte[8];

while((f1.read(ch,0,8))>0)

{

Page 57: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

st1=new String(ch);

if(st1.equals(dkey))

{

c++;

break;

}

}

if(c==0)

{

JOptionPane.showMessageDialog(this,"Data Key Does Not Match...");

}

else

{

ch=new byte[50];

f1.read(ch,0,20);

st1=new String(ch);

FileOutputStream f2=new FileOutputStream(st1);

int x=f1.available();

for(int i=0;i<x;i++)

f2.write(f1.read());

f2.close();

JOptionPane.showMessageDialog(this,"File is De-Embeded Successfully...");

}

f1.close();

}

Page 58: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

else

{

JOptionPane.showMessageDialog(this,"Container/DataKey is Not Specified...");

}

}

catch(Exception e)

{

JOptionPane.showMessageDialog(this,"Error in De-Embedding the File...");

}

}

}

}

6.7 Source code for De-Compressing:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

import java.util.zip.*;

class DECOMPRESS extends JFrame implements ActionListener

{

JLabel l1,l2;

JTextField t1,t2;

JButton jb1,jb2,jb3;

Page 59: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

public DECOMPRESS(String str)

{

super(str);

Container con=getContentPane();

con.setLayout(null);

Font f=new Font("Times New Roman",Font.BOLD,16);

l1=new JLabel("File Name : ");

l2=new JLabel("De-Compressed File : ");

l1.setFont(f);

l2.setFont(f);

t1=new JTextField();

t1.setEnabled(false);

t1.setFont(f);

t2=new JTextField();

t2.setEnabled(false);

t2.setFont(f);

jb1=new JButton("Browse");

jb2=new JButton("DECOMPRESS");

jb3=new JButton("CLOSE");

l1.setBounds(30,50,90,25);

t1.setBounds(120,50,350,25);

jb1.setBounds(475,50,100,25);

l2.setBounds(30,90,160,25);

t2.setBounds(190,90,350,25);

Page 60: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

jb2.setBounds(170,140,130,25);

jb3.setBounds(305,140,100,25);

con.add(l1); con.add(t1); con.add(jb1);

con.add(jb2); con.add(jb3); con.add(l2); con.add(t2);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

}

public void actionPerformed(ActionEvent ae)

{

String str=ae.getActionCommand();

if(str.equals("CLOSE"))

setVisible(false);

else if(str.equals("Browse"))

{

FileDialog fd=new FileDialog(this,"Load File",FileDialog.LOAD);

fd.setFile("*.cmp");

fd.show();

String st=fd.getDirectory()+fd.getFile();

if(!st.equals("nullnull"))

{

t1.setText(st);

t2.setText("");

}

else

Page 61: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

{

t1.setText("");

t2.setText("");

}

}

else

{

if(t1.getText().trim().length()!=0)

{

try

{

String src=t1.getText();

String dest=src.substring(0,src.lastIndexOf('.')+1)+"crc";

BufferedInputStream f1=new BufferedInputStream(new GZIPInputStream(new FileInputStream(src)));

BufferedOutputStream f2=new BufferedOutputStream(new FileOutputStream(dest));

int ch=0,x=0;

while((ch=f1.read())!=-1)

{

f2.write(ch);

x++;

}

f1.close();

f2.close();

t2.setText(dest);

Page 62: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

File f=new File(dest);

long y=f.length();

JOptionPane.showMessageDialog(this,"File DeCompression is Successfull...with size : "+y+" Bytes");

}

catch(Exception e)

{

JOptionPane.showMessageDialog(this,"Error in decompressing the File..."+e);

}

}

else

{

JOptionPane.showMessageDialog(this,"No File is Specified to De-Compress");

}

}

}

}

6.8 Source Code For CRC-Verificatiom:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.zip.*;

class CRCVER extends JFrame implements ActionListener

{

Page 63: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

JLabel l1;

JTextField t1;

JButton jb1,jb2,jb3;

public CRCVER(String str)

{

super(str);

Container con=getContentPane();

con.setLayout(null);

l1=new JLabel("CRC File Name : ");

t1=new JTextField();

t1.setEnabled(false);

jb1=new JButton("Browse");

jb2=new JButton("CRC VERIFY");

jb3=new JButton("CLOSE");

l1.setBounds(30,30,100,20);

t1.setBounds(125,30,300,20);

jb1.setBounds(430,30,100,20);

jb2.setBounds(140,80,130,20);

jb3.setBounds(300,80,100,20);

con.add(l1); con.add(t1); con.add(jb1); con.add(jb2); con.add(jb3);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

}

public void actionPerformed(ActionEvent ae)

Page 64: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

{

String str=ae.getActionCommand();

if(str.equals("CLOSE"))

setVisible(false);

else if(str.equals("Browse"))

{

FileDialog fd=new FileDialog(this,"Open CRC File",FileDialog.LOAD);

fd.setFile("*.crc");

fd.show();

str=fd.getDirectory()+fd.getFile();

if(!str.equals("nullnull"))

t1.setText(str);

else

t1.setText("");

}

else

{

try

{

String src=t1.getText().trim();

FileInputStream fis=new FileInputStream(src);

DataInputStream f1=new DataInputStream(fis);

int length=fis.available();

byte[] ch=new byte[50];

f1.read(ch,0,50);

Page 65: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

CRC32 c=new CRC32();

int x;

int c1=0;

String dest=src.substring(0,src.lastIndexOf('.')+1)+".txt";

FileOutputStream f3=new FileOutputStream(dest);

while((x=f1.read())!=-1)

{

f3.write(x);

c1++;

c.update(x);

if(f1.available()<=8)

break;

}

long y=f1.readLong();

long z=c.getValue();

f1.close();

f3.close();

if(y==z)

JOptionPane.showMessageDialog(this,"File is Not Corrupted...");

else

JOptionPane.showMessageDialog(this,"File is Corrupted...");

}

catch(Exception e)

{

JOptionPane.showMessageDialog(this,e);

Page 66: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

}

}

}

}

7.Software Testing

7.1 Introduction:

Testing is the process of detecting errors for which the required open web application

secure employment portal specifications stated. Testing performs a very critical role for quality

assurance and for ensuring the reliability of software. The results of testing are used later on

during the software maintenance.

The aim of testing is often used to demonstrate that a program works by showing that it

has no errors. The basic purpose of testing phase is to detect the errors that may be present in the

program. Hence one should not start testing with the intent of showing that a program works, but

the intent should be to show that a program doesn’t work. The main objective of testing is to

uncover an error in systematic way with minimum effort and time.

7.2 Levels of testing

In order to uncover the errors present in different phases the different levels of testing

are:

System Testing

Function testing

The different types of testing are:

Unit testing

Link testing

.

Page 67: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

7.2.1 Unit Testing:

This test focuses on verification effort on the smallest unit of software module. Using the

detailed design and the process specifications testing is done to uncover errors within the

boundary of the module. All the modules must be successful in the unit test before the start of the

integration testing begins.

In this project each service is a module like Login, Forms etc. Each module has to be

tested by giving different sets of inputs. The inputs are validated when accepting from user.

7.2.2 Integration testing:

After the unit testing the integration of modules ahs to be done and then integration

testing can be done. The goal here is to see if modules can be integrated properly, the emphasis

being on testing interfaces between different modules.

7.2.3 System Testing:

In the system testing the entire web portal is tested according the software requirement

specifications document.

7.2.4 Acceptance testing:

The acceptance testing is performed with realistic data of the client, which focus on the

external behavior of the system; the internal logic of the program is emphasized.

Software testing is a critical element of software quality assurance and represents the ultimate

review of specification, design and coding. Testing is the exposure of the system to trial input to

see whether it produces correct output.

Testing Phases:

Software testing phases include the following:

Test activities are determined and test data selected.

The test is conducted and test results are compared with the expected results.

7.3 Testing Methods:

Testing is a process of executing a program to find out errors. If testing is conducted

successfully, it will uncover all the errors in the software.

Any testing can be done basing on two ways:

White Box Testing

Page 68: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

Black Box Testing

7.3.1 White Box Testing:

It is a test case design method that uses the control structures of the procedural design to

derive test cases.

Using this testing a software Engineer can derive the following test cases:

Exercise all the logical decisions on either true or false sides.

Execute all loops at their boundaries and within their operational boundaries.

Exercise the internal data structures to assure their validity.

7.3.2 Black Box Testing

It is a test case design method used on the functional requirements of the software. It will

help a software engineer to derive sets of input conditions that will exercise all the functional

requirements of the program.

Black Box testing attempts to find errors in the following categories:

Incorrect or missing functions

Interface errors

Errors in data structures

Performance errors

Initialization and termination errors

By black box testing we derive a set of test cases that satisfy the following criteria:

Test cases that reduce by a count that is greater than one

The number of additional test cases that must be designed to achieve reasonable testing.

7.4 Test Plan

Testing can be done in two ways:

Bottom up approach

Top down approach

7.4.1 Bottom up approach:

Testing can be performed starting from smallest and lowest level modules and proceeding

one at a time. For each module in bottom up testing a short program executes the module and

provides the needed data so that the module is asked to perform the way it will when embedded

Page 69: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

with in the larger system. When bottom level modules are tested attention turns to those on the

next level that use the lower level ones they are tested individually and then linked with the

previously examined lower level modules.

7.4.2 Top down approach:

This type of testing starts from upper level modules. Since the detailed activities usually

performed in the lower level routines are not provided stubs are written. A stub is a module shell

called by upper level module and that when reached properly will return a message to the calling

module indicating that proper interaction occurred. No attempt is made to verify the correctness

of the lower level module.

Page 70: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

8.TECHNICAL NOTES

8.1 Operating System

Developer has used Microsoft Window 7 for the application development for final year

project work under Windows platform,as the software is compatible with Microsoft family.

8.1.1 JAVA

Java is a powerful but lean object-oriented programming language. It has generated a lot

of excitement because it makes it possible to program for Internet by creating Applets. Programs

that can be embedded in web page. The context of an applet can be an animation with sound, an

interactive game or a ticker tape. With constantly updated stock prices. Applets can be just little

decorations to liven up web page, or they can be serious applications like Word processor or

Spreadsheet.

But Java is more than a programming language for writing Applets. It is being used more

and more for writing standalone applications as well. It is becoming so popular that many people

believe it will become standard language for both general purpose and Internet programming.

There are many buzzwords associated with Java, but because of its spectacular growth in

popularity, a new buzzword has appeared ubiquitous. Indeed, all indications are that it will soon

be everywhere.

Java builds on the strength of C++. It has taken the best features of C++ and discarded

the more problematic and error prone parts. To this lean core, it has added garbage collection

(automatic memory management), multithreading (the capacity for one program to do more than

one thing at a time), security capabilities. This result is that Java is simple, elegant, and powerful

and easy-to-use.

Java is actually a platform consisting of 3 components:

Java Programming Language.

Java Library of Classes and Interfaces.

Java Virtual Machine

Page 71: CONTAINER INDEPENDENT SECURE DATA COMMUNICATION

9 CONCLUSION

The use of DSA for Infosecurity in various e-commerce applications through the Internet

has been discussed in detail in this paper. These applications include CRC file generation and

encrypting the data to binary mode object by compressing and embedding it to users interested

container and then to extract the original data and special feature to verify whether the data is

corrupted or not. DSA canprovide one of the safest and unrestricted information security tools in

the market, and is poised to advance the pace of growth of e-commerce applications in India and

beyond.