0% found this document useful (0 votes)
92 views

Project Report ON Image Encryption Using Blowfish Algorithm

The document is a project report on image encryption using the Blowfish algorithm. It was submitted by four students to fulfill the requirements for a Bachelor of Technology degree in computer science and engineering. It includes sections on project management, system requirements, system analysis, system design, implementation planning, testing, and conclusions. The report discusses encrypting and decrypting images using the Blowfish encryption algorithm and creating a secure system for storing encrypted images.

Uploaded by

Anuj Singj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views

Project Report ON Image Encryption Using Blowfish Algorithm

The document is a project report on image encryption using the Blowfish algorithm. It was submitted by four students to fulfill the requirements for a Bachelor of Technology degree in computer science and engineering. It includes sections on project management, system requirements, system analysis, system design, implementation planning, testing, and conclusions. The report discusses encrypting and decrypting images using the Blowfish encryption algorithm and creating a secure system for storing encrypted images.

Uploaded by

Anuj Singj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

PROJECT REPORT

ON
IMAGE ENCRYPTION USING BLOWFISH ALGORITHM

UNDER THE GUIDANCE OF Mr. ABHISHEK AGNIHOTRI (C.S.E.


DEPARTMENT)

SUBMITTED TO : SUBMITTED BY :
MR. ROHIT SHARMA ANUJ KUMAR SINGH
HEAD OF DEPARTMENT MANISH PRAJAPATI
COMPUTER SCIENCE & ENGG. RAVI SAROJ
SANTOSH KUMAR SAHANI

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING


DR. AMBEDKAR INSTITUTE OF TECHNOLOGY FOR HANDICAPPED
AWADHPURI, KANPUR- 208024
PROJECT REPORT
ON
IMAGE ENCRYPTION USING BLOWFISH ALGORITHM
BY
ANUJ KUMAR SINGH (1516610010)
MANISH PRAJAPATI (1616610903)
RAVI SAROJ (1616610905)
SANTOSH KUMAR SAHANI (1616610906)

Submitted to the department of Computer Science & Engineering


In partial fulfillment of the requirement of the degree of
Bachelor of Technology
IN
COMPUTER SCIENCE &ENGNEERING

Dr. A.I.T.H
AWADHPURI, KANPUR
Dr. A. P. J. A. K. T. U LUCKNOW
2019
DECLARATION

We hereby declare that this submission is our own work and that, to
the best of our knowledge and belief, it contains no material
previously published or written by another person nor material
which to a substantial extent has been accepted for the award of any
other degree or diploma of the university or other institute of higher
learning except where due acknowledgement has been made in the
text.

NAME SIGNATURE

ANUJ KUMAR SINGH


MANISH PRAJAPATI
RAVI SAROJ
SANTOSH KUMAR SAHANI

DATE: PLACE:
CERTIFICATE

This is to certify that project report entitled “Image Encryption using


Blowfish Algorithm” which is submitted by ANUJ KUMAR SINGH,
MANISH PRAJAPATI, SANTOSH KUMAR SAHANI, RAVI SAROJ final
year B.Tech Computer Science & Engineering in partial fulfillment of
requirement for the award of degree B.Tech in Department of
Computer Science & Engineering of AKTU LUCKNOW, is a record of
the candidate own work carried out them under my supervision. The
matter embodies in this report is original and has not been
submitted for the award of any other degree.

Date Supervisor
ACKNOWLEDGEMENT

First of all, I would love to give my regards to the almighty GOD, my

parents who are more than GOD for me and all family member for making me a

human being and for making me able to make my dream comes true.

It gives me an immense feeling of great pleasure and most sincere regards

and sense of gratitude to my guide for his brilliant and valuable guidance for

completing this project.

I am very much grateful to my guide “Mr. Abhishek Agnihotri Sir” for his

valuable suggestion, helping hand and guidance experienced to me. I am

thankful to my guide for his guidance and the encouragement me for time to

time.
TABLE OF CONTENTS

1. Introduction 1-2

2. Project Management 3-4

3. System Requirement Study 5-18

4. System Analysis 19-22

5. System Design 23-24

6. Implementation Planning 35-36

7. Testing 37-41

8. User Manual 42-43

9. Limitation 44-44

10. Conclusion 45-45

11. References 46-46


1

INTRODUCTION

This website is design to provide image diffusion and encryption facilities to the existing users and

new users according to their qualification, satisfaction and experience inside and outside the country. This

website offers users encrypt and decrypt images according to their need.

Here we are using the technique in which Resolvers can obtain public keys of zones in one of

two ways. Resolvers can utilize the image to query for the public key or they can be statically

configured with the key. Regardless of the method used, problems exist with both. In the case

where keys are obtained through the image, the issue of trusting the key arises. In order to

trust the retrieved key, it must be signed and this signature must be reliable. Providing the

assurance that the signature on the key is reliable means that the public key of the signing

authority must also be obtained, be signed, and be found reliable and so on. The solution to

ending this recursive chain of events is to configure the resolver with the public key that

authenticates the signed keys below it. In other words, a trusted zone key can be used as a

starting point for verifying all keys found below it. A likely set of trusted public keys with which

a secure zone can be statically configured are those of the root zone.

The static configuration of a resolver with the public keys from many different zones has one

advantage in that the compromise of one of the zone's private key does not result in the

compromise of the keys for all the other zones. The disadvantage of statically configuring each
2

