Internet security evaluation system documentation nikitha

122
DC Internet Security Evaluation System ISES Chaitanya 2009

Transcript of Internet security evaluation system documentation nikitha

Page 1: Internet security evaluation system documentation nikitha

DC

Internet Security Evaluation System ISES

Chaitanya2009

Page 2: Internet security evaluation system documentation nikitha

INTERNET SECURITY EVALUATION SYSTEMIntroduction

A Internet Security Evaluation system is any computer system that involves

cryptography. Such systems include for instance, a system for secure electronic

mail which might include methods for digital signatures, Internet Security

Evaluation hash functions, key management techniques, and so on. Internet

Security Evaluation systems are made up of Internet Security Evaluation

primitives, and are usually rather complex. Because of this, breaking an I S E S is

not restricted to breaking the underlying Internet Security Evaluation algorithms

- usually it is far easier to break the system as a whole, eg, through the not

uncommon misconceptions of users in respect to the I S E S. A I S E S refers to a

suite of algorithms needed to implement a particular form of encryption and

decryption. Typically, an I S E S consists of three algorithms: one for key

generation, one for encryption, and one for decryption. The term cipher

(sometimes cypher) is often used to refer to a pair of algorithms, one for

encryption and one for decryption. Therefore, the term "I S E S" is most often

used when the key generation algorithm is important. For this reason, the term

"I S E S" is commonly used to refer to public key techniques; however both

"cipher" and "I S E S" are used for symmetric key techniques.

Page 3: Internet security evaluation system documentation nikitha

About Client

Client:Orapps , Hyderabad

ORAPPSORAPPS the application software company integrates Enterprise Business system and supply

chains for improved customer services, operational efficiencies and competitive advantage.

Sierra Atlantic Inc., combines integration products and services to connect business partitions

with application networks, people and systems work together with greater productivity, faster

response time and reduced errors.

In addition to application integration solutions, Orapps., products enterprise,

implementation services, custom software development services, s/w maintenance and suppose

and business intelligence solutions. Their Global Development Center (GDC) in India is

averaged to derive their services with superior industry and economies. The combination of

onsite and offshore capabilities allows Sierra Atlantic Inc., to derive timely solutions without

compromising quality.

Scope

The project assigned to the project team is real time project. The project is developed in Stand

alone based screens and. To develop this project the project team has used core java. There are

basically two types of modules are developed by the front end programmers. These are input

modules and out put modules. The modules which helps the user to input the data, modify the

data and delete the data will be called the input modules. The modules which enables the user

to convert the document into unreadable format then the document will be send to client the

client will convert the encrypted format of document into original format by using a key. The

client will view the original format once he uses ISES and retransform the data into original

Page 4: Internet security evaluation system documentation nikitha

format this will be called out put modules. The retrieved data will be exhibited through output

screens or reporting screens. These conversions and manipulations have to be generated

automatically. These reports should be generated and cover all the user requirements and

replicate the minute details of the company transactions. The scope of the project lies on the

input data which will be stored in the location in encrypted mode. The same data will be

retrieved from other user by using the public key with description technique. The limitation for

this project is crypto analysis and editing of different lengths of text for encrypting and

decrypting.

The Deliverables of this project

The deliverable of this project can be ascertained as follows:

1. The encryption has to be done along with private key or public key generation.

2. Application should allow the user to encrypt/ encode the given text into one of the

following:a) Code Caeser

b) Code Substitution

c) Code Vigenere Cipher

d) Code MonoSubstitution

e) Decrypting the Text

3. Application should allow the user to decrypt/ decode the given text into one of the

following:

a) Decode Caeser

b) Decode Substitution

c) Decode Vigenere Cipher

d) Decode MonoSubstitution

e) Crypto Analysis

Page 5: Internet security evaluation system documentation nikitha

4. Crypto Systems should display the time taken for encoding and decoding the text and

also displays the file size, to analyze the performance of the Crypto Systems. Editing the

Text

5. The application should provide a facility to the user to perform cut, copy, and paste

operations on the text in the text area, and also to apply different fonts and font

colours.

6. The screens should be user-friendly and with attractive pictures which replicate the

symbolism of the department.

7. The screen developed in this project should help the user to navigate the further

screens and options.

8. The screens have to be developed with required fields.

The External Deliverables

The external deliverables of the projects are as follows:

Screen Details 1. The main screen should consist of encryption, description,

crypto editing facilities.

2. From this screen the particular activity screen has to be

generated.

3. For every module or activity screen access the user

authentication has to be incorporated.

4. The encryption should be done in a particular screen and the

public key or private key generation has to be poped up in a

separate screen.

Reports 5. 5. Every module should have detailed reports on every aspect

of the mechanism of the project.

6. The reports should give detailed description on the database

Page 6: Internet security evaluation system documentation nikitha

retrieval.

7. The detailed report on encryption done by the user.

8. The detailed report on the encrypted text how many time it

has been descripted.

9. Reports should be generated weekly, monthly, quarterly, half

yearly and yearly on the enrolled students from different

organisation as well as the students for in house recruitment.

Server 10. The encrypted text can be stored in local system or other

system.

The Internal Deliverables

The Internal deliverables of the project are as follows:

Project Charter 1. The encryption and decryption is the main feature of the

project.

2. The screens of the module should be connected to the

database implicitly.

3. The stored files can be accessed by the user automatically.

4. All the modules should be connected in accordance inter-

module relation.

5. In this project when the encryption is taking place the file

has to be stored in a user defined location. The location

has to be stored in the mechanism of the project. The

same location has to be identified implicitly when the

decryption is taking place.

Data Change 1. The data entered for encryption has to be changed into

Page 7: Internet security evaluation system documentation nikitha

encryption mode automatically and stored in user defined

location.

2. The encrypted text has to be identified by the system

automatically and decrypt the text.

Functionality of the project

Cryptography is formally the art of encoding data in a way that only the intended recipient can

decode it, and know that the message is authentic and unchanged. Cryptography means different

things to different people. Small children play with simple ciphers and substitution secret

languages, bigger children play with crypto puzzles.

To achieve this project I am planning to develop the project in four phases.

1. Encrypting the test

2. Decrypting the test

3. Crypto Analysis

4. Editing the Text.

Encrypting the Text

Application should allow the user to encrypt/ encode the given text into one of the following:

Code Caeser

Code Substitution

Code Vigenere Cipher

Code MonoSubstitution

Decrypting the Text

Page 8: Internet security evaluation system documentation nikitha

Application should allow the user to decrypt/ decode the given text into one of the following:

Decode Caeser

Decode Substitution

Decode Vigenere Cipher

Decode MonoSubstitution

Crypto Analysis

Crypto Systems should display the time taken for encoding and decoding the text and also

displays the file size, to analyse the performance of the Crypto Systems.

Editing the Text

The application should provide a facility to the user to perform cut, copy, and paste operations

on the text in the text area, and also to apply different fonts and font colours.

I am developing the methodology to achieve the targets of developing the Crypto Systems

and networking security as follows.

Aiming to achieve the Encrypting the code the required algorithms in java technologies have to

be developed to convert the given text into encrypted format. For this I am planning to use

Code Caeser Code Substitution Code Vigenere Cipher Code MonoSubstitution

Aiming to achieve the decrypting the code the code the required algorithms in java

technologies have to be developed to convert the given text into encrypted format. For this I

have to develop the code for Decode Caeser, Decode Substitution, Decode Vigenere Cipher and

Decode MonoSubstitution.

Page 9: Internet security evaluation system documentation nikitha

System Analysis

Page 10: Internet security evaluation system documentation nikitha

System Analysis

All User requirements.

The system should have all the user requirement as specified below:

1. The user who is using the crypto system will be keeping the original text for encryption.

The text should be placed in a sufficient place for encryption.

2. The text should be in a editable mode to change the font size, type and color.

3. The end user who is decrypting the text should see the text in the format of original

format which was pasted for encryption in the editor.

4. The user interface screens which make the user to input the information should guide

the user to input the relevant information into the database.

5. The user should have a facility in administrator module to modify the data what entered

wrongly.

6. The user should not get any eye stress because of the color of the screens.

7. The user should have user access to the screens by password authentication system.

8. The user should store the text in the encrypted format in accordance with the four types

of encryption modes.

9. The user should enable to know the location of the encrypted text where it is stored.

10. The end user who decrypt the text should be given the key.

11. The end user who decrypt the text should have a navigation to user the key in

appropriate place for decryption.

Categories into modules or actors or classes and give brief description for each module

Page 11: Internet security evaluation system documentation nikitha

Technical Design of the Project

I S E S

Encryption

Key

Editing the Text

Description

Encrypt the given text and stores in a specified location.

Decrypting the encrypted text from the specified location by using the public key or private key

A key will be generated while the encryption is taking place at the same time the key will be sued to decrypt the text and form in original format.

3 D E S 3 DES

The application should provide a facility to the user to perform cut, copy, and paste operations on the text in the text area, and also to apply different fonts and font colours.

Encrypted Text

Encrypted TextInternet

Transmission

Page 12: Internet security evaluation system documentation nikitha

System Architecture

UserI S E S

User will interact the system and enter the text for encryption

Generates the key and the key will be stored in a specific

location of database. This key will be used by end user

Receives the key from the user and decrypt the text from the

specified location

Keep the text for editing and send the text for encryption

Key will be supplied by the user to the client physically

Key will be supplied by the user to the

client to decrypt the text

Client

Client will interact the system and enter the encrypted matter for decryption

Page 13: Internet security evaluation system documentation nikitha

Use Case

The user Module

End user module

Encrypt the text in different cyphers

Stores the data in the specified location of the

database

View the details of the encrypted text with

locations

Decrypt the text with key from the specific location

View the reports on decryptions done by

the user.

Keep the text for editing

Receives the key and specific location of the encrypted text

Page 14: Internet security evaluation system documentation nikitha

Interface

The user will paste the text which will be encrypted by the user.

The key will be generated and stores In the specific location.

I S E S

End User

Database

Encrypt the text in a location

Decrypt the text with the help of key

User

Sends the key to the end user with location

Page 15: Internet security evaluation system documentation nikitha

The end user will be given a key and specific location.