resolver with keys for many different zones is that it does not scale well. If one key for one zone

must change, then all the resolvers must be configured to reflect this change.

Project Management

Crypto system is responsible for encrypting the user’s data and provide a secure mechanism to store it in

a virtual drive. This virtual drive will be created by the system for the particular user for the very first while

using the system. This system will provide limited storage area where the data can be saved. As we can

say that, it’s a cloud storage medium where data can be accessed from any location. This system will also

enable you to synchronize your desktop or laptop while using this crypto system

For implementing security mechanism, each user’s should have a valid login id and password and the

verification of user’s account will be done through their valid email id. Upon accessing this crypto system,

users can simply drag and drop their documents from their system to their virtual hard drive where it will

take some time for encrypting the documents and process of encryption and decryption will depend upon

the size of document and their type. User friendly interface has been provided, so that users can easily

access all the provided features. It uses strong bit encryption mechanism and its virtual hard drive and

easily loaded and unloaded at any location as per the user’s choice.

Existing System:

Existing system was not able to perform the encryption procedure before saving the data to the virtual

hard disk and it was not protected by the strong bit encryption mechanism. Simple drag and drop feature

was not available under the existing system and to load these documents users were bound to use the

browse method provided by the html browser. It was not able to perform validation checkup and
3

displaying the type of data during uploading session. It was not able to create multiple virtual drive and

can create single virtual drive only under the desktop or laptop and not to other removable media.

Proposed System:

This new crypto system has been provided with all security check ups which can be performed while

encryption and decryption of documents. Its validation and verification process will be done from the

server side and display the information of various fields such as type of document loaded, its actual size,

date and time under specified virtual drive. The admin of the documents will have the authority to set

parameters for their various documents such as read, write along with advanced operations such as copy

and paste the documents to other virtual drive location. Its strong bit encryption algorithm will make

ensure that others will not able to hack or change their file attributes.
4

SYSTEM REQUIREMENT STUDY

HARDWARE REQUIREMENT

Processor 1.2 GHz (or above)

Ram 128 MB (or above)

Monitor SVGA

Pointing device Mouse

Hard disk 10 GB (or above)

SOFTWARE REQUIREMENT

Operating System Windows 2007/2008/2010

Front End Language

 J2EE

 Java2 (jdk1.6,1.7,1.8)

 Java Server Pages (JSP)

 Servlet

 Hibernate

 Extensible Markup Language (XML)


5

Application Server Tomcat8.0

RDBMS Oracle 10g

RAD Tools Notepad

HTML Editor Macromedia Dreamweaver MX

Scripting Language Java Script

PROJECT CATEGORY

Web Based Application With RDBMS

FRONT END LANGUAGE

JAVA

Object-Oriented Programming

Java is object-oriented programming (OOP). Java was conceived by James Gosling, Patrick

Naughton, Chris Warth, Ed Frank, and Mike Sheridan at Sun Microsystems in 1991. This language was

initially called “Oak” but was renamed “Java” in 1995. The object-oriented methodology is inseparable

from Java, and all Java programs are, to at least some extent, object-oriented. OOP is a powerful way to

approach the job of programming. Programming methodologies have changed dramatically since the

invention of the computer, primarily to accommodate the increasing complexity of programs. To support

the principles of object-oriented programming, all OOP languages, including Java, have three traits in

common: encapsulation, polymorphism, and inheritance.


6

Encapsulation: Encapsulation is a programming mechanism that binds together code and the

data it manipulates, and that keeps both safe from outside interference and misuse. In an object-

oriented language, code and data can be bound together in such a way that a self-contained black box is

created. Within the box are all necessary data and code. When code and data are linked together in this

fashion, an object is created. In other words, an object is the device that supports encapsulation.

Polymorphism: Polymorphism (from the Greek, meaning “many forms”) is a feature that allows

one interface to be used for a general class of actions. The specific action is determined by the exact

nature of the situation. Consider a stack (which is a last-in, first-out list). You might have a program that

requires three types of stacks. One stack is used for integer values, one for floating-point values, and one

for characters. The algorithm that implements each stack is the same, even though the data being stored

differs. In a non– Object-oriented language, you would be required to create three different sets of stack

routines, with each set using different names. However, because of polymorphism, in Java you can specify

a general set of stack routines that all share the same names. More generally, the concept of

polymorphism is often expressed by the phrase “one interface, multiple methods.” This means that it is

possible to design a generic interface to a group of related activities. This helps reduce complexity by

allowing the same interface to be used to specify a general class of action.

Inheritance: Inheritance is the process by which one object can acquire the properties of another

object. This is important because it supports the concept of hierarchical classification. If you think about

it, most knowledge is made manageable by hierarchical (i.e., top-down) classifications. Without the use

of hierarchies, each object would have to explicitly define all of its characteristics. Using inheritance, an

object need only define those qualities that make it unique within its class. It can inherit its general

attributes from its parent. Thus, it is the inheritance mechanism that makes it possible for one object to

be a specific instance of a more general case.


7

The most important characteristic of Java is that it was designed from the outset to be machine

independent. You can run Java programs unchanged on any machine and operating system combination

that supports Java. Of course, there is still the slim possibility of the odd glitch, as you are ultimately

dependent on the implementation of Java on any particular machine, but Java programs are intrinsically

more portable than programs written in other languages. An application written in Java will only require

a single set of source code statements, regardless of the number of different computer platforms on which

it is run. In any other programming language, the application will frequently require the source code to

be tailored to accommodate different computer environments, particularly if an extensive graphical user

interface is involved. Java offers substantial savings in time and resources in developing, supporting, and

maintaining major applications on several different hardware platforms and operating systems. Possibly

the next most important characteristic of Java is that it is object-oriented. The object-oriented approach

to programming is also an implicit feature of all Java programs, so we will be looking at what this implies

later in this chapter. Object-oriented programs are easier to understand and less time consuming to

maintain and extend than programs that have been written without the benefit of using objects.

Security

You are almost certainly aware, every time you download a “normal” program; you are risking a

viral infection. Prior to Java, most users did not download executable programs frequently, and those that

did, scan them for viruses prior to execution. (A malicious program might gather private information, such

as credit card numbers, bank account balances, and passwords by searching the contents of your

computer’s local file system.) Java answers these concerns by providing a firewall between a networked

application and your computer. When using a Java-compatible web browser, it is possible to safely

download Java applets

without fear of viral infection. The way that Java achieves this is by confining a Java program
8

to the Java execution environment and not allowing it access to other parts of the computer.

Java’s Magic: The Bytecode

The key that allows Java to solve both the security and the portability problems just described is

that the output of a Java compiler is not executable code. Rather, it is bytecode. Bytecode is a highly

optimized set of instructions designed to be executed by the Java run-time system, which is called the

Java Virtual Machine (JVM). That is, the Java Virtual Machine is an interpreter for bytecode. Translating a

Java program into bytecode makes it much easier to run a program in a wide variety of environments. The

reason is straightforward: only the Java Virtual Machine needs to be implemented for each platform.

J2EE SERVICE USED IN PROJECT

JSP (Java Server Page)

Java Server Pages (JSP) is a Sun Microsystems specification for combining Java with HTML to

provide dynamic content for Web pages. When you create dynamic content, JSPs are more convenient to

write than HTTP servlets because they allow you to embed Java code directly into your HTML pages, in

contrast with HTTP servlets, in which you embed HTML inside Java code. JSP is part of the Java 2 Enterprise

Edition (J2EE). JSP enables you to separate the dynamic content of a Web page from its presentation. It

caters to two different types of developers: HTML developers, who are responsible for the graphical

design of the page, and Java developers, who handle the development of software to create the dynamic

content.

How JSP Works?


9

Evolution of JSP

HTML produces static web-pages, but today it is necessary for most web sites to have dynamic

content. To generate the content dynamically we need something that can allow us to specify business

logic and that can generate response to the request. The data can then be formatted using HTML.

This is the situation that leads to the invention of HTML documents that is given chance of

embedding the java code for providing the dynamic nature to that document that which was later named

and popularized as Java Server Pages (JSP).

Servlet

Servlet is a server-side running java program that accepts HTTP protocol request and gives HTTP

response back to client running on web browser. In other word Servlet is a small program that runs on

web server. Every Servlet application must be directly or indirectly inherited from Servlet interface. To

prevent developer to implements all the 5 functions of Servlet Interface the recommended class from

which Servlet can be extended is

 javax.servlet.GenericServlet

 javax.servlet.http.HttpServlet

Servlet interface contains 3 lifecycle functions:


10

 public void init(ServletConfig) throws ServletException

 public void service(ServletRequest, ServletResponse) throws ServletException, IOException

 public void destroy()

The Power of Servlets

So far, we have portrayed servlets as an alternative to other dynamic web content Technologies,

but we haven’t really explained why we think you should use them. What makes servlets a viable choice

for web development? We believe that servlets Offer a number of advantages over other approaches,

including: portability, power, Efficiency, endurance, safety, elegance, integration, extensibility, and

flexibility. Let’s examine each in turn.

XML (Extensible Markup Language)

XML usages include how well you can organize data structuredly? When retrieved the data from

DB, we need to manage the data foe something in our application (moves across from one component-

another component, may later sometimes).

The final conclusion on XML is that the only way to exchange information between various layers

of MVC architecture to a platform independent/neutral manner.

JDBC (Java Database Connectivity)

A Java API that enables Java programs to execute Oracle statements. This allows Java programs

to interact with any Oracle-compliant database. JDBC is similar to ODBC, but is designed specifically for

Java programs, whereas ODBC is language-independent. JDBC was developed by Java Soft, a subsidiary of

Sun Microsystems.

ODBC (Open Database Connectivity)


11

The goal of ODBC is to make it possible to access any data from any application, regardless of

which database management system (DBMS) is handling the data. ODBC manages this by inserting a

middle layer, called a database driver, between an application and the DBMS.

HTML (Hyper Text Markup Language)

HTML is a text formatting language for preparing web documents that runs on web

browser. HTML formats hyperlinks text content and renders media content. The first version of

HTML 4 was HTML 4.0, published on 18 December 1997 and revised 24 April 1998. To publish

information for global distribution, one needs a universally understood language, a kind of

publishing mother tongue that all computers may potentially understand. The publishing language

used by the World Wide Web is HTML (Hyper Text Markup Language). The correct structure for

an HTML document starts with <HTML><HEAD> (enter here what document is about)<BODY>

and ends with </BODY></HTML>. All the information you'd like to include in your Web page fits

in between the <BODY> and </BODY> tags.

JAVA SCRIPT