The end user will decrypt the encrypted matter.

Class Diagram:

The user will encrypt the text for the crypto editor.

I S E S

user End user

The user will edit the text and encrypt the text. The encryption will generate a key. The encrypted matter will be stored in a specific location

The end user will be supplied a key and the end user will decrypt the encrypted text with key from the specific location.

The user will store the original text in encrypted format. The user sends the encrypted text to the client through internet. The client will receive the encrypted text through internet. The client physicaly or separately get the key from the user. The Client will decrypt the encrypted text into original format.

Page 16: Internet security evaluation system documentation nikitha

The user will send the encrypted text through internet to the client.

The user will generate the key for every encryption.

The user will send the key to the end user or client.

The location details will also sent to client .

The end user will decrypt the text with the help of key at client’ location.

Business Processes

In this project the application is going to serve the different locations as follows:

1. User Local System where the text will be encrypted.

2. Client place where the encryption is taking place.

Business Areas

By implementing this project the following areas will be affected.

1. User location from the encryption is taking place

2. End user (client ) location from the description is happening.

Business Data that will be changed

This is the project with full automation mechanism. The project team has to develop the

internal coding to transmit the data to other location. The data which will stored in encrypted

format will be changed by using the public or private key and decrypted. The decrypted text will

be retrieved from the end user to view the files. To view the files of encrypted format the end

user should use the public key or private key for decryption. To view the encrypted files the

public key is playing vital role.

Page 17: Internet security evaluation system documentation nikitha

Technologies Required

To develop the crypto system the core java technologies are used. Through this technologies

the algorithms Code Caeser Code Substitution Code Vigenere Cipher Code MonoSubstitution

are developed.

The existing system

The existing system is developed with RSA algorithms. The encryption and decryption is not

so developed. The cheating prevention is not possible in the existing system.

The proposed System

A Internet Security Evaluation system is any computer system that involves cryptography.

Such systems include for instance, a system for secure electronic mail which might include

methods for digital signatures, Internet Security Evaluation hash functions, key management

techniques, and so on. Internet Security Evaluation systems are made up of Internet Security

Evaluation primitives, and are usually rather complex. Because of this, breaking a I S E S is

not restricted to breaking the underlying Internet Security Evaluation algorithms - usually it is

far easier to break the system as a whole, eg, through the not uncommon misconceptions of

users in respect to the I S E S. A I S E S refers to a suite of algorithms needed to implement a

particular form of encryption and decryption. Typically, a I S E S consists of three algorithms:

one for key generation, one for encryption, and one for decryption. The term cipher (sometimes

cypher) is often used to refer to a pair of algorithms, one for encryption and one for decryption.

Therefore, the term "I S E S" is most often used when the key generation algorithm is

important. For this reason, the term "I S E S" is commonly used to refer to public key

techniques; however both "cipher" and "I S E S" are used for symmetric key techniques.

Strong encryption brings many possible applications into daily life. Different applications that

require privacy, trust and access control should all use strong encryption methods when possible.

Applications include things like electronic money, secure communications, passwords, and many

others. It is in people's own interest that different legal/medical/personal data about their person

stays confidential to the instances that have a permit to collect the databases (finnish

Tietoturvalaki).

Page 18: Internet security evaluation system documentation nikitha

To achieve this project I am planning to develop the project in four phases.

1. Encrypting the test

2. Decrypting the test

3. Crypto Analysis

4. Editing the Text.

5.

Encrypting the Text

Application should allow the user to encrypt/ encode the given text into one of the following:

Code Caeser

Code Substitution

Code Vigenere Cipher

Code MonoSubstitution

Decrypting the Text

Application should allow the user to decrypt/ decode the given text into one of the following:

Decode Caeser

Decode Substitution

Decode Vigenere Cipher

Decode MonoSubstitution

Crypto Analysis

Crypto Systems should display the time taken for encoding and decoding the text and also

displays the file size, to analyse the performance of the Crypto Systems.

Editing the Text

The application should provide a facility to the user to perform cut, copy, and paste operations

on the text in the text area, and also to apply different fonts and font colours.

I am developing the methodology to achieve the targets of developing the Crypto Systems

and networking security as follows.

Page 19: Internet security evaluation system documentation nikitha

Aiming to achieve the Encrypting the code the required algorithms in java technologies have to

be developed to convert the given text into encrypted format. For this I am planning to use

Code Caeser Code Substitution Code Vigenere Cipher Code MonoSubstitution

Aiming to achieve the decrypting the code the code the required algorithms in java

technologies have to be developed to convert the given text into encrypted format. For this I

have to develop the code for Decode Caeser, Decode Substitution, Decode Vigenere Cipher and

Decode MonoSubstitution.

Milestone of the project work

1. Requirements gathering of the client

2. Requirements specifications Document Preparation

3. Functional Specifications of the project.

4. Design Document ( Macro level )

5. Design Documentation ( Micro Level )

6. Database Design ( Macro Level )

7. Database Design ( Micro Level )

8. Coding specifications

9. Coding Metrics Finalization.

10. Coding execution

11. Database Creation – database – Table space – table

12. Data integration design

13. Data manipulation design

14. Procedures and functions design

15. Integration between Screens and database

16. Synchronization of front end and back end.

17. Testing

18. Review – Coding

19. Documentation – Business process Documentation

Page 20: Internet security evaluation system documentation nikitha

20. Documentation – Business process Re-engineering

21. People management -

22. Preparation of Training Material

23. Project management and administration

24. Hardware Installation – Servers - Clients

25. Deployment of the Software at clients place

26. Data preparation for transfer

27. System Documentation

28. Process flow documentation

As a front end programmer my Role

Developed JSP pages, Servlets pages as per requirement

Understand the Module specifications of the project and developed the

code for inter-module relationship along with the Oracle Developers.

Module de composition is perfectly followed in this project.

Developed reports for Management specific requirements.

Developed the User screens and connectivity to the tables in

accordance with the Oracle programmers.

Used Java beans extensively to connect, retrieve and insert the data

into the database.

Java script used to display the date and time and other calculations of

the applications.

Understand the Module specifications of the project and developed the

code for inter-module relationship along with the Oracle Developers.

Module de composition is perfectly followed in this project.

Developed reports for Management specific requirements.

Developed the User screens connectivity to the tables in accordance

with the Oracle programmers.

Used extensively HTML and JSP to develop the screens and run with

Web logic server

Page 21: Internet security evaluation system documentation nikitha

Used Java beans extensively to connect, retrieve and insert the data

into the database.

Java script used to display the date and time and other calculations of

the applications.

Developed the Inter Module auto updates with the help of Oracle

Primary Key and Foreign Key concepts.

Page 22: Internet security evaluation system documentation nikitha

Literature Survey

1. INTRODUCTION

Java is an Object-Oriented, multi-threaded programming language developed by Sun Microsystems in 1991. It is designed to be small, simple and portable. The popularity of the Java is due to 3 key elements powerful programming language, applets and rich set of significant object classes.

Page 23: Internet security evaluation system documentation nikitha

Adv of Java

1. Simple 2. Secure

3. Portable

4. Object Oriented

5. Robust

6. Multithreaded

7. Interpreted

8. High Performance

9. Distributed

10. Dynamic

Components of JVM 

In Java development environment, there are two parts, a Java compiler and Java interpreter. Java compiler generates byte code and interpreter executes the Java program. Eventhough the bytecode is slow, it gives platform independent application.

Java program is typed in and saved in a file with extension .java. This file is compiled by javac. It creates a file with .class extension. This is executed by Java file without extension. A simple example for a Java program is

 

Type casting:

When one type of data is assigned to be another type of variable, an automatic type conversion will take place. For example

byte a=10; int c = a + 10;

Here, a is converted to int automatically.

 

To manually convert a type use (type) value

For example float f = (float) a/ float(b) ; if a, b are integers.

Operators

1) Arithmetic - + - * / %

2) Relational - < > <= >= !=

3) Logical - && || !=

Page 24: Internet security evaluation system documentation nikitha

4) Assignment - =

5) Comparision - = =

6) Incre/Decrement - ++ --

7) Bitwise operator - ~ & | ^ >> >>> << &= != ^=

8) Conditional - ? :

 

2. PROGRAM CONSTRUCST

They are divided into

i. Sequence ii. Selection - if, switch

iii. Iteration - while, do..while, for

Misc - break, exit, continue, and return

e) break, continue and exit

break will transfer the control out of the loop, in continue , the rest of the lines are ignored and loop continue after the next iteration. The exit function will stop the program execution.

3. CLASSES AND METHODS

Classes

The most important feature of the OOP is classes. A class defines the shape and behavior of an object and is a template for multiple object with similar features. It is a logical construct upon which the entire java language is built because it defines the shape and nature of the object.

To create a class, a source file with the class keyword in it, followed by a name and pair of curly braces for the body.

Once class is created, an instance of class is created by new keyword. The instance of class is used to access the variables and methods that form part of the class. The dot operator is used to get the value of the class variable (object.variable).

 

Instance Variable : Data is encapsulated in a class by declaring varables inside the class declaration. Variables declared in this scope are called as Instance variables.

Class Variable : Class variables are global to class and all the instances of the class. To declare class variable static keyword is used.

The access of class may be public, private, abstract or final.

Page 25: Internet security evaluation system documentation nikitha

 

Methods

Methods are functions that operate on instances of classes in which they are defined. Method definition has four parts. They are name of the method, return type , list of parameters and body of the method.

Access Specifiers:

Public : If any method or variable is declared as public, it is visible to all

classes.

Private : If any method or variable is declared as private , it is visible to

classes in which it is declared.

Protected : It is visible in class and all its subclasses.

Package : It is indicated by the lack of any access modifier in a declaration.

It has an increased protection and narrowed visibility.

Final : It can not overridden by subclass

Abstract : in abstract class without body, must be overridden by subclass.

Static : It is automatically called when creating instance of class.

this:

The this keyword is used inside any instance method to the current object.

 Constructor

A constructor method is a special kind of method that determines how an object is initialized when created. They have the same name as the class but do not have any return type. Consturctor can also be overloaded.

Garbage collection