JavaScript is and Interpreted language, rather than a compiled language. JavaScript

language first become in the web browser Netscape Navigator 2. Initially it was called Live Script.

However, because Java was the hot technology of the time, Netscape decided that JavaScript

sounded more exciting. JavaScript was designed to add interactivity to HTML pages JavaScript is

a scripting language (a scripting language is a lightweight programming language). A JavaScript

consists of lines of executable computer code A JavaScript is usually embedded directly into

HTML pages. JavaScript is an interpreted language (means that scripts execute without

preliminary compilation).
12

BACK END TOOL

ORACLE

Oracle is the most widely used database in the world. It runs on virtually every kind of computer.

Oracle can easily be used for simple operations such as entering data and running standard reports. Oracle

is an object-relational database. A relational database is an extremely simple way of thinking about and

managing the data used in a business. It is nothing more than a collection of tables of data. The

information stored in Oracle is kept in tables. Any programming environment used to create container,

manage humane data; can be conceptualize as a database management system. Traditionally the block

of humane data being managed is called the database. Hence, in very simple terms these programming

environments can be conceptualized as database management system in short DBM system.

What is a Relational Database?

The word "database" can be used to describe everything from a single set of data, such as a

telephone list, to a complex set of tools, such as SQL Server, and a whole lot in between. The concept of

a relational database was originally developed back in 1970 by Dr. E.F. Codd. He laid down the theory of

relational databases in his seminal paper entitled “A Relational Model of Data for Large Shared Data

Banks,” published in Communications of the ACM (Association for Computing Machinery), Vol. 13, No. 6,

June 1970.

The basic concepts of a relational database are fairly easy to understand. A relational database is

a collection of related information that has been organized into tables. Each table stores data in rows; the

data is arranged into columns. The tables are stored in database schemas, which are areas where users

may store their own tables. A user may grant permissions to other users so they can access their tables.
13
14

Figure: Relational Database Terminology.

Characteristic of a Relational Database Management System

 It represents complex relationship between data.

 Keeps a type control or data redundancy.

 Enforces user defined rules to ensure the integrity of table data.

 Has a centralized data dictionary for storage of information pertaining to data and its

manipulation.

 Ensures that data can be shared across applications.

 Enforces data access authorization.

 Has an automatic, intelligent backup and recovery procedure for data.

 Have different interfaces via which users can manipulate data.

Introducing the Structured Query Language (SQL)

Structured Query Language (SQL) is the standard language designed to access relational

databases. SQL should be pronounced as the letters “S-Q-L.”

SQL is based on the groundbreaking work of Dr. E.F. Codd, with the first implementation of SQL

being developed by IBM in the mid-1970s. IBM was conducting a research project known as System R, and

SQL was born from that project. Later, in 1979, a company then known as Relational Software Inc. (known

today as Oracle Corporation) released the first commercial version of SQL. SQL is now fully standardized

and recognized by the American National Standards Institute. SQL uses a simple syntax that is easy to

learn and use. You’ll see some simple examples of its use in this chapter. There are five types of SQL

statements, outlined in the following list:

Query statements retrieve rows stored in database tables. You write a query using the
15

SQL SELECT statement.

Data Manipulation Language (DML) statements modify the contents of tables. There are Three

DML statements:

1. INSERT adds rows to a table.

2. UPDATE changes rows.

3. DELETE removes rows.

Data Definition Language (DDL) statements define the data structures, such as tables,

that make up a database. There are five basic types of DDL statements:

1. CREATE creates a database structure. For example, CREATE TABLE is used to create a table;

another example is CREATE USER, which is used to create a database user.

2. ALTER modifies a database structure. For example, ALTER TABLE is used to modify a table.

3. DROP removes a database structure. For example, DROP TABLE is used to remove a table.

4. RENAME changes the name of a table.

5. TRUNCATE deletes all the rows from a table.

Transaction Control (TC) statements either permanently record any changes made to

rows, or undo those changes. There are three TC statements:

1. COMMIT permanently records changes made to rows.

2. ROLLBACK undoes changes made to rows.

3. SAVEPOINT sets a “save point” to which you can roll back changes.

Data Control Language (DCL) statements change the permissions on database structures. There

are two DCL statements:


16

1. GRANT gives another user access to your database structures.

2. REVOKE prevents another user from accessing your database structures.

TOMCAT 8.0 SERVER

Tomcat, developed by Apache, is a standard reference implementation for Java servlets and JSP.
It can be used standalone as a Web server or be plugged into a Web server like Apache, Netscape
Enterprise Server, or Microsoft Internet Information Server. There are many versions of Tomcat. Apache
Tomcat is an open source software implementation of the java servletand javaserver pages technologies.
The Java Servlet and Java Server Pages specifications are developed under the java community process.
Apache Tomcat is developed in an open and participatory environment and released under the Apache.
Apache Tomcat is intended to be a collaboration of the best-of-breed developers from around the world.

Starting and Stopping Tomcat

Before running the servlet, you need to start the Tomcat servlet engine. To start Tomcat, you have

to first set the JAVA_HOME environment variable to the JDK home directory using the following

command.

set JAVA_HOME=c:\Program Files\java\jdk1.8.0_03

The JDK home directory is where your JDK is stored. On my computer, it is c:\Program

Files\jdk1.5.0. You may have a different directory. You can now start Tomcat using the

command startup from c:\jakarta-tomcat-8.0\bin as follows:

c:\jakarta-tomcat-8.0\bin>startup

By default, Tomcat runs on part 8080. An error occurs if this port is currently being used. You can

change it to a different port. To do so, open c:\jakarta-tomcat-5.5.9\conf\server.xml using a text editor

such as NotePad. Search for 8080 and change it to a desired port number such as 8100 in the following

context.
17

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"

port="8080" minProcessors="5" maxProcessors="75"

enableLookups="true" redirectPort="8443"

acceptCount="100" debug="0" connectionTimeout="20000"

useURIValidationHack="false" disableUploadTimeout="true" />

To terminate Tomcat, use the shutdown command from c:\jakarta-tomcat-5.5.9\bin.

Deploying Web Application Using WAR Files

Servlets, JSPs and their supporting files are placed in the appropriate subdirectories under the

webapps directory in Tomcat. For convenience, you can create all the files under the webapps directory

into one compressed file. This file is known as the WAR (Web Application Archive) and ends with the .war

file extension. You can deploy a Web application by placing a WAR file in the webapps directory. When a

Web server begins execution, it extracts the WAR file’s contents into the appropriate webapps

subdirectories.

Creating WAR Files

You can create a WAR file using a tool or the jar command. If you use NetBeans, JBuilder, or

Eclipse, a WAR file is automatically created every time you build the Web project. (e.g., you can find this

file under the dist node in a Web project). To create a WAR file for the examples in Tmocat type the

following command:

jar –cvf project.war .

A WAR file named jportal.war is now created for all files and directories under \webapps\jportal.

The file is in \webapps\jortal\jportal.war.


18

Deploying WAR Files

You can now deploy the WAR file to a new machine. Follow the steps below to test jportal.war:

1. Place jportal.war to \webapps\jportal.war under your Tomcat home directory.

2. Delete the entire directory of project under webapps if it exists.

3. Start Tomcat (if it is already running, you need to shut it down first.) Tomcat automatically extracts

the contents in jportal.war into the appropriate directories. You will see a new directory named

project created under the webapps directory.

4. Enter URL http://localhost:8080/project/FirstServlet to test the servlet.

Setting a Secured Server

You can set the Tomcat server to activate basic HTTP authentication. You need to specify a

security realm, which is a term that defines authorized users. There are three types of realms: Memory,

Database, and JNDI. This section introduces how to set Memory and Database realms.
19

SYSTEM ANALYSIS

System analysis is a management technique which helps us in designing a new system or

improving an existing system. “System” word derived from the word Systema, which means an organized

relationship among the functioning units or components. There are various definitions of the word

System, but most of them seem to have a common idea that suggests that a system is an orderly grouping

of independent components linked together according to a plan to achieve a specific goal.

System analysis is a software engineering task bridges the gaps between system level

requirements engineering and software design. Requirement engineering activity result in the

specification of software operational characteristic indicates software interface with other system

elements and establish constraints that software must meet. Requirement analysis allows the software

engineer to refine the allocation and build models of at, functional and behavioral domains that will be

treated developing the system “Store Management and Automation” I did lot of analysis that what are

the needs, what are the problems faced in existing system

System analysis is a detailed study of the various operations performed by a system and their

relationship within and outside the system. There are four basic elements in system analysis as following:

1. Output: First of all, we must determine what the objectives or goals are, what do we intend to achieve,

what is the purpose of our work; in other words, what is the main aim behind the system.

2. Input: Once we know the output, we can easily determine what the input should be. Sometimes, it

may happen that the required information may not be readily available in the proper form. This may

be because of the existing forms are not properly designed. If the information is vital to the system,

we should make all possible efforts to make it available. The essential elements of inputs are:

 Accuracy
20

 Timelines

 Proper format

3. Files: As the word implies files are used to store data.

4. Process: Here we come to the details of how the input and files are converted into outputs. This

involves the programs and the way in which data is processed through the computer. The processing

steps involve a set of logical steps which is called “Programs”.

SRS DOCUMENT INCLUDE

1. Functional requirements.

2. Nonfunctional requirements.

3. Goals of implementation.

Functional Requirements

These requirements should specify the given inputs, validation condition on inputs,

operations to be performed on the input and corresponding outputs on the operations, equations or

logical operations that must be used to perform inputs to outputs. In addition, some abnormal

inputs, system behavior for invalid inputs must be specified.

Nonfunctional Requirements

Nonfunctional requirements: static and dynamic. A static requirement includes number of

terminals to be supported, number of users to be simultaneous supported; number of files system

has to process and their sizes etc. Dynamic requirements include execution time behavior of the

system such as throughput, response time, expected time for completion of the operation,

acceptable ranges of different performance parameters should be specified.

Goals of Implementation
21

1. This software is being developed keeping in mind not only its reusability but also its future

enhancements.

We should take care that the specific database system to be used as per management

requirement

IDENTIFICATION OF THE NEED

Every time when company is providing their new jobs or giving any special news, its details send

to their clients through post employee lot of paper work and time. The new customers remain unknown

about of all process and their details.

This website is design to provide online jobs facilities to the existing users and new users according

to their qualification, satisfaction and experience inside and outside the country. This website offers

students to access non-degree part-time and full-time employment opportunities on and off campus. As

you look forward to life after college, your first priority should be to focus on the importance of securing

an outstanding first job. That first job, whether it lasts twelve months or forty-five years, will start you on