When no reference to object exits, the object no longer needed, the memory occupied by the object is reclaimed. This is called garbage collection. Java periodically does garbage collection.

Finalizer :

Finalizer method is the exact opposite of constructor method. They are called just before the object is garbage collected and its memory is reclaimed. All cleanup operations are performed in this method.

protected void finalize( )

{ }

Page 26: Internet security evaluation system documentation nikitha

Methods overloading

Methods overloading is creating different methods with same name but with different parameters. This is the one type of creating polymorphism in Java

 

Example for method overloading and constructor overloading

Method Overriding

Method overriding is creating a method in the derived class that has the same name arguments as in the superclass. This new method hides the superclass method.

 Recursion

Recursion is the process of defining something in terms of itself. A method that calls itself is said to be recursive.

Nested Class

It is possible to nest a class definition within another and treat the nested class like any other method of that class. An inner class is a nested class whose instance exists within an instance of its enclosing class and has direct access to the instance members of its enclosing instance.

4. Inheritance

Inheritance is the method of creating new class based on the already existing class. The new class derived is called as sub class or derived class which has all features of the existing class and its own. The existing class is called as super class or base class.

Adv : reusability of code, accessibility of variables and methods of the base class

by the derived class.

If the class is derived from more than one class , then it is called as multiple inheritance. This is not available in Java. To overcome this problem use interface.

 Method Overriding

Whenever there are methods of the same name both in the base class as well as in the derived class and if that method is called by main, the method in the derived class is always executed. This is called overriding. See example11.

 Super

Super has two forms. First it calls the superclass’s constructor. The second is used to access a member of the superclass that has been hidden by a member of a subclass.

 Final

Page 27: Internet security evaluation system documentation nikitha

a. final variables - to create constant

final float pi =3.14f;

final int a = 40

final is used to create constant variable.

b) final modifiers - to prevent overriding

Final modifiers are those to which no further alteration can be made. We can not override the method using final

 

Abstract

Sometimes we will want to create a superclass that only defines a generalized form that will be shared by all of its subclasses, leaving it to each subclass to fill in the details. To declare abstract class

abstract type name(parameters);

We must override the abstract method. An abstract class cannot be directly instantiated with the new operator. We cannot declare abstract constructors or abstract static methods.

 5. Exception

An exception is an abnormal condition or error that occurs during the execution of the program. Exception in java is handled by five keywords – try, catch, finally, throw and throws.

The object class has a subclass called Throwable to handle exception and errors, which has two subclasses Exception and Error.The classes of exception are IOException and RuntimeExveption

The try and catch fixes the error and prevents the program from terminating abruptly. The finally block will be executed if no catch matches it and always executed. If you use try block, finnaly block or atleast one catch block should be used.

If you don't want to use try and catch statements then use throws clause. The throws class is responsible to handle the different types of exceptions generated by the program. This clause usually contains a list of types of exceptions that are likely to occur in that program.

The throw clause is used to call exception explicitly. User defined exception can be called by throw clause. User defined exception is created by extending the class Exception.

Page 28: Internet security evaluation system documentation nikitha

6. Package

Package contains set of classes in order to ensure that class names are unique. Packages are container of classes used to keep the class name space compartmentalized.

1. Create a subdirectory, which has the same name as package. 2. Include package command, along with the package name, as first statement in the

program.

3. Write class declaration

4. Save file in this directory as "name of class.java"

5. Compile this file using javac.

6. To use this program set the CLASSPATH or change to previous directory and use java packname.classname

If Java source file contain package, interface, classes then the order should be

a. A single package statement (optional) b. Any number of import statements (optional)

c. A single public class declaration (required)

d. Any number of classes private to the package (optional)

 

 

6. Interfaces :

An interface is a collection of abstract behavior that individual classes can implement. An interface consists of set of method collections. Using interface, you can specify what a class must do but not how it does it. All methods and final variables in interface must be public.

Multithreading is not available in Java. To overcome this problem, interface is introduced.

 

8. Multhithreading in Java

Thread

A process is a program in a execution. A thread is a line of execution. Two or more processes running concurrently in a computer is called multitasking. The process can contain multiple threads to execute its different sections. This is called multhreading. Using this, we can run different parts of the programs at a time.

Page 29: Internet security evaluation system documentation nikitha

 

 

States of thread

There are four states of thread. They are new, runnable, blocked and dead The fig shows the states of the thread.

Adv of thread:

Can be created faster Maximum use CPU time

Requires less overhead

Interprocess communication is faster

Context switching is faster

 

Thread is created by

a) the class Thread which has the interface Runnable.

b) creating the objects of the class Thread

a) Using runnable interface

class c1 implements Runnable

{

}

To create a thread

Thread t = new Thread(this) ;

Thread t = new Thread(this,"Demo thread’);

Where this referes the Applet object.

After thread is created , it will first execute start( ) method then run( ) method is automaticall called.

b) Creating Thread Class Objects

Runnable abstracts a unit of executable code. We can construct a thread on any object that implements Runnable.

The thread methods are start( ), resume( ), sleep( ), suspend( ) , join( ) and toString( )

.Synchronization

Page 30: Internet security evaluation system documentation nikitha

Two or more threads accessing the same data simultaneously may lead to loss of data integrity. Java uses the concept of monitor. A monitor is an object, used as a mutually exclusive lock.

Java offers interprocess communication through the use of wait( ), notify( ) and notifyall( ) methods of Object class and all are synchronized methods.

Thread Priorities

The usage of setPriority( ) and getPriority( ) methods are used to set and get the priorities of thread respectively. The yield( ) method enables provision of CPU’s time to threads with equal priority and prevents monopolization of a single thread. The Thread has final variables declared line – NORM_PRIORITY (5), MINIMUM_PRIORITY (1) and MAXIMUM_PRIORITY (10).

9. APPLET

Applet

An applet is a dynamic and interactive program that can run inside Web page displayed by a Java-capable browser or applet viewer.

All applets are subclasses of Applet. You should import java.applet and java.awt since all applets run in a window. Applet defines three interfaces Appletcontext, AppletStub and AudioClip.

Applet extends java AWT class Panel, Panel extends Container which extends Component.

 The init( ) Method

This method gets called as soon an applet is started. Initialization of all variables, creation of objects, setting of parameters, etc. can be done in this method.

The start( ) method

This method is executed after the init mehod. Also used to restart the applet that was stoped.

The stop( ) method

This method is used to halt the running of an applet. This method is called when a web browser leaves the HTML document containing the applet.

The destroy( ) method

This method is used to free the memory occupied by the variables and objects initialized in the applet. Called by the browser just before the applet is terminated.

 The paint( ) method

Page 31: Internet security evaluation system documentation nikitha

This method helps in drawing, writing and creating a colored background or an image on to the applet. This method is called each time your applet’s output must be redrawn. It has one parameter called Graphics.

 The repaint( ) method

This method is used in case an applet is to be repainted. The repaint method calls update( ) method to clear screen and paint( ) method to redraw the contents of the current frame.

 resize (width, height)

Resize the applet window

showStatus (str)

Displays the string in the status window of the applet

 When starting the applet init, start, paint methods and when terminating stop and destroy methods are called.

9.a. The Graphics Class in java.awt package

drawString(message,x,y);

9.b. Font Class in java.awt package

Font f = new Font ("fontname", format, size);

Formats are Font.BOLD, Font.ITALIC, and Font.PLAIN

g.setFont(f)

9.c. Color Class in java.awt package

Color.grey, Color.green, Color.yellow, Color.pink, Color.red, Color.blue, Color.magenta, Color.cyan

9.d. Images

Clipping

A technique by which the drawing area can be restricted to a small portion of the screen.

Method is clipRect( )

clipRect(x1,y1,x2,y2);

 Animation

Animation is technique by the object is moved on the screen In which the original image is clreared and placed in another place.

9.e. Events

Page 32: Internet security evaluation system documentation nikitha

Mouse Events methods

 

boolean mouseDown(event , x, y)

boolean mouseDrag(event , x, y)

boolean mouseEnter(event , x, y)

boolean mouseExit(event , x, y)

boolean mouseMove(event , x, y)

boolean mouseUp(event , x, y)

boolean mouseDown(event , x, y)

boolean mouseDown(event , x, y)

 

KeyBoard Events

boolean keyDown(event , x, y)

boolean keyUp(event , x, y)

Types of Event handling

a)Low Level event

Low level classes Low level event Listener

ComponentEvent ComponentListener

FocusEvent FocusListener

KeyEvent KeyListener

ContainerEvent ContainerListener

MouseEvent MouseListener

MouseMotionListener

WindowEvent WindowListener

InputEvent

b) Semantic Events

Low level classes Low level event Listener

ActionEvent ActionListener

AdjustmentEvent AdjustmentListener

ItemEvent ItemListener

Page 33: Internet security evaluation system documentation nikitha

TextEvent TextListener

Each component class in the AWT has one addXXXListener( ) method for each event type.

9.f. ABSTRACT WINDOW TOOLKIT (AWT)

Component Contructor Methods

Button

Button( ) setLabel(String)

Button("label") getLabel( )

Label

Label( ) getText( )

Label(String) setText(String)

Label(String, int) getAlignment( )

SetAlignment(int)

where Int is alignment. It may be Label.LEFT, Label.RIGHT, Label.CENTER

 Checkbox

Checkbox( ) setLabel(string)

Checkbox(String) getLabel( )

Checkbox(String,grp,boolean) setState(boolean)

getLabel( )

Choice

Choice( ) getItem(int)

addItem(String) getItemcount( )

getSelectedItem( )

getSelectedIndex( )

TextComponent

TextField( ) getText( )

TextField(String, int) setText(String)

TextArea( )

TextArea(String, int, int) int represents rows and columns

List

Page 34: Internet security evaluation system documentation nikitha

List( ) getItem(int) int starts from 0

List(int,boolean) getItemCount( )

AddItem(String) select(int)

getSelectedItem( )

Scrollbar

Scrollbar( ) setValue(int)

Scrollbar(orient, value, visible, min, max) getValue( )

 Layout Manger

A set of classes used to position the components in a container.

 

a. FlowLayout b. BorderLayout

c. GridLayout