the path to your future life.

PRELIMINARY INVESTIGATION

The first step in the system development life cycle is the preliminary investigation to determine

the feasibility of the system. The purpose of the preliminary investigation is to evaluate project requests.

It is not a design study nor does it include the collection of details to describe the business system in all

respect. Rather, it is the collecting of information that helps committee members to evaluate the merits

of the project request and make an informed judgement about the feasibility of the proposed project.

Preliminary investigation has three steps:


22

1. Request Clarification: Many requests from student and faculty in organization are not clearly

stated. Therefore, it becomes necessary that project request must be examined and clarified

properly before considering system investigation.

2. Request Approval: Not all the request is desirable or feasible. However those that are both feasible

and desirable should be put into schedule. After a project request is approved, its cost, priority,

completion time, and personal requirement are estimated.

3. Feasibility Study: Feasibility is the determination of whether or not a project is worth doing .The

process followed in making this determination is called a feasibility study. The objective of a feasibility

study is not to solve the problem but to acquire a sense of its scope. The goal of feasibility studies is

to evaluate alternative systems and to propose the most feasible and desirable systems for

developments. The prime focus of the feasibility study is evaluating the practicality of the proposed

system keeping in mind a number of factors.


23

SYSTEM DESIGN

INPUT/OUTPUT DESIGN

The design of an information system produces the details that clearly describe how a system will

meet the requirements identified during systems analysis. Systems analyses begin the design process by

identifying reports and other outputs system will produce. The system design also describes the data to

be input, calculated or stored. Designers select the file structure and storage device, such as magnetic

disk, magnetic tape or even paper files. There are three phase of system design as following:-

Design of Input: Inaccurate input data are the most common cause of errors in data

processing. Errors may occur due to faulty input design. Input design is the process of converting

user-originated inputs to a computer-based format.

The goal of designing input data is to make data entry easy, logical and free from errors.

In entering data the operators need to know the following:

 The allocated space for each field

 Field sequence, which must match that in the source document

 The format in which data fields are entered for example the date may be of different

formats but the user might be required to enter it in only one format. So it is essential for

him to know the exact format in which he should enter data so that later on wrong results

are not obtained after processing the data.

This Project has input screens, designed using Java Server Pages (JSP) and HTML. The

forms are GUI based and are extremely user friendly. The major features of these screens are

listed below:
24

 All fields have labels tags attached to them which is useful for the data entry operator

when is using the forms for data entry.

 Appropriate error messages are provided when the user enters invalid data and gives it

to the system for processing.

Design of Output: Output is the most important and direct source of information to the

user. Efficient intelligent output design improves the system’s relationship with the user and

helps in decision-making. As far as the project is concerned, the outputs are only the various kinds

of views regarding existing users, their acceptance status for different applications.

Design of Files: Design of files is considered as the backbone of the candidate system. It

is the area, which will be handling more data than any other. How well and efficiently the system

is able to retrieve data, process it and put it back depends on how well the database has been

structured and organized. This section and the following subsection throw light on how the

database has been designed for the candidate system.

Choice of DBMS: The relational DBMS as far as implementation models are concerned,

has the facility of adding and dropping indices dynamically as needed. Another advantage of

relational DBMS is that it provides high-level query language interfaces as well as programming

interfaces. For developing the candidate system, Oracle has been chosen as RDBMS. Besides

having all the other advantages of an RDBMS, the main things which clinched issue in it’s favor is

that it is a freeware and it’s connectivity with J2EE, which is being used as front end, is also very

easy.
25

INTERACTION BETWEEN MODULE

1. User

This module keeps the records of its all users i.e. their names, their qualification, their key

skills,and address of residence.

2. Fusion and Defusion

This module helps the user for fusing and defusing the image. User can fuse or defuse the image

according to need, preferred image, client, Skills and size.

3. Encryption and Decrytion

This module helps the user for encrypting and decrypting the image. User can encrypt or decrypt the

image according to need, preferred image, client, Skills and size.

4. Chat

This module helps the one user and othe online users to interact with each other. This module

avoids the face-to-face interaction because it provides the facility of online interaction. Online

interaction means one online user asks the question to the other online users by the internet from

different location and others response in same manner.


26

DATABASE FOR ALL MODULE

Table Name: User_Info

Attributes Field Type Field Constraints Description


Size

FName Varchar2 15 Not Null It has user first name

LName Varchar2 30 Not Null It has user last name

Gender Varchar2 15 Not null It has user gender

Email Varchar2 15 primary key It has user email address

Password Varchar2 8 It has user login password

Table Name: Group_Chat

Attributes Field Type Field Constraints Description


Size

Msg_From Varchar2 15 Not Null It has online user name

Message Varchar2 15 Not Null It has user message

Sent_Date Date It has the message sent date


27

DATA FLOW DIAGRAM

Context Level DFD


28

Second Level DFD


29

ER- DIAGRAM
30

SCREEN LAYOUTS

Users Side Screen Layouts


31
32
33
34
35

IMPLEMENTATION PLANNING

Implementation process comes after performing validation and testing. Implementation includes

all those activities that can take place to convert from old system to new. The new system may be totally

new and could replacing an existing manual or automated system, or it may be a major modification to

an existing system. In either case, proper implementation is essential to provide a reliable system to meet

organization requirements.

Training: A well designed system, if not operated and used properly could fail. A proper training to the

users is important. If not done well it could prevent the successful implementation of an information

system. We have also provided training to the system users. In this training we have given them an

introduction to computers, their input/output devices and also trained them for using the software, how

to enter transactions, master entries etc.

Conversion: Conversion is the process of changing from an old system to a new or modified one.

Conversion should be accomplished quickly as long delays cause frustration. There are four methods

available for conversion.

1. Parallel Conversion: In this method, both old and new system runs in parallel. When the

new system is proven to be functioning, as it should, then the old one is stopped. It is best

in cases when we are replacing a manual system.

2. Direct Cutover: Direct Cutover means that on a specified date, the old system is dropped

and the new one is put into use. For direct cutover to be successful extensive testing is to be

carried out beforehand. It is used in cases when some delays in processing can be tolerated.
36

3. Pilot System: In this method a working version of the system is implemented in one part

of the organization say in a department. The users in this area typically know that they are piloting

a new system and that changes can be made to improve the system. Once the required changes

are carried out and the system is complete, then it is implemented through out the organization

either all at once or phase by phase. It is best when new system involves new techniques and

drastic changes in the organization.

4. Phase-in-method: It is used when it is not possible to implement the system throughout

the organization all at once. Only one phase of the system is implemented at a time. The File

Conversion, training or arrival of equipment may not take place all at once.

The method that we have used for conversion is the ‘Parallel Conversion’ as it is best in cases

when you are changing from a manual system to a computerized one which is our case also. This approach

is most frequently used. This is the most secure method of converting from an old system to a new or

modified one as it provides greatest security. In case of problem or errors in the new system, the old

system is there as back up. Also users are more at ease, as they do not have to make sudden changes to

the new system.


37

TESTING

System Testing is very important issue in system development. In many Organization persons

other than those who have written it perform testing, so that the software will be more reliable. Following

tests can carry out the Testing of system: Testing is a process of executing a program with the intent of

finding an error. A successful test is one that uncovers an as yet undiscovered error.

Testing Principles

The following test principles are described as follows:

1. All tests should be traceable to user’s requirement.

2. Test should be planned long before testing beings.

3. 80% of errors are traceable to 20% of the modules

4. Testing should being in the small and progress to larger components.

5. Exhaustive testing is not possible.

6. Testing is more effective when conducted by an independent party.

White Box Testing

White Box Testing, sometimes called glass box testing is a test case design method that uses the

control structure of the procedural design to derive test cases. White Box Testing considers system to be

like a White box, which means that every thing about the system is known to us. The different programs
38

used in the system, Procedures used, inputs supplied and we know the outputs produced by it in advance.

Person who has developed it generally carries out White Box testing and he/she tests the system against

all odd conditions for extreme values. We tested all the modules independently. In the testing of each

module we tested all the functionality. Righ from New or Add to Exit or Close and Save all were tested. All

the if-else structures with various values supplied at various times were checked. We checked all the loops

used in the system and checked at their boundaries too.

Black Box Testing

Black Box Testing focuses on the functional requirements of the software. It uncovers a different

class of errors than white box testing methods. The end users or the ultimate user carries out Black Box

testing for whom the system is made or some one who not knows how the system is being made. Selecting

some persons of the organizations who have to operate on the system can perform this testing so that

they know what inputs to be given to the system for different options and what should we the output

generated by the system for those values. To perform this test we selected some persons from the

organization and tested the application. They then evaluated that whether the system is working properly

or not. They all found the system working according to specification. Some one who neither knows about

the work carried out by the system nor about how it is developed can even perform this test. Thus testing

of the system by this method can even be done for absurd values, which are unknowingly entered by the

user. The testing of this project is also done accordingly to these above methods so that it can fulfill the

needs, produce all desired output even in the worst possible condition and can prove to be reliable

software. We started the testing of the system right from the Alpha test to Beta test and then Black box

test. Initially it was tested for each and every input give to it and how it responds to those inputs. The

validation and checks which are masked for certain inputs like Names, Numbers, alpha numeric, floating

point numbers ,Unique Fields, Maximum Size, Values and other Special Fields and ranges is working or

not for each and every entry forms. The testing is then done for the different calculations and queries for
39

the different combinations to find the results in the outputs. By running each individual forms as our

Software is developed using event based

concept.

Unit Testing

This involves the test carried out on modules/programs that make up the system. This is also

called program testing. The units in the system are the modules and the routines that are assembled and

integrated to perform a specific function. Since in this kind of testing the main focus is on testing the

correctness of logic applied, we have used the artificial data for unit testing. Artificial data are solely for

test purposes. They are to be generated to test all combinations of format and values. Using this type of

data we have tested all logic and control path through the program. Apart from it, certain other things are

also being checked like entering of invalid data. For ex, in the month of 30 days 31 should not be entered.

Integration Testing

Integration testing is the phase of software testing in which individual software modules are

combined and tested as a group. It follows unit testing and precedes system testing. Intergration testing

takes as a input, modules that have been checked out by unit testing, groups them in larger aggregates,

applies tests defined in an integration test plan to those aggregates, and delivers as its putput, the

integrated system ready for system testing. The purpose of integration testing is to verify functional,

performance and reliability requirements placed on major design items.

System Testing

System testing is conduced on a complete, integrated system to evaluate the system’s

compilence with its specified requirements. As a rule, system testing takes, as its input, all of the