First create instantiate a layout manager class and use setLayout( ) method

Flow Layout

Lays components linewise from left to right

FlowLayout( )

FlowLayout(align, hgap, vgap)

Align – FlowLayout.LEFT, FlowLayout.RIGHT, FlowLayout..CENTER

Grid Layout

Position the components in the cellf of the grid.

GridLayout(int rwo, int col)

GridLayout( int rwo, int col, int hgap, int vgap)

Border Layout

Lays components relative to the edges of the container

BorderLayout( )

BorderLayout(int hgap, int vgap)

add("direction",item);

direction may be NORTH, SOUTH,EAST , WEST or CENTER

Insets(int, int, int, int)

Page 35: Internet security evaluation system documentation nikitha

Used to give spacing around the container

 Panel

A panel class is a non-abstract, recursively nestable container.

Panel( )

9.g. Frames, Menus and Dialogs

Frame

11. Networking in Java

Java.net package

The objectives are

Network Datagram

Protocol DatagramPacket

Socket DatagramSocket

Client/Server TCP/IP

Internet (IP) Address Socket

Domain Name Service ServerSocket

InetAddress URL

 Network is a set of computers physically connected together. It enables the sharing of computer pheriperals and resources by different computers.

The communication between the computers requires certain set of rules called protocols. Some important protocols are TCP/IP, HTTP, FTP, SMTP and NNTP. Port no 21 is for FTP, 23 is for Telnet, 25 is for e-mail and 80 is for HTTP.

IP is a low-level routing protocol that breaks data into small packets and sends them to an address across a network. TCP is a higher level protocol that manages string together these packets, sorting and retransmitting them to reliably transmit your data. UDP (user Datagram Protocol) can be used to support fast, connectionless, unreliable transport of packets.

Socket is the place used to plug in just like electric sockets, from the socket the communication starts.

Client is the machine, which sends some request to another computer. The computer that does the request is called the Server.

A proxy server speaks the client side of protocol to another server. A client would connect to a proxy server, which have no restrictions, and the proxy server would in turn communicate for the client.

Page 36: Internet security evaluation system documentation nikitha

Every computer connected to the network has unique address it contains four numbers between 0 and 255 separated by period. Ex is 80.0.0.50

It is very difficult to remember the IP of the computer. To overcome this problem domain name service (DNS) is used. It maps the IP address by string of characters. Ex is www.microsoft.com

InetAddress is a class, which is used to encapsulate IP address and DNS.

InetAddress getLoaclHost( ) throws unknowHostException

InetAddress getByName (String hostName)

InetAddress getAllByName (String hostName)

 

URL

Uniform Resource Locater. It contains four parts protocol, separated by : and //, host name of IP address, port number, file path.

For ex http://www.starwave.com/index.html

Constructors of URL throws MalformedURLException

URL (String urlspecifier)

URL (String protocolName, String hostName, int port,String path)

URL (String protocolName, String hostName, String path)

getPort( ), getHost( ),getFile( ) and toExternalForm( )

To access content information of a URL, use url.openConnection( ) method.

Datagrams

Datagrams are bundles of information passed between machines. It contains two classes

DatagramPacket for container of data

DatagramSocket for send or receive the DatagramPacket

DatagramPacket constructors are

DatagramPacket (byte data[ ], int size);

DatagramPacket (byte data[ ], int size, ipAddress, int port);

Methods of DatagramPacket are

InetAddress getAddress( ), int getPort( ) , byte( ) , getData( ) and

int getLength( )

Page 37: Internet security evaluation system documentation nikitha

DatagramSocket constructors are

DatagramSocket.send (DatagramPacket d);

DatagramSocket.receive (DatagramPacket p);

client.java

import java.net.*;

class client

{

public static DatagramSocket ds;

public static byte buffer[] = new byte[1024];

public static void main(String arg[]) throws Exception

{

ds = new DatagramSocket(6);

while(true)

{

String a;

DatagramPacket p = new DatagramPacket(buffer,buffer.length);

ds.receive(p);

a=new String(p.getData(),p.getLength(),1);

if (a.equals("q"))

{

System.out.println("Server response is shut off now");

return;

}

System.out.println(new String(p.getData(),0,p.getLength()));

}

}

}

server.java

import java.net.*;

class server

Page 38: Internet security evaluation system documentation nikitha

{

public static DatagramSocket ds;

public static byte buffer[] = new byte[1024];

public static void main(String a[]) throws Exception

{

InetAddress ia = InetAddress.getByName("rad-tm-04");

System.out.println(ia);

ds = new DatagramSocket(123);

int pos=0;

while(true)

{

int c = System.in.read();

switch(c)

{

case 'q':

System.out.println("Server quits");

return;

case '\r':

break;

case '\n':

ds.send(new DatagramPacket(buffer,pos,ia,456));

pos=0;

break;

default:

buffer[pos++] = (byte) c;

}

}

}

}

TCP/IP

Page 39: Internet security evaluation system documentation nikitha

TCP/IP sockets are used to implement reliable, bidirectional, persistent, point to point, stream based connection between hosts on the Internet.

It contains two classes. They are Socket and ServerSocket. ServerSocket class is designed to wait for clients to connect and Socket class is used to connect to ServerSocket.

ServerSocket (int port)

ServerSocket (int port, int maxqu)

ServerSocket (int port, int maxqu, InetAddress localAddress)

ServerSocket has a method accept( ) that waits for client to initiate communication.

Socket (String hostName, int port)

Socket (InetAddress ipAddress, int port)

 

=============================================================

 

 

 

12. JDBC-ODBC

JDBC is a set of Java API for executing SQL statements.

Two-Tier Model

 

Client Machine

 

DBMS propictary protocol

Database server

 Three-Tier Model

 Client Machine(GUI)

HTTP, RMI, CORBA

Server Machine

Page 40: Internet security evaluation system documentation nikitha

DBMS-proprictary protocol

Database Serverk

Two-Tier Model

In Two-Tier Model, a Java applet or application talks directly to the database. This requires a JDBC driver that can communicate with the particular database management systems accessed. Users SQL statement is delivered to the database and the results of those statements are sent to the user. This is referred to as client/server configuration.

Three-Tier Model

In this a middle tier is introduced for fast performance. It sends the SQL statements to the databases. The results of the query are send to middle tier, which sends them to user.

 

1. getConnection( ) of DriverManager class is used to get connection object. 2. It prepares Statement Object to prepare SQL statement

3. The method executeQuery( ) is used to obtain ResultSet and the method executeUpdate( ) is used to for deleting, updating or inserting records.

4. rollback( ) and commit( ) are used to undo or permanent save the changes.

 

Example :

a) Create a data base students in Ms-Access with table student containing the following fields studid number, sname text, course text and marks number.

a. Create a datasource studentdsn in ODBC for the above database b. Write the source file , compile and execute it.

 

import java.sql.*;

class dbappn