“integrated” software components that have successfully passed integration testing and also the software
40

system itself integrated with any applicable hardware system. In system testing, the entire system can be

tested as a whole against the software requirements specification (SRS). There are rules that describe the

functionality that the vendor (developer) and a customer have agreed upon. System testing tends to be

more of an investigatory testing phase, where the focus is to have a destructive attitude and test not only

the design, but also the behavior and even the believed exceptions of the customer. System testing is

indeed to test up to and beyond the bounds defined in the software requirements specification.

TEST DONE

1. Login Window

S.NO. TEST CASE ID DO EXPECTED RESULT

1. crypto-01 Enter user id in the text box Successful login in to the


specified. User id must not be more system if the values are
that 10 characters and it should not found in the database.
contain only number.

Enter password in the text box


specified. Password must not be less
that 15 characters.

Test Result

FUNCTION PURPOSE TEST CASE NO. OF TEST NUMBER OF TEST


ID(S) CASES SUCCESSFUL

User Login The verification of crypto-01 5 100%


username and
password

2. Registration
41

S.NO. TEST CASE ID DO EXPECTED RESULT

1. crypto-02 Enter user id in the text box Successful login created If


specified user want for itself. the values are not found in
Enter password in the text box the database. User must
specified. Proceed for another choose the Another User id.
registration profile. User must fill all his/her
detailed profile in the
account.

Test Result

FUNCTION PURPOSE TEST CASE NO. OF TEST NUMBER OF TEST


ID(S) CASES SUCCESSFUL

User The verification crypto-02 5 80%


Registration of username
that it is already
present or not.
Verify the
Password and E-
mail id. Check
that the entire
compulsory
field is filled or
not.
42

USER MANUAL

One of the most important aspects of any project is security mechanism. We use many securities

to solve the unwanted person access.

Password

A password is a unique string of characters that a user types in as an identification code. The

system compares the code against a stored list of authorized passwords and users. If the code is

legitimate, the system allows the user access, at whatever security level has been approved for the owner

of the password.

A password of the system is automatically kept by user and not easily traceable through at the

development time this was avoided and it was only shared with database administrator and ask to change

from time to time. All the forms and reports executables were kept on the server and shared by user to

provide software consistency.

Security from Virus

A good virus scan program will check all the messages. If any mail will have virus this scanner will

discard that mail automatically.

Database Security

A database Security s very important to secure their data for security practices for protecting

Oracle database applications. These options are independent of any additional security measures at the

operating system level.


43

Database supports several and methods of file protection:

User Oracle restriction

File open protection

You can set a password to control opening the database.

Source code protection

Database encryption

You can use database encryption to prevent unauthorized users from viewing the objects in an

application with a disk editor or other utility program. You can use encryption in conjunction with all other

methods of protecting an application.

User level security is the most flexible and secure method of protecting sensitive data, code, and

object design in a database application developed in Oracle. In addition, user level security is the only

form of Oracle security that allows you to establish different levels of Oracle to sensitive data and objects.
44

LIMITATION

The Current Project CRYPTOGRAPHY has as well - few limitations implicated intentionally as –

1. I have used Oracle 10g Database product which cost is high.

2. Although user is interacted with company but he is given not much facility to communicate

directly with the Administrator.

3. Login from same place for companies and administrator is a drawback in terms of legal security

of the website.

4. As mostly there area jsp pages, java beans classes are less integrated which are used to restrict

and secure the process to be directly accessed from hackers or unauthorized person encoding and

encrypting in secure classes.

5. Owner required to have a Tomcat server support to run the application Online.
45

CONCLUSION

The project “CRYPTOGRAPHY” is generalized software and can be easily used in any

consultancy department. The change in software can be easily accommodated.

The improvement in turnover of company up to any extent will be supported by software. The

software will be able to provide its best facilities in case company starts online transactions in future. In

this project, all the activities of the organization are performed manually.

To overcome all kind of problems being faced by organization. My project “CRYPTOGRAPHY”

will provide efficient and cost effective solution and always have possibilities of enhancement up any

legal extent to satisfy user requirement.

Further enhancement may include technical forum, Audio Encryption, mailing server/voice mail

& Video Encryption and some extended modules.


46

References

SOFTWARE ENGINEERING: Roger. S. Pressman.

THE COMPLETE REFERENCE JAVA-2: Patrick Naughtion & Herbert Schildt.

PROF. JAVA SERVER PROGRAMMING J2EE1.3: Subrahamanyam Allamaraju, Cedric Buest-Wrox Pub.

Prof. Jsp / Jstruts1.1: James Goodwill, Richard Hightower .

JAVA SCRIPT: Evan Baros.

DEVELOPING JAVA SERVLETS: James Goodwill, Techmedia

INTRODUCTION TO RDBMS: Vipin C. Desai.

WEBSITES REFERENCED

www. learncryptography.com (Overview And Basic Functionality)

www. Crypto101.io (Overview And Basic Functionality)

www. java.sun.com (Java, Jsp, Servlet And Its Related Informations)

www. Oracle.com (Basic Informations Of Oracle 9i And Pdfs)

www.cs.ucl.ac.uk (Project Planning And Scheduling)

www.engin.umd.umich.edu (Software Testing Strategies)

www.GeekInterview.com (Introductions And Differences )

www.roseindia.net (Java, Jsp, Servlet, Oracle Basic Informations)

You might also like