{

static connection con;

public static void main(String a[ ]) throws Exception

{

Page 41: Internet security evaluation system documentation nikitha

class.forName("sun.jdbc.odbc.JdbcOdbcdriver");

open( );

select( );

insert( );

delete( );

update( );

select( );

close( );

}

static void open( ) throws SQLException

{

/*con = DriverManger.getConnection("dsn","username","pwd"); */

con = DriverManager.getConnection("jdbc:odbc:student","palani","kumar");

con.setAutoCommit(false);

}

static void close( ) throws SQLException

{

con.commit( );

con.close( );

}

static void select( ) throws SQLException

{

Statement stmt = con.createStatement( );

ResultSet rs = stmt.executeQuery("Select * from student");

Boolean more = rs.next( );

If (!more)

{

System.out.println("No rows found");

Return ;

}

Page 42: Internet security evaluation system documentation nikitha

while(more)

{

System.out.println("ID " : " + rs.getString("studid"));

System.out.println("Name : " + rs.getString("sname"));

System.out.println("Course : " + rs.getstring("course"));

System.out.println("Marks : " + rs.getString("marks"));

more = rs.next( );

}

rs.close( );

stmt.close( );

}

static void insert( )

{

try{

Statement stmt = con.createStatement( );

int rows = stmt.executeUpdate("Insert into student

values(100, ‘Subash’,’Java’,80)");

con.commit( );

stmt.close( );

System.out.println(rows + " row added");

} catch(SQLException s) { System.out.println("Error"); }

}

static void delete( )

{

try{

Statement stmt = con.createStatement( );

int rows = stmt.executeUpdate("Delete from student

where id = 100;

Page 43: Internet security evaluation system documentation nikitha

con.commit( );

stmt.close( );

System.out.println(rows + " row deleted");

} catch(SQLException s) { System.out.println("Error"); }

}

static void update( )

{

try{

Statement stmt = con.createStatement( );

int rows = stmt.executeUpdate("Update student

set marks = 90 where id =100 ;

con.commit( );

stmt.close( );

System.out.println(rows + " row added");

} catch(SQLException s) { System.out.println("Error"); }

}

}

13. Remote Method Invocation (RMI)

RMI allows java object that executes on one machine to invoke a method that executes on another machine. This is the one method of creating distributed application.

Steps to create client/server application using RMI

1. Write source code for interface, server and client program and compile them. 2. Generate Stubs and Skeletons classes by compiling server program using RMI compiler

3. Install files on client and server machines.

4. start rmiregistry on server machine to map server name to object reference

5. Execute the server program by java server.

6. Execute the client program on client machine by java client localhost args

 

 

Page 44: Internet security evaluation system documentation nikitha

inter.java

import java.rmi.*;

public interface inter extends Remote

{

public void getdata(int m,int n) throws RemoteException;

int adddata() throws RemoteException;

}

 

client.java

import java.rmi.*;

public class client

{

public static void main(String arg[])

{

try

{

int a = Integer.parseInt(arg[1]);

int b = Integer.parseInt(arg[2]);

int result;

inter i = (inter) Naming.lookup("rmi://" + arg[0] + "/Addserver");

System.out.println("client");

i.getdata(a,b);

result = i.adddata();

System.out.println(result);

}catch(Exception e)

{

System.out.println("error " + e);

}

}

}

Page 45: Internet security evaluation system documentation nikitha

 

server.java

vbnm,import java.rmi.*;

import java.rmi.server.*;

public class server extends UnicastRemoteObject implements inter

{

int x,y;

public server() throws RemoteException

{

}

public int adddata() throws RemoteException

{

return x+y;

}

public void getdata(int m, int n) throws RemoteException

{

x=m; y=n;

}

public static void main(String arg[])

{

try

{

server s = new server();

Naming.rebind("Addserver",s);

}

catch(Exception e)

{

System.out.println("Exception e");

}

}

Page 46: Internet security evaluation system documentation nikitha

}

 

Comp Constructor Methods

label

JLabel(Icon I)

JLabel(String s)

JLable(String s, Icon I, int align)

Icon getIcon( )

String getText( )

void setIcon(Icon I)

void setText(String s)

Text Field

JTextField( )

JTextField(int cols)

JTextField(String s)

JTextField(String s, int cols)

Buttons

JButton(Icon i)

JButton(String s)

JButton(String s, Icon I)

CheckBox

JCheckBox(Icon I)

JCheckBox(String s)

JCheckBox(Icon I, boolean)

JChcekBox(String s, boolean)

JCheckBox(String s, Icon I, boolean)

Radio Buttons

JRadioButton(Icon I)

JRadioButton(String s)

JRadioButton(String s, boolean)

JRadioButton(s, I, boolean)

Combo Box

JComboBox( )

Page 47: Internet security evaluation system documentation nikitha

JComboBox(Vector v)

Tabbed Panes

JTabbedPane( ) addTab(title, comp)

Scroll Panes

JScrollPane(comp)

JScrollPane(int vsb, int hsb)

JScrollPane(comp, vsb, hsb)

Trees

JTree(HashTable h)

JTree(Object ob[])

JTree(TreeNode t)

JTree(Vector v)

TablesJTable(Obect data[][], Object colheads[])

 

Icons

Method

Int getIconHeight( )

int getIconWidth( )

void paintIcon(comp, Graphics, x, y)

void setDisabledIcon(icon)

void setPressedIcon(icon)

void setSelectedIcon(icon)

void setRolloverIcon(icon)

 

Scroll Panes

JScrollPane(comp, vsb, hsb)

The vsb, hsb constants are

ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS

Page 48: Internet security evaluation system documentation nikitha

ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED

ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS

ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED

 

 

 

 

Example :

import javax.swsing.*;

import java.awt.*;

public class Jlabel extends JApplet

{

public void init( )

{

Container cp = getContentPane( );

ImageIcon ii = new ImageIcon("Birds");

JLabel jl = new JLabel("Birds",ii,JLabel.Center);

Cp.add(jl);

}

}

 

 

Example :

import javax.swing.*;

import java.awt.*;

public class jscroll extends JApplet

{

public void init( )

{

Container CP = getContentPane( );

Page 49: Internet security evaluation system documentation nikitha

Jpanel jp = new Jpanel( );

jp.setLayout(new GridLayout(20,20));

int b = 0;

for(int ii = 0; I<20; I++)

{

for(k=0;k<20;k++)

{

jp.add(new JButton("Button " + b));

b++;

}

}

 

int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED

int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;

JScrollPane jsp = new JscrolPane(jp, v, h) ;

CP.add(jsp, BorderLayout.CENTER);

}

}

 

Example :

Servlets

Servlets are small programs that execute on the server side of a Web connection, used to extend the functionality of a Web Server.

JSDK

Java Servlet Development Kit (JSDK) contains class libraries to create servlets. It contains the utility servletrunner to test the servlets. The basic life cycles of servlets are init( ), service( ) and destroy( ). The steps to create a servlets are

1. Create and compile the servlet source code. 2. Start the servletrunner utility.

3. Start a Web browser and reuest the servlet.

Adv of servlets over CGI :

Page 50: Internet security evaluation system documentation nikitha

o Performance is better. Creating a separate process to handle each client reuest isn't necessry.

o Servlets are platform-independent, because they are written in Java.

o The Java Security Manager on the server enforces a set of restrictions to protect the resources on a server machine.

o The full functionality of Java class is available to the servlet. It can communicate with applets, databases or other software via sockets and RMI.

 

The javax.servlet package

Interfaces Class Methods

Servlet GenericServlet Init(ServletConfig sc )

ServletRequest ServletInputStreamService(ServeltRequest req, ServletResponse res

ServletResponse ServletOutputStream void destroy( )

ServletConfig ServletExceptionServletConfig getServletConfig( )

ServletContext UnavailableException

SingleThreadModel

The first two methods throws SerlvelException

 

The javax.servlet.http Package

 

Page 51: Internet security evaluation system documentation nikitha

Interface Class

HttpServletRequest Cookie

HttpServletResponse HttpServlet

HttpSession HttpSessionBindingEvent

HttpSessionBindingListener HttpUtils

HttpSessionContext

 

Example :

Step 1 : colorGet.html

<html>

<body>

<center>

<form name ="form1" method ="get"

action=<http://localhost:8080/servlet/colorGetServlet">

<B> color : </B>

<Select name="color" size="1">

<option value = "Red"> Red </option>

<option value="Blue"> Blue </option>

</select>

<br> <br>

<input type = submit value="submit">

</form>

</body>

</html>

Step 2 : colorGetSelvlet.java

 

Page 52: Internet security evaluation system documentation nikitha

import java.io.* ;

import javax.servlet.*;

import javax.servlet.http.*;

public class colorGetServlet extends HttpServlet

{

public void doGet (HttpServlet request, HttpServletResponse response)

throws ServletException, IOException

{

String color = request.getParameter("color");

response.setContentType("text/html");

PrintWriter pw = response.getWriter( );

pw.println("<B> The selected color is : " );

pw.println(color);

pw.close( );

}

}

Step 3: compile the above program colorGetServlet.java

Step 4 : start servlet runner by c:\javawebbrowser2.0\jserv

Step 5: Display the web page in the browser. Select a color and submit.

 

Page 53: Internet security evaluation system documentation nikitha

System design

Page 54: Internet security evaluation system documentation nikitha

Design phase

List of the Modules

1. Encryption2. Decryption3. Crypto Analysis4. Editing the Text.

Description of Modules

Encrypting the Text

Application should allow the user to encrypt/ encode the given text into one of the following:

Code Caeser

Code Substitution

Code Vigenere Cipher

Code MonoSubstitution

Decrypting the Text

Application should allow the user to decrypt/ decode the given text into one of the following:

Decode Caeser

Decode Substitution

Decode Vigenere Cipher

Decode MonoSubstitution

Crypto Analysis

Crypto Systems should display the time taken for encoding and decoding the text and also

displays the file size, to analyse the performance of the Crypto Systems.

Editing the Text

The application should provide a facility to the user to perform cut, copy, and paste operations

on the text in the text area, and also to apply different fonts and font colours.

Page 55: Internet security evaluation system documentation nikitha

Functionality of the Modules

Internet Security Evaluation System is formally the art of encoding data in a way that only the

intended recipient can decode it, and know that the message is authentic and unchanged. Internet

Security Evaluation System means different things to different people. This ISES is basically

designed to send the documents to the client in a safe and secure mode operation. The aim of the

system is to protect the documents from tampering and hacking mechanism prevail in the

internet transmission. This project will protect the documents from hacking and tampering by

converting the document into unreadable format and un hack able format. This format can be

converted by the receiver or client once he receives the documents. For this the receiver has to

receive the key specified by the sender through phone or any mode of transmission separately.

This code will enable the receiver to convert the document into the original format.

To achieve this project I am planning to develop the project in four phases.

5. Encrypting the test

6. Decrypting the test

7. Crypto Analysis

8. Editing the Text.

Functionality of the project

Internet Security Evaluation System ISES is an application which enables the

user to store the data in the computer and when he is sending the data to others through

the internet the data has to be protected against the hacking techniques of the hackers.

Using this ISES the client who receives the data has to be read.

ISES is basically designed for data protection. This data protection will be applicable for

Internet transmission. The data has to be protected in the internet transmission

environment which is filled with hacking techniques.

Page 56: Internet security evaluation system documentation nikitha

Hacking Techniques are used by the hackers. The hackers usually known persons who

knows our operations. The hackers will hack our system and steal the data. The hacker

should know what data he want to steal. The hacker should know what type of environment

will be used by the user. The hacker may be nothing but our associate. The hacker will be

keeping an eye on which sharing techniques the user is transmitting the data to the client.

The hacking technique is nothing but capturing the password of the system or software

application from which we transfer the data. The hacker will write a code on java, .net, c++

or C languages to unveil the password of the internet sharing software. The code will be

executed to crack the password of the internet sharing software. The hacker should have a

powerful internet connection. The hacker will download all the internet sharing software

and open the software applications which will be used by the user. Once the user come on

line the application will ask the password, immediately the hacker will apply the code to

crack the application. Then automatically the transmitted data will be captured by the

hacker. While any hacker is capturing the data from the user it will not be known to the

user.

It is obvious that the data is transferred from one place to another place through the

sharing software applications like team viewer etc can easily hacked by the hackers.

Because the hacking techniques are very powerful to crack the passwords of any

applications.

Team Viewer Application for internet sharing of Data: This application is a internet sharing

application which is widely used by the world. This software has latest features to share the

desk top and the required drives in the system. Using this software the user can share his

desktop or system or file transfer to the client. The client will be given the password of user.

The client will open team viewer and enter the user name and password of the user. Hence

the client will view the desk top or transfer of file into his system. The user name will be

standard but the password will be changing in accordance with the user wish.

The hacker should know the user about the team viewer and user name. Then he will type

the user name and use the cracking system to crack the password. The hacker will view the

Page 57: Internet security evaluation system documentation nikitha

data what is transferred by the user to the client. But the data which is transmitted by the

user is un readable format.

Hence the project team has evaluated the internet security transmission data technique

which will protect the data from the hackers and their hacking techniques. The project team

has named the system as internet security evaluation system ISES.

ISES basically a data transmission system developed in java technologies. This system is

developed in four ciphers and with the combination of two algorithms. This ISES will be

used by the user to transmit the data into unreadable format. in the process of transmission

of data into unreadable format a key will be generated by the ISES. This key will be

preserved by the user.

The user will transmit the data through the internet sharing software applications. The

hacker tries to capture the data. But the data will be hacked will be in unreadable and un

editable format. The hacker can not understand or re transmit the data into readable

format by using any crypto systems.

The data will be transmitted by the user with a specific combinations and permit ions of the

algorithms specified by the user. The ISES will be provided to the client of the user. Except

the client no body can re transform the data in to original text. Here another factor to

retransmit the data ie Key. Once the user transmit the data in to unreadable format ISES will

generate the key which reveals the combination of ciphers and algorithms for conversion of

data. The user will transmit the unreadable data through the sharing software applications

or mails to the client and also he will inform the key to the client.

The Client will use the ISES along with the key supplied by the user to re transform into the

original text. The retransformation system will be done by the client of the user with help of

key. With out key no one can re transform the data.

Hence the ISES plays a vital role to protect the data which will be transmitted through

internet hacking pone area.

Page 58: Internet security evaluation system documentation nikitha

Interface Relationship among the modules

The encryption module will encrypt the text and store the encrypted text in a location.

The encrypted text will be decrypted with the help of key generated by the encryption module.

The editor enables the text to do the editing of the text and this is the interface module to

convert the text and send the same to a specified location.

The editor enables the user to view the original text format after decryption.

The editor is the interface to convert the encrypted text into original format for this the

features to keep the key and specify the location of the encrypted text. The button decrypt will

also available to decrypt the text.

Page 59: Internet security evaluation system documentation nikitha
Page 60: Internet security evaluation system documentation nikitha
Page 61: Internet security evaluation system documentation nikitha
Page 62: Internet security evaluation system documentation nikitha
Page 63: Internet security evaluation system documentation nikitha
Page 64: Internet security evaluation system documentation nikitha

Dependencies:1. The decryption will be possible if the key and the location of the file is given.2. The key will be generated only at the time of encrypting the text.3. The key has to be stored properly along with the name of the file encrypted other wise

the decryption is not possible.

Error Messages:1. If the key is wrongly typed by the user the error message should be populated.

PROCESS FLOWStep 1: The application displays menu.

Step 2: Click on <Metal>, <CDE/ Motif>, or <Windows> to select and feel of the

screens.

Step 3: Go to ‘File Menu’, select ‘New’ to open a new file.

Step 4: Enter the text in text area or select and open a file with text which is to be

encoded.

Step 5: Go to ‘File Menu’, select ‘Save Coded’ and then select < Code Caeser>,

<Code Substitution>, <Code Vigenere Cipher>, or <Code MonoSubstitution>

and enter the respective key, to convert the text.

Step 6: Go to ‘File Menu’, select ‘Open Decoded’ and then select < Decode

Caeser>,

< Decode Substitution>, < Decode Vigenere Cipher>, or <Decode

MonoSubstitution> and enter the respective key, to decode the already encoded file

and to open the same.

Step 7: Click on <Crypto Analysis>, to view the file size and time taken for encoding

and decoding the file.

PROGRAMMING ENVIRONMENT

This application is developed in Java using java.awt and java.swings packages as a

stand-alone application.

Solutions Considered

• When developing the application, we have considered the features of applet and

stand-alone application.

• On the close examination of the system scope and its purpose we favoured the

stand-alone application.

Page 65: Internet security evaluation system documentation nikitha

• Though the above functionality can also be accomplished with applet.

Screen Shots

Page 66: Internet security evaluation system documentation nikitha
Page 67: Internet security evaluation system documentation nikitha
Page 68: Internet security evaluation system documentation nikitha
Page 69: Internet security evaluation system documentation nikitha
Page 70: Internet security evaluation system documentation nikitha
Page 71: Internet security evaluation system documentation nikitha
Page 72: Internet security evaluation system documentation nikitha

Testing

Page 73: Internet security evaluation system documentation nikitha

TESTING

In the test phase various test cases intended to find the bugs and loop holes exist in the

software will be designed. During testing, the program to be tested is executed with a set of test

cases and the output of the program is performing as it is expected to.

Often when we test our program, the test cases are treated as “ throw away” cases.

After testing is complete, test cases and their outcomes are thrown away. The main objective of

testing is to find errors if any, especially the error uncovered till the moment. Testing cannot

show the absence of defects it can only show the defects that are a set of interesting test cases

along with their expected output for future use.

Software testing is crucial element and it represents at the ultimate review of

specification design and coding. There are black box testing and glass box testing. When the

complete software testing is considered Back box attitudes to the tests. That is concluded

predicted on a close examination of procedural detail.

The software is tested using control structures testing method under white box testing

techniques. The two tests done under this approach. One condition testing to check the Boolean

operator errors, Boolean variable errors, Boolean parenthesis errors etc. Loop testing to check

simple loops and tested loops.

Faults can be occurred during any phase in the software development cycle.

Verification is performed on the output in each phase but still some fault. We likely to remain

undetected by these methods. These faults will be eventually reflected in the code. Testing is

usually relied upon to detect these defaults in addition to the fault introduced during the code

phase .For this, different levels of testing are which perform different tasks and aim to test

different aspects of the system.

Page 74: Internet security evaluation system documentation nikitha

UNIT TESTING

Unit testing focuses verification effort on the smallest unit of software

design module. Using the detail design description as an important control path is tested to

uncover errors with in the boundary of the modules unit. Testing has many important results for

the next generation is to be easy. The unit testing considers the following condition of a program

module while testing.

Interface

Logical data structure

Boundary data structures

Independent path

Error handling path

In the project Budget Analysis System we have done the unit testing. The table applied out the modules

or interface test to answer that information properly flows into and out of the program unit under test.

The local data structure is examine to ensure that data stores temporary monitors its integrity during all

steps in algorithm execution. Boundary conditions are tested to ensure that the module operates

properly at boundaries, establish to limit on restrict proclaim.

Testing

Page 75: Internet security evaluation system documentation nikitha

Test Cases

1 Crypto Systems

1.1 Verify that the application is properly invoked.

1.2 Verify that ‘File’, ‘Edit’ and ‘Crypto Analysis’ menu items should be displayed, after invoking

the application.

2 File

2.1 Verify that in ‘File’ menu, ‘New’, ‘Open’, ‘Save’, ‘Save coded’, ‘Open coded’ and ‘Exit’ menu

items should be displayed.

2.2 Verify that the functionality of ‘New’ Menu item in “File” menu, to open a new file.

2.3 Verify that the functionality of ‘Open’ Menu item in “File” menu, to open an existing file.

2.4 Verify that in ‘Save coded’ menu item in “File” menu, ‘code Caeser’, ‘code Substitution’,

‘code

Vigenere Cipher’ and ‘code MonoSubstitution’ sub options should be displayed.

2.5 Verify that by selecting ‘code Caeser’ sub option in ‘Save coded’ menu item after entering

the

text in text area, “Enter one alphabet key please” message should be displayed.

2.6 Verify that after entering one alphabet key, ‘Save’ dialog box should be displayed.

2.7 Verify that after entering file name in ‘Save’ dialog box, the file should be saved in respected

folder in encrypt mode.

2.8 Verify that by selecting ‘code Substitution’ sub option in ‘Save coded’ menu item after

entering

the text in text area, “Enter 26 alphabets key please. The alphabets must not be repeated”

message should be displayed.

2.9 Verify that after entering 26 alphabets, ‘Save’ dialog box should be displayed.

2.10 Verify that after entering file name in ‘Save’ dialog box, the file should be saved in

respected

folder in encrypt mode.

Page 76: Internet security evaluation system documentation nikitha

2.11 Verify that by selecting ‘code Vigenere Cipher’ sub option in ‘Save coded’ menu item after

entering the text in text area, “Enter alphabetic key please” message should be displayed.

2.12 Verify that after entering invalid key, “The key must be less than the text to be coded”

message should be displayed.

2.13 Verify that after entering valid key, ‘Save’ dialog box should be displayed.

2.14 Verify that after entering file name in ‘Save’ dialog box, the file should be saved in

respected

folder in encrypt mode.

2.15 Verify that by selecting ‘code MonoSubstitution’ sub option in ‘Save coded’ menu item

after

entering the text in text area, “Enter character key please” message should be displayed.

2.16 Verify that after entering character key, ‘Save’ dialog box should be displayed.

2.17 Verify that after entering file name in ‘Save’ dialog box, the file should be saved in

respected

folder in encrypt mode.

2.18 Verify that in ‘Open decoded’ menu item in “File” menu, ‘decode Caeser’, ‘decode

Substitution’, ‘decode Vigenere Cipher’ and ‘decode MonoSubstitution’ sub options should be

displayed.

2.19 Verify that by selecting ‘decode Caeser’ sub option in ‘Open decoded’ menu item, “Enter

one

alphabet key please” message should be displayed.

3

TEST CASE REPORT

CRYPTO SYSTEMS VERSION: 1.0

2.20 Verify that after entering correct alphabet key, ‘Open’ dialog box should be displayed.

2.21 Verify that after entering file name in ‘Open’ dialog box, the file should be opened in text

area

in decode mode.

Page 77: Internet security evaluation system documentation nikitha

2.22 Verify that by selecting ‘decode Substitution’ sub option in ‘Open decoded’ menu item,

“Enter

26 alphabets key please. The alphabets must not be repeated” message should be displayed.

2.23 Verify that after entering correct 26 alphabets, ‘Open’ dialog box should be displayed.

2.24 Verify that after entering file name in ‘Open’ dialog box, the file should be opened in text

area

in decode mode.

2.25 Verify that by selecting ‘decode Vigenere Cipher’ sub option in ‘Open decoded’ menu item,

“Enter alphabetic key please” message should be displayed.

2.26 Verify that after entering invalid key, “The key must be less than the text to be coded”

message should be displayed.

2.27 Verify that after entering valid key, ‘Open’ dialog box should be displayed.

2.28 Verify that after entering file name in ‘Open’ dialog box, the file should be opened in text

area

in decode mode.

2.29 Verify that by selecting ‘decode MonoSubstitution’ sub option in ‘Open decoded’ menu

item,

“Enter character key please” message should be displayed.

2.30 Verify that after entering correct character key, ‘Open’ dialog box should be displayed.

2.31 Verify that after entering file name in ‘Open’ dialog box, the file should be opened in text

area

in decode mode.

2.32 Verify that the functionality of ‘Exit’ Menu item in “File” menu, to close the application.

3 Edit

3.1 Verify that in ‘Edit’ menu, ‘Cut’, ‘Copy’, ‘Paste’ and ‘Font’ menu items should be displayed.

3.2 Verify that the functionality of ‘Cut’ Menu item in “Edit” menu, the selected text should be

cut.

3.3 Verify that the functionality of ‘Copy’ Menu item in “Edit” menu, the selected text should be

copied.

Page 78: Internet security evaluation system documentation nikitha

3.4 Verify that the functionality of ‘Paste’ Menu item in “Edit” menu, the selected text should

be

pasted.

3.5 Verify that the functionality of ‘Font’ Menu item in “Edit” menu, the selected text color

should

be displayed.

4 Crypto Analysis

4.1 Verify that in ‘Crypto Analysis’ menu, ‘Analyse Ceaser’ menu item should be displayed.

4.2 Verify that the functionality of ‘Analyse Ceaser’ Menu item in “Crypto Analysis” menu, “The

time taken for cipher analysis for ‘_’ bytes is ‘_’ milli seconds” message should be displayed

after completion of encode or decode mode.

4

Page 79: Internet security evaluation system documentation nikitha

Internet Security Evaluation System Test Case ID Description Pass / Fail

1.1 Verify that the application is properly invoked. Pass 1.2

Verify that ‘File’, ‘Edit’ and ‘Crypto Analysis’ menu items should be displayed, after invoking

the application. Pass

2 File

Test Case ID Description Pass / Fail

2.1

Verify that in ‘File’ menu, ‘New’, ‘Open’, ‘Save’, ‘Save coded’, ‘Open coded’ and ‘Exit’ menu

items should be displayed. Pass

2.2

Verify that the functionality of ‘New’ Menu item in “File” menu, to open a new file.

Pass

2.3

Verify that the functionality of ‘Open’ Menu item in “File” menu, to open an existing file.

Pass

2.4

Verify that in ‘Save coded’ menu item in “File” menu, ‘code Caeser’, ‘code Substitution’,

‘code Vigenere Cipher’ and ‘code MonoSubstitution’ sub options should be displayed.

Pass

2.5

Verify that by selecting ‘code Caeser’ sub option in ‘Save coded’ menu item after entering

the text in text area, “Enter one alphabet key please” message should be displayed.

Pass

2.6

Verify that after entering one alphabet key, ‘Save’ dialog box should be displayed. Pass

2.7

Verify that after entering file name in ‘Save’ dialog box, the file should be saved in

respected folder in encrypt mode.

Pass

2.8

Verify that by selecting ‘code Substitution’ sub option in ‘Save coded’ menu item after

entering the text in text area, “Enter 26 alphabets key please. The alphabets must not be

Page 80: Internet security evaluation system documentation nikitha

repeated” message should be displayed.

Pass

2.9

Verify that after entering 26 alphabets, ‘Save’ dialog box should be displayed. Pass

2.10

Verify that after entering file name in ‘Save’ dialog box, the file should be saved in

respected folder in encrypt mode.

Pass

2.11

Verify that by selecting ‘code Vigenere Cipher’ sub option in ‘Save coded’ menu item after

entering the text in text area, “Enter alphabetic key please” message should be displayed.

Pass

2.12

Verify that after entering invalid key, “The key must be less than the text to be coded”

message should be displayed.

Pass

2.13

Verify that after entering valid key, ‘Save’ dialog box should be displayed. Pass

2.14 Verify that after entering file name in ‘Save’ dialog box, the file Pass

3

UNIT TEST REPORT

Internet Security Evaluation System VERSION: 1.0

Test Case ID Description Pass / Fail

should be saved in respected folder in encrypt mode.

2.15

Verify that by selecting ‘code MonoSubstitution’ sub option in ‘Save coded’ menu item after

entering the text in text area, “Enter character key please” message should be displayed.

Pass

2.16

Verify that after entering character key, ‘Save’ dialog box should be displayed.

Pass

2.17

Verify that after entering file name in ‘Save’ dialog box, the file should be saved in

respected folder in encrypt mode.

Pass

2.18

Page 81: Internet security evaluation system documentation nikitha

Verify that in ‘Open decoded’ menu item in “File” menu, ‘decode Caeser’, ‘decode

Substitution’, ‘decode Vigenere Cipher’ and ‘decode MonoSubstitution’ sub options should

be displayed. Pass

2.19

Verify that by selecting ‘decode Caeser’ sub option in ‘Open decoded’ menu item, “Enter

one alphabet key please” message should be displayed.

Pass

2.20

Verify that after entering correct alphabet key, ‘Open’ dialog box should be displayed.

Pass

2.21

Verify that after entering file name in ‘Open’ dialog box, the file should be opened in text

area in decode mode.

Pass

2.22

Verify that by selecting ‘decode Substitution’ sub option in ‘Open decoded’ menu item,

“Enter 26 alphabets key please. The

alphabets must not be repeated” message should be displayed.

Pass

2.23

Verify that after entering correct 26 alphabets, ‘Open’ dialog box

should be displayed. Pass

2.24

Verify that after entering file name in ‘Open’ dialog box, the file should be opened in text

area in decode mode. Pass

2.25

Verify that by selecting ‘decode Vigenere Cipher’ sub option in ‘Open decoded’ menu item,

“Enter alphabetic key please” message should be displayed. Pass

2.26

Verify that after entering invalid key, “The key must be less than the text to be coded”

message should be displayed.

Pass

2.27

Verify that after entering valid key, ‘Open’ dialog box should be displayed. Pass

2.28

Page 82: Internet security evaluation system documentation nikitha

Verify that after entering file name in ‘Open’ dialog box, the file should be opened in text

area in decode mode.

Pass

2.29

Verify that by selecting ‘decode MonoSubstitution’ sub option in ‘Open decoded’ menu item,

“Enter character key please” message should be displayed. Pass

2.30

Verify that after entering correct character key, ‘Open’ dialog box should be displayed. Pass

2.31

Verify that after entering file name in ‘Open’ dialog box, the file should be opened in text

area in decode mode.

Pass

4

UNIT TEST REPORT

Internet Security Evaluation System

Test Case ID Description Pass / Fail

2.32

Verify that the functionality of ‘Exit’ Menu item in “File” menu, to close the application.

Pass

3 Edit

Test Case ID Description Pass / Fail

3.1

Verify that in ‘Edit’ menu, ‘Cut’, ‘Copy’, ‘Paste’ and ‘Font’ menu items should be displayed.

Pass

3.2

Verify that the functionality of ‘Cut’ Menu item in “Edit” menu, the selected text should be

cut. Pass

3.3

Verify that the functionality of ‘Copy’ Menu item in “Edit” menu, the selected text should be

copied. Pass

3.4

Verify that the functionality of ‘Paste’ Menu item in “Edit” menu, the selected text should be

pasted. Pass

3.5

Verify that the functionality of ‘Font’ Menu item in “Edit” menu, the selected text color

should be displayed. Pass

4 Crypto Analysis

Page 83: Internet security evaluation system documentation nikitha

Test Case ID Description Pass / Fail

4.1

Verify that in ‘Crypto Analysis’ menu, ‘Analyse Ceaser’ menu item should be displayed. Pass

4.2

Verify that the functionality of ‘Analyse Ceaser’ Menu item in “Crypto Analysis” menu, “The

time taken for cipher analysis for ‘_’ bytes is ‘_’ milli seconds” message should be displayed

after completion of encode or decode mode.

Pass

Implementation

Page 84: Internet security evaluation system documentation nikitha

A product software implementation method is a systematically structured

approach to effectively integrate a software based service or component into

the workflow of an organizational structure or an individual end-user.

This entry focuses on the process modeling (Process Modeling) side of the

implementation of “large” (explained in complexity differences) product

software, using the implementation of Enterprise Resource Planning systems

as the main example to elaborate on.

Overview

A product software implementation method is a blueprint to get users and/or

organizations running with a specific software product. The method is a set

of rules and views to cope with the most common issues that occur when

Page 85: Internet security evaluation system documentation nikitha

implementing a software product: business alignment from the

organizational view and acceptance from the human view.

The implementation of product software, as the final link in the deployment

chain of software production, is in a financial perspective of a major issue. It

is stated that the implementation of (product) software consumes up to 1/3

of the budget of a software purchase

Implementation complexity differences

The complexity of implementing product software differs on several issues.

Examples are: the number of end users that will use the product software,

the effects that the implementation has on changes of tasks and

responsibilities for the end user, the culture and the integrity of the

organization where the software is going to be used and the budget available

for acquiring product software.

In general, differences are identified on a scale of size (bigger, smaller, more,

less). An example of the “smaller” product software is the implementation of

an office package. However there could be a lot of end users in an

organization, the impact on the tasks and responsibilities of the end users

will not be too intense, as the daily workflow of the end user is not changing

significantly. An example of “larger” product software is the implementation

of an Enterprise Resource Planning system. The implementation requires in-

depth insights on the architecture of the organization as well as of the

product itself, before it can be aligned. Next, the usage of an ERP system

involves much more dedication of the end users as new tasks and

responsibilities will never be created or will be shifted.

Software customization and Business Process Redesign

Process modeling, used to align product software and organizational

structures, involves a major issue, when the conclusion is drawn that the

product software and the organizational structure do not align well enough

for the software to be implemented. In this case, two alternatives are

possible: the customization of the software or the redesign of the

Page 86: Internet security evaluation system documentation nikitha

organizational structure, thus the business processes.

Customizing the software actually transforms the product software in tailor-

made software, as the idea of standardized software no longer applies. This

may result in loss of support on the software and the need to acquire

consultancy when issues arise in the usage of the software. Customizing

however results in a situation where the organizational integrity is not

adjusted, which puts less pressure on the end users, as less changes or shifts

in workflows are required. This fact may positively add to the acceptance of

any new (product) software application used and may thus decrease the

implementation time and budget on the soft side of the implementation

budget.

Redesigning business processes is more sensible for causing resistance in

the usage of product software, as altered business processes will alter tasks

Page 87: Internet security evaluation system documentation nikitha

and responsibilities for the end users of the product software. However, while

the product software is not altered, better support, training and service

levels are possible, because the support was created for the specific integrity

of the software.

Implementation Frameworks

The guiding principle versus the profession

Another issue on the implementation process of product software is the

choice, or actually the question, to what extent an implementation method

should be used.

Implementation methods can on the one hand be used as a guiding principle,

indicating that the method serves as a global idea about how the

implementation phase of any project should run. This choice leaves more

room for situational factors that are not taken into account in the chosen

method, but will result in ambiguity when questions arise in the execution of

the implementation process.

On the other hand methods can be used as a profession, meaning that the

method should be taken strict and the usage of the method should be a

profession, instead of a guiding principle. This view is very useful if the

implementation process is very complex and is very dependent on exact and

precise acting. Organizational and quality management will embrace this

view, as a strict usage of any method results in more clarity on

organizational level. Change management however might indicate that more

Page 88: Internet security evaluation system documentation nikitha

flexibility in an implementation method leaves more room for the soft side of

implementation processes.

Implementation frameworks

Apart from implementation methods serving as the set of rules to implement

a specific product or service, implementation frameworks serve as the

project managed structure to define the implementation phase in time,

budget and quality.

Page 89: Internet security evaluation system documentation nikitha

Several project management methods can serve as a basis to perform the

implementation method. Since this entry focuses on the implementation of

product software, the best project management methods suitable for

supporting the implementation phase are project management methods that

focus on software and information systems itself as well. The applicability of

using a framework for implementation methods is clarified by the examples

of using DSDM and Prince2 as project management method frameworks.rony

DSDM

The power of DSDM is that the method uses the principles of iteration and

incremental value, meaning that projects are carried out in repeating phases

where each phase adds value to the project. In this way implementation

phases can be carried out incrementally, adding value to for example the

degree of acceptance, awareness and skills within every increment [F. Von

Meyenfeldt, Basiskennis projectmanagement, Academic Service 1999].

Besides in the management of chance scope, increments are also usable in

the process modeling scope of implementation phases. Using increments can

align process models of business architectures and product software as

adding more detail in every increment of the phase draws both models

closer. The DSDM also has room for phased training, documentation and

reviewing.

The image below illustrates how implementation phases are supported by

the usage of DSDM, focusing on management of change, process modeling

and support.

Prince2

As DSDM does, the Prince2 method acknowledges implementation as a

phase within the method. Prince2 consists of a set of processes, of which 3

processes are especially meant for implementation. The processes of

controlling a stage, managing product delivery and managing stage

boundaries enable an implementation process to be detailed in with factors

as time and quality. The Prince2 method can be carried out iteratively but is

also suitable for a straight execution of the processes.

Page 90: Internet security evaluation system documentation nikitha

The profits for any implementation process being framed in a project

management framework are:

Clarity

An implementation framework offers the process to be detailed in with

factors such as time, quality, budget and feasibility.

Iterative, incremental approach

As explained, the possibility to execute different phases of the

implementation process iteratively enables the process to be executed by

incrementally aligning the product to be implemented with the end-user

(organization).

Assessments

Using an embedded method brings the power that the method is designed to

implement the software product that the method comes with. This suggests

a less complicated usage of the method and more support possibilities. The

negative aspect of an embedded method obviously is that it can only be

used for specific product software. Engineers and consultants, operating with

several software products, could have more use of a general method, to

have just one way of working.

Using a generic method like ERP modeling has the power that the method

can be used for several ERP systems. Unlike embedded methods, the usage

of generic methods enables engineers and consultants that operate in a

company where several ERP systems are implemented in customer

organizations, to adapt to one specific working method, instead of having to

acquire skills for several embedded models. Generic methods have however

the lack that implementation projects could become too situational, resulting

in difficulties and complexity in the execution of the modeling process, as

less support will be available.

Managing project delivery is essential to avoid the common problems of the

software solution not working as expected or crashing out due to multiple

users accessing the system at the same time. The keys to project delivery

Page 91: Internet security evaluation system documentation nikitha

are: successful implementation of the software, managing the business

change and scaling up the business use quickly.

Successful Implementation

Successful implementation of the software must be planned carefully. In

short there are two key options for delivering the software -- big bang or

phased release:

A "big bang" deployment or release software to all users at the same time

Phased deployment or release software to users over a period of time for

example by department or by geographical location. The project needs to

make a considered decision on the best way to release a software solution to

the business. Business will often choose a phased deployment, consequently

reducing project risk because if there is some problem the business impact is

reduced. In addition, the project deployment of software includes:

Cleanup of the "test" environment following successful completion of testing

Preparation of project deployment to the business such as setting up user

accounts to access the system and ensuring any lists of values have valid

values Deploying the software to the "production" environment ready for

normal business use. Plan and mechanism to back out of production

Page 92: Internet security evaluation system documentation nikitha

software deployment if the process goes wrong for some unexpected reason,

restoring the business to its pre-deployment state. Some of these ideas

have developed from IT Service Management and its discipline of Release

Management - for more background read: Release Management: Where to

Start? Project management should borrow and evolve good ideas whenever

needed.

Managing the Business Change of Project Delivery

Project deployment of the software to the business units such that they are

able to use it from a specified date/time is not enough by itself. Managing

the business change is an essential part of project delivery and that needs to

include:

Building awareness within the business of the software solution through

communication

Developing business support and momentum to use the solution through

stakeholder engagement Planning and executing the training plan for

business users and administrators

Business plan to exploit the use of the solution and to scale up the numbers

of users Setting up and operating a customer board to manage the evolution

of the solution

Page 93: Internet security evaluation system documentation nikitha

Conclusion

Page 94: Internet security evaluation system documentation nikitha

Future Enhancements: Future enhancements of current ISES systems include

making I S E S more secure, increasing the transmission

distance of fiber-optic lines, increasing encryption rates

and making the technology wireless. One might think I S

E S systems are unconditionally secure because of the

quantum mechanics theory used, but the theory can only

be solid if I S E S hardware transmits single photons.

Current I S E S implementations do not transmit single

protons, but bursts of protons. With photon bursts

instead of single protons, eavesdropping attacks are

possible because Eve could siphon

off individual photons without being detected. One proposal,

introduced by Toshiba, for making I S E S systems more secure is by

sending randomly interspersed pulses within the quantum signal

called decoy pulses [Graham07]. These decoy pulses are of

weakened strength than the real quantum signals, which means the

decoy pulses rarely contain more than one photon. So, the sender

and receiver can monitor the ratio of decoy pulses to real quantum

singles that made it through to determine if an eavesdropper was

present. With decoy pulses, Eve will have a harder time siphoning

meaningful photons, decreasing the level of vulnerability of the I S E

S system. This approach would also increase the transmission

Page 95: Internet security evaluation system documentation nikitha

distance and encryption rate by 100-fold because stronger quantum

pulses can be used. Another advancement for making I S E S

systems more secure is the development of a light emitting diode

capable of emitting a single photon more reliably [Graham07].

Toshiba.s methodology is to create an array of quantum dots, each

about 45 nanometers in diameter, for emitting a single photon. This

advancement would increase the level of security offered by current

I S E S systems, but does not resolve the transmission distance and

encryption rate limitations. The most promising advancement to I S

E S systems is the wireless application.

Conclusion

ISES is a stand-alone application that involves cryptography. Its purpose is to hide the meaning

of a message rather than its existence. Cryptography is used in many applications that touch

everyday life including the security of ATM cards, computer passwords, and electronic

commerce. The objective of the Crypto Systems is to provide an abstract view of the operations

such as:

• Encrypting the given text and saving it to the desired location.

• Decrypting the given text and displaying the decrypted text.

Cryptosystem is playing a vital roll in ISES to convert the data into un tampered in

hacking mechanisms. ISES has served the purpose of transmitting the data

through internet. This user can incorporate ISES in sending mail and sending

data through remote desk top sharing systems. By using this system the data

which is transmitting will not get hacked or tampered by any hackers.

Page 96: Internet security evaluation system documentation nikitha

The project has been appreciated by all the users.

It is easy to use, since it uses the GUI provided in the user dialog.

User friendly screens are provided.

The usage of software increases the efficiency, decreases the effort.

It has been efficiently employed as a Site management mechanism.

It has been thoroughly tested and implemented.

FAQS

What is the most obvious difference between a stand-alone project and Applet?

The most obvious way that stand-alone applications differ from applets is the static main()

method. This method is ignored when a class is run as an applet, but is required to start the

program if the class is run as an application. The difference is based on the environment that

starts the class. This enables the same class to function as either an applet or an application.

Can the same application be implemented in an Applet without changes to

the code?

No. To run stand-alone application a main() method is required whereas, in an Applet we call

the init(), so if an applet is converted to a stand-alone application, these methods must be

Page 97: Internet security evaluation system documentation nikitha

explicitly called in main().

Given the scope of the project, in case it is implemented in applet, does that

result in any overheads?

Yes. Applets are meant to be run in an external viewer, such as a Web browser. Therefore,

applets inherit all the overhead of the viewer in which they are running. Applications, on the

other hand, are meant to be run in the Java interpreter on a local machine. Without the

overhead associated with Java applets, Java applications can provide users with better

performance. Better performance translates to improved response times and, possibly,

increased productivity.

It is fine when stand-alone project handles a file. Cannot an applet

accomplish this?

In Java-enabled browsers, entrusted applets cannot read or write files at all. By default,

downloaded applets are considered entrusted.

Page 98: Internet security evaluation system documentation nikitha

BIBLIOGRAPHY

BIBLIOGRAPHYhttp://wareseeker.com/free-what-is-cryptosyste

www.springerlink.com/index/ur4p561860141805

http://southcentral.edu/cc/course/java.html

ece.gmu.edu/courses/ECE746/project/specs_2006/ECC_IN_SW.pdf

http://privacy.cs.cmu.edu/courses/java3/syllabus.html

Page 99: Internet security evaluation system documentation nikitha