Vous êtes sur la page 1sur 41

Secure Encryption System

INTRODUCTION
1.1 Purpose:
People are reluctant to admit it, but the world revolves around secrets. Without secrets, there
would be no privacy—everybody's personal and business information would be open to public
inspection. It would be impossible to safeguard a personal or business identity, keep a lid on
future plans, conduct financial transactions, or even maintain a bank account.

In the computer world, secrets are protected by encryption technologies. Unlike a password,
which is simply a key that provides access to information, encryption is designed to make an
entire body of information unreadable. In laymen's terms, encryption converts plain text into a
secret code for transmission over a public network, such as the Internet.

There are two main ways to encrypt information. One approach is to use asymmetric public-key
infrastructure (PKI) encryption. PKI cryptography is based on a pair of cryptographic keys—one
is private and known only to the user, while the other is public and known to the opposite party
in any exchange. PKI technology can be used in any data exchange requiring identification and
authorization of transacting parties. It provides privacy and confidentiality, access control, proof
of document transmission, and document archiving and retrieval support. While most security
vendors currently incorporate some type of PKI technology into their software, differences in
design and implementation prevent interoperability between products.

 Scope

Secure Encryption System is a Network and Security Application which is used for Encrypting
and Decrypting a file. Secure Encryption system uses Rijndael Algorithm for Encryption and
Decryption methodology. A file is been encrypted and is been passed over the network and the
other end of system it is been decrypted. Rijndael Algorithm is one of most popular Algorithms
used for Encryption as well as Decryption methodologies.

1|Page
Maheshwara Engineering College
Secure Encryption System

 PROJECT OVERVIEW


Secure Encryption System consists Rijndael Algorithm with which whole project coding is been
developed. This tool will accept a file and encrypts it and gives an output file with decryption
file. This project is mainly consists implementation of Rijndael Algorithm.

 Encryption Concept


Encryption is the process of transforming information from an unsecured form ("clear" or
"plaintext") into coded information ("cipher text"), which cannot be easily read by outside
parties. An algorithm and a key control the transformation process. The process must be
reversible so that the intended recipient can return the information to its original, readable form,
but reversing the process without the appropriate encryption information should be impossible.
This means that details of the key must also be kept secret.

Encryption is generally regarded as the safest method of guarding against accidental or


purposeful security breaches. The strength of the encryption method is often measured in terms
of work factor - the amount of force that is required to 'break' the encryption. A strong system
will take longer to break, although this can be reduced by applying greater force (the more effort
that is put into the attack, the less time required to break the code).

1.4 PROJECT DESCRIPTION

There are three basic elements in any encryption system:


-- a means of changing information into code (the algorithm);
-- a secret starting point for the algorithm (the key); and
-- a system to control the key (key management).
The key determines how the algorithm - the encryption process - will be applied to a particular
message, and matching keys must be used to encrypt and decrypt messages.

2|Page
Maheshwara Engineering College
Secure Encryption System

The algorithm used in an encryption system normally remains the same for the life of the
equipment, so it is necessary to change keys frequently in order that identical encryption is not
applied to messages for a long period. It is generally desirable to change the keys on an irregular
but managed basis. Key management deals with the generation, storage, distribution, selection,
destruction and archiving of the key variables. Two basic types of encryption in use today are
known as private key (also called single or symmetrical key) encryption and public (or
asymmetrical) key encryption.

In private key encryption, the same key is used for both encryption and decryption. The key must
be kept secret so that unauthorized parties cannot, even with knowledge of the algorithm,
complete the decryption process. A person trying to share encrypted information with another
person has to solve the problem of communicating the encryption key without compromising it.

Public key encryption solves the problem of maintaining key security by having separate keys
for encryption and decryption, which uniquely match each other but are not predictable from
each other. The user retains a private decryption key and makes the public key available for use
by anyone interested in sending the user sensitive information. The relationship between the keys
is such that given the public key a person cannot easily derive the private key.

3|Page
Maheshwara Engineering College
Secure Encryption System

2.SYSTEM ANALYSIS

PROBLEM DEFINITION

2.1 Existing System

 Developed for any one Operating System.


 Supports any one either command mode or graphical mode only.
 Usually available as a built in utility in the system.
 Should be applicable for any kind of file Size.

2.2 Proposed System

 Secure Encryption System is supposed to run with Java runtime environments version 1.4
and higher. This has the advantage of working under most operating systems in use
today.
 Write the code to execute as Command mode and Graphical Interface
 Provide interactive interface through which user can interact with different types of File
Size.

2.3 User Classes and Characteristics


In an effort to replace DES, the National Institute of Standards and Technology (NIST) started
the task to implement a new standard. The Advanced Encryption Standard (AES) would be "an
unclassified, publicly disclosed encryption algorithm(s), available royalty-free, worldwide."
There were several factors that would need to be considered in the algorithm’s design. Security
would be the most important factor, as the algorithm would need to be able to withstand attacks
into the future. It would need to be simple and publicly available as well. This way the
cryptography community could easily examine it for security and efficiency. Performance would

4|Page
Maheshwara Engineering College
Secure Encryption System

also be a consideration. The algorithm would need to operate fast and effectively on several
different platforms ranging from personal computers to smart cards.

2.4 Operating Environment:

Software Requirements are Windows as Operating System, Linux or Mac operating system. Java
2 standard edition, Java swings.

Hardware Requirements are P2 above processor, 128MB+ of main memory (RAM) and 100MB
hard disk and data base memory. LAN connection or internet connection.
.

2.5 Design and Implementation Constraints


This project will be developed using the technologies like Java 2 standard edition, Java swings.
Also I’ll be learning clearly about Software Development Life Cycle

2.6 User Documentation


In the user manual the information regarding our product which can be understandable by a new
person who is going to use it will be provided. If a new person is using it, online help will be
provided in that.
.

2.7 Module Description


In this we have 2 modules
 Encryption
 Decryption

5|Page
Maheshwara Engineering College
Secure Encryption System

Encryption:
Encryption is the process of transforming information from an unsecured form ("clear" or
"plaintext") into coded information ("cipher text"), which cannot be easily read by outside
parties. An algorithm and a key control the transformation process. The process must be
reversible so that the intended recipient can return the information to its original, readable form,
but reversing the process without the appropriate encryption information should be impossible.
This means that details of the key must also be kept secret.

Encryption is generally regarded as the safest method of guarding against accidental or


purposeful security breaches. The strength of the encryption method is often measured in terms
of work factor - the amount of force that is required to 'break' the encryption. A strong system
will take longer to break, although this can be reduced by applying greater force (the more effort
that is put into the attack, the less time required to break the code).

Decryption:
The algorithm used in an encryption system normally remains the same for the life of the
equipment, so it is necessary to change keys frequently in order that identical encryption is not
applied to messages for a long period. It is generally desirable to change the keys on an irregular
but managed basis. Key management deals with the generation, storage, distribution, selection,
destruction and archiving of the key variables. Two basic types of encryption in use today are
known as private key (also called single or symmetrical key) encryption and public (or
asymmetrical) key encryption.
In private key encryption, the same key is used for both encryption and decryption. The key must
be kept secret so that unauthorized parties cannot, even with knowledge of the algorithm,
complete the decryption process. A person trying to share encrypted information with another
person has to solve the problem of communicating the encryption key without compromising it.
This is normally achieved by programming keys into all encrypt prior to deployment, and the
keys should be stored securely within the devices. Public key encryption solves the problem of

6|Page
Maheshwara Engineering College
Secure Encryption System

maintaining key security by having separate keys for encryption and decryption, which uniquely
match each other but are not

predictable from each other. The user retains a private decryption key and makes the public key
available for use by anyone interested in sending the user sensitive information. The relationship
between the keys is such that given the public key a person cannot easily derive the private key.

Senders use the recipient's public key to send encrypted messages. Recipients use their
corresponding private key to decrypt messages. The private key can also be used to encrypt
messages, which can be decrypted by anyone with knowledge of the public key (the purpose of
this is to provide verification of the origin rather than to achieve secrecy). Public key encryption
is relatively inefficient and is not suitable for either encrypting large volumes or operating at
high speeds. The RSA algorithm is a well-known form of public key encryption.

2.8 HARDWARE AND SOFTWARE REQUIREMENTS


2.8.1 Hard Ware Requirements

 Processor:: Pentium-III (or) Higher


 Ram:: 64MB (or) Higher
 Cache:: 512MB
 Hard disk:: 10GB

2.8.2 Soft Ware Requirements

 Tools:: Micro Soft Front


 Operating System:: WindowsNT/2000
 Client Side:: GUI

7|Page
Maheshwara Engineering College
Secure Encryption System

FEASIBILITY STUDY

3. FEASIBILITY STUDY:

The next step in analysis is to verify the feasibility of the proposed system. “All projects are
feasible given unlimited resources and infinite time“. But in reality both resources and time are
scarce. Project should confirm to time bounce and should be optimal in there consumption of
resources.

Feasibility has applied to Secure Encryption System pertains to the following areas:
 Technical feasibility
 Operational feasibility

TECHNICAL FEASIBILITY:
As we are developing this Secure Encryption System Application on Java 2 platform edition
which is an open source and free of cost. Once we started developing this application in Java 2
platform edition then they is no need of purchasing any special software or application software
for support. Java it self provides all necessary functionalities and resources for developing
Secure Encryption System Application. For Example like developing GUI can be developed by
AWT or Swing Framework which is much available in Java.

OPERATIONAL FEASIBILITY:
To determine the operational feasibility of the system we should take into consideration the
awareness level of the users. Users who are using this Secure Encryption system don’t require
much knowledge of how to use. Just Users should have basic concept of what is Secure
Encryption system? Every thing will be understood by user once he sees the application.

8|Page
Maheshwara Engineering College
Secure Encryption System

SYSTEM DESIGN
4.SYSTEM DESIGN:
System design is transition from a user oriented document to programmers or data base
personnel. The design is a solution, how to approach to the creation of a new system. This is
composed of several steps. It provides the understanding and procedural details necessary for
implementing the system recommended in the feasibility study. Designing goes through logical
and physical stages of development, logical design reviews the present physical system, prepare
input and output specification, details of implementation plan and prepare a logical design
walkthrough.

SOFTWARE DESIGN

In designing the software following principles are followed:

1. Modularity and partitioning: software is designed such that, each system should consists of

hierarchy of modules and serve to partition into separate function.

2. Coupling: modules should have little dependence on other modules of a system.

3. Cohesion: modules should carry out in a single processing function.

4. Shared use: avoid duplication by allowing a single module is called by other that need the

function it provides

9|Page
Maheshwara Engineering College
Secure Encryption System

4.1 DATA FLOW DIAGRAMS

Level 0 DFD for Users

Level-1 Subsystem Level:

10 | P a g e
Maheshwara Engineering College
Secure Encryption System

Level-2: Detailed Level

11 | P a g e
Maheshwara Engineering College
Secure Encryption System

4.2 UML Diagrams

Use Case:

Selecting the file

Encryptionof selected File

New File is Created


User

Decryption of New File

Orignal File after Decryption

12 | P a g e
Maheshwara Engineering College
Secure Encryption System

Class Diagram:
AlgoFrame PasswordDialog MsgBox
main() jbinit() jbinint()
jbinit() actionPerformed() actionPerformed()
file TextFeild
location Button TextArea
Button
Border

SPI Rijndael Algorithm Rijndael Properties


engineInit() mul() getProperty()
setKey() makeKey() list()
decrypt() blockEncrypt() propertyNames()
encrypt() blockDecrypt() isTraceable()
Blocksize alog Key
KeySize log Value
key label

13 | P a g e
Maheshwara Engineering College
Secure Encryption System

Sequence:

Selecting File Encryption Decryption

User

Selecting File for Encryption


File Encryption

File Created Creates a New File


Validating Key
Select a Newly Created File for Decrytpion

Returns the Original File after Decryption

14 | P a g e
Maheshwara Engineering College
Secure Encryption System

Activity Diagram:

File Encryption

Creates a New Encrypted File


Selecting File for Encryption/Decryption

Encryption after Validating Key


Decryption

Output Orginal File

15 | P a g e
Maheshwara Engineering College
Secure Encryption System

A collaboration diagram is an interaction diagram that emphasizes the structural organization


of the objects that send and receive messages
The current trend in the software industry is user-friendliness and flexibility. The two main
factors contributing towards this are screen and Menus. The screens in the system are designed
to be self descriptive so as to direct the user while using the system. The screen formats is user-
friendly and interactive in nature. The screen size is also standardized.

Input design:

Inaccurate input data are most common cause of errors in data processing. Input interface design

takes an important role in controlling the errors. Messages are generated using the Exception

handling features of JAVA. The input forms are designed in a flexible way. Sample input forms

are shown in the appendix.

Output design:

Output design determines how to show all the information and data after processing the input

data. Sample output screens and reports are shown in the appendix.

IO (Input Output) Charts technique is used to know the set or specifications for each module.

For each module depicted in the hierarchy chart an IO chart is used to describe the input to,
theoutputs form and the process performed by the activity. The data dictionary is the source of
inputand outputs and algorithm description defines the process. The administrator and the user
can easily follow the project structure depicted by the graphic of the IO charts

16 | P a g e
Maheshwara Engineering College
Secure Encryption System

5.IMPLEMENTATION

OVERVIEW OF SOFTWARE DEVELOPMENT TOOLS

5.1 Software
The life-cycle paradigm demands a systematic, sequential approach to software development that
begins at the system level and progresses through requirements analysis, design, coding, testing
and maintenance.

a) Analysis Phase:
The analysis phase consists of two sub phases: planning and requirements definition. During
planning the activities that are performed are - understand the customer’s problem, developing a
recommended solution. Requirements definition is concerned with identifying the basic
functions of a software component in a hardware/software/people system.

b) Design Phase:
Design is concerned with identifying software components, specifying relationships among
components, maintaining a record of design decisions. Design consists of architectural design
and detailed design.
i) Architectural Design involves identifying the software components, decoupling and
decomposing them in to processing modules and conceptual data structures and specifying the
interconnection between the components.
ii) Detailed Design is concerned with the details of how to package the processing modules and
how to implement the processing algorithms, data structures and interconnection between them.

17 | P a g e
Maheshwara Engineering College
Secure Encryption System

c) Implementation Phase:
The implementation phase of software development involves translation of design specifications
source code and debugging, documentation and unit testing of the source code.

d) Testing Phase:
It involves two kinds of testing:
i) In integration testing the individual program units or programs are integrated and tested.
ii) Acceptance Testing involves planning and execution of various types of tests in order to
demonstrations that the implemented software satisfies the stated requirements.

5.2 Java And Its Features

Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank and Mike
Sheridan at SUN Microsystems Incorporation in the year 1991.It took 18 months to develop the
1st working version. This language was initially called “OAK”, but was renamed “JAVA” in
1995, many more contributed to the design and evolution of the language.

Java Overview

Java is a powerful but lean object-oriented programming language. It has generated a lot of
excitement because it makes it possible to program for Internet by creating Applets. Programs
that can be embedded in web page. The context of an applet can be an animation with sound, an
interactive game or a ticker tape. With constantly updated stock prices. Applets can be just little
decorations to liven up web page, or they can be serious applications like Word processor or
Spreadsheet.

18 | P a g e
Maheshwara Engineering College
Secure Encryption System

But Java is more than a programming language for writing Applets. It is being used more and
more for writing standalone applications as well. It is becoming so popular that many people
believe it will become standard language for both general purpose and Internet programming.
There are many buzzwords associated with Java, but because of its spectacular growth in
popularity, a new buzzword has appeared ubiquitous. Indeed, all indications are that it will soon
be everywhere.
Java builds on the strength of C++. It has taken the best features of C++ and discarded the more
problematic and error prone parts. To this lean core, it has added garbage collection (automatic
memory management), multithreading (the capacity for one program to do more than one thing
at a time), security capabilities. This result is that Java is simple, elegant, and powerful and easy-
to-use.
Java is actually a platform consisting of 3 components:
Java Programming Language.
Java Library of Classes and Interfaces.
Java Virtual Machine

The following sections will say more about these components.

Java Is Portable
One of the biggest advantages Java offers is that it is portable. An application written in Java will
run on all the major platforms. Any computer with a Java-based browser can run the applications
or Applets written in the Java-Programming-Language. A programmer no longer has to write one
program to run on a Macintosh, another program to run on a Windows-machine still another to
run on a UNIX-machine and so on. In other words, with Java developers write their programs
only once.
The Virtual Machine is what gives Java is cross platform capabilities. Rather being compiled
into machine language, which is different for each OS’s and computer architecture, Java code is
compiled into Byte codes.With other languages, the program code is compiled into a language
that the computer can understand. The problem is that other computers with different machine
instruction set cannot understand that language. Java code on the other hand is compiled into

19 | P a g e
Maheshwara Engineering College
Secure Encryption System

Byte-Code rather than a machine language. These byte codes go to the JVM, which executes
them directly or translates them into the language that is understood by the machine running it.
In summary, these means that with the JDBC API extending Java, a programmer writing Java
code can access all the major RDBMS on any platform that supports the JVM.

Java Is Object-Oriented

The Java programming language is OBJECT-ORIENTED, which makes program design focus
on what you are dealing with, rather than on how your are going to do something. This makes it
more useful for programming in sophisticated projects, because one can break the things into
understandable components. A big benefit is that these components can then be reused.
Object-Oriented Languages use the paradigm of classes. In simplest term, a class includes both
the data and the functions to operate on data. You can create an instance of a class, also called an
object, which will have all the data members and functionality of its class. Because of this, you
can think of a class as being like template, with each object being a specific instance of a
particular type of class.
The class paradigm allows one to encapsulate data so that specific data values are those using the
data cannot see the function implementation. Encapsulation makes it possible to make the
changes in code without breaking other programs that use that code.
If for example, the implementation of a function is changed, the change is invisible to any
programmer who invokes that function, and does not affect his/her program, except hopefully to
improve it.
Java includes inheritance, or the ability to derive new classes from existing classes. The derived
class, is also called as Sub-Class, inherits all the data in the functions of the existing class.

20 | P a g e
Maheshwara Engineering College
Secure Encryption System

Java Devolpment Evnironment


To code, edit, debug and test the java programs, one needs to have a java development
environment. At the minimum this will consists of a java compiler interpreter and applet viewer
where applets can be tested. Sun’s java development kit (JDK) latest version is 2.2 can be freely
downloaded from the Internet. Java compiler is available on DOS, Win95, WIN’NT, Solaris and
MAC etc.
Data flow diagram is a graphical tool used to describe analyze the movement of data through a
system manual or automated including the processes, stores of data, and delays in the system.
Data flow diagrams are the central tool and basis for form which other components are
developed. The data flow diagram is also known a data flow graph or bubble chart.

Context diagram:

A context diagram is a top level (also known as level 0) data flow diagram. It only contains one

process node (process 0) that generalizes the function of the entire system in relationship to

external entities.

The top-level diagram is often called a “context diagram”. It contains a single process, but it
plays a very important role in studying the current system.
The context diagram defines the system that will be studied in the sense that it determines the
boundaries.
Anything that is not inside the process identified in the context diagram will not be part of the
system study.
It represents the entire software element as a single bubble with input and output data indicated
by incoming and outgoing arrows respectively.

First level DFD:


21 | P a g e
Maheshwara Engineering College
Secure Encryption System

The first level DFD shows the main processes within the system. Each of these processes can be

broken into further processes until you reach pseudo code. The major processes in our system are

issue raising, issue resolving, search process and report generation on issues and generating a

first level DFD for each individual field.

Detailed level DFD:

This level explains each process of the system in a detailed manner. In first detailed level DFD

(generation of individual fields): how data flows through individual process/fields in it are

shown. In second detailed level DFD (generation of detailed process of the individual fields):

how data flows through the system to form a detailed description of the individual processes.

System components:

Symbolizes process

Symbolizes data flow

Symbolizes External entity

22 | P a g e
Maheshwara Engineering College
Secure Encryption System

Symbolizes data store

The data flow diagram is one of the most important tools used for the system analysis.

ADEMACRO (1978) and SARSON (1979) populated the use of data flow diagrams as modeling

tool through their structured analysis methodologies. They suggested that a data flow diagram

should be the first tool used by the analyst to model the system components. There are four types

of system components. They are

Process:

Process shows what system does. A process is represented by a circle as shown above. Each

process is given a unique name and a unique number. Each process takes one or more data inputs

and produces one or more data outputs.

Data flows:

Data flows made the passage of data and are represented by the line joining the system

components. An arrow is used to indicate the direction of data flow shown in the above and the

line is labeled by the name of the data flow.

Data stores:

Data store is used to represent the repository of the data that maintains in the system. A process
can

23 | P a g e
Maheshwara Engineering College
Secure Encryption System

External Entities:

External entities are the out side the system but they either supply input into system or use

system output. The designer has to control over these entities. These are represented by a square

or rectangle outputs as shown in the above.

The context level data flow diagram shown above gives a brief idea about the flow of data

should be and it is also shows the control if some data are invalid.

24 | P a g e
Maheshwara Engineering College
Secure Encryption System

6.UML Concepts

The Unified Modeling Language (UML) is a standard language for writing software blue prints.
The UML is a language for
 Visualizing
 Specifying
 Constructing
 Documenting the artifacts of a software intensive system.
The UML is a language which provides vocabulary and the rules for combining words in that
vocabulary for the purpose of communication. A modeling language is a language whose
vocabulary and the rules focus on the conceptual and physical representation of a system.
Modeling yields an understanding of a system.

6.1 Building Blocks of the UML:


The vocabulary of the UML encompasses three kinds of building blocks:
 Things
 Relationships
 Diagrams
Things are the abstractions that are first-class citizens in a model; relationships tie these things
together; diagrams group interesting collections of things.

Things in the UML:


There are four kinds of things in the UML:
 Structural things

25 | P a g e
Maheshwara Engineering College
Secure Encryption System

 Behavioral things
 Grouping things
 Annotational things

Structural things are the nouns of UML models. The structural things used in the project design
are:
First, a class is a description of a set of objects that share the same attributes, operations,
relationships and semantics.

Window
origin
size
open()
close()
move()
display()

Fig: Classes

Second, a use case is a description of set of sequence of actions that a system performs that
yields an observable result of value to particular actor.

Fig: Use Cases


Third, a node is a physical element that exists at runtime and represents a computational
resource, generally having at least some memory and often processing capability.

26 | P a g e
Maheshwara Engineering College
Secure Encryption System

Fig: Nodes

Behavioral things are the dynamic parts of UML models. The behavioral thing used is:
Interaction:
An interaction is a behavior that comprises a set of messages exchanged among a set of objects
within a particular context to accomplish a specific purpose. An interaction involves a number of
other elements, including messages, action sequences (the behavior invoked by a message, and
links (the connection between objects).

Fig: Messages

6.2 Relationships in the UML:


There are four kinds of relationships in the UML:
 Dependency
 Association
 Generalization
 Realization
A dependency is a semantic relationship between two things in which a change to one thing may
affect the semantics of the other thing (the dependent thing).

Fig: Dependencies

27 | P a g e
Maheshwara Engineering College
Secure Encryption System

An association is a structural relationship that describes a set links, a link being a connection
among objects. Aggregation is a special kind of association, representing a structural relationship
between a whole and its parts.

Fig: Association

A generalization is a specialization/ generalization relationship in which objects of the


specialized element (the child) are substitutable for objects of the generalized element (the
parent).

Fig: Generalization

A realization is a semantic relationship between classifiers, where in one classifier specifies a


contract that another classifier guarantees to carry out.

Fig: Realization
sample Code:
public static Object makeKey (byte[] k) throws InvalidKeyException
public static byte[]
blockEncrypt (byte[] in, int inOffset, Object sessionKey)
public static byte[]
blockDecrypt (byte[] in, int inOffset, Object sessionKey)
public static synchronized Object makeKey (byte[] k, int blockSize)
throws InvalidKeyException
public static byte[]
blockEncrypt (byte[] in, int inOffset, Object sessionKey, int blockSize)
public static byte[]

28 | P a g e
Maheshwara Engineering College
Secure Encryption System

7 .SOFTWARE TESTING
Testing
Software testing is a critical element of software quality assurance and represents the ultimate
review of specification, design and code generation.

7.1 TESTING OBJECTIVES

 To ensure that during operation the system will perform as per specification.
 TO make sure that system meets the user requirements during operation
 To make sure that during the operation, incorrect input, processing and output will
be detected
 To see that when correct inputs are fed to the system the outputs are correct
 To verify that the controls incorporated in the same system as intended
 Testing is a process of executing a program with the intent of finding an error
 A good test case is one that has a high probability of finding an as yet
undiscovered error

The software developed has been tested successfully using the following testing strategies and
any errors that are encountered are corrected and again the part of the program or the procedure
or function is put to testing until all the errors are removed. A successful test is one that uncovers
an as yet undiscovered error.

29 | P a g e
Maheshwara Engineering College
Secure Encryption System

Note that the result of the system testing will prove that the system is working correctly. It will
give confidence to system designer, users of the system, prevent frustration during
implementation process etc.

7.2 TEST CASE DESIGN:

White box testing

White box testing is a testing case design method that uses the control structure of the procedure
design to derive test cases. All independents path in a module are exercised at least once, all
logical decisions are exercised at once, execute all loops at boundaries and within their
operational bounds exercise internal data structure to ensure their validity. Here the customer is
given three chances to enter a valid choice out of the given menu. After which the control exits
the current menu.

Black Box Testing

Black Box Testing attempts to find errors in following areas or categories, incorrect or missing
functions, interface error, errors in data structures, performance error and initialization and
termination error. Here all the input data must match the data type to become a valid entry.
The following are the different tests at various levels:

Unit Testing:
Unit testing is essentially for the verification of the code produced during the coding phase
and the goal is test the internal logic of the module/program. In the Generic code project,
the unit testing is done during coding phase of data entry forms whether the functions are
working properly or not. In this phase all the drivers are tested they are rightly connected or
not.

30 | P a g e
Maheshwara Engineering College
Secure Encryption System

Integration Testing:
All the tested modules are combined into sub systems, which are then tested. The goal is to
see if the modules are properly integrated, and the emphasis being on the testing interfaces
between the modules. In the generic code integration testing is done mainly on table
creation module and insertion module.

Validation Testing
This testing concentrates on confirming that the software is error-free in all respects. All the
specified validations are verified and the software is subjected to hard-core testing. It also aims at
determining the degree of deviation that exists in the software designed from the specification;
they are listed out and are corrected.

System Testing
This testing is a series of different tests whose primary is to fully exercise the computer-based
system. This involves:
 Implementing the system in a simulated production environment and testing it.
 Introducing errors and testing for error handling.

7.3 TEST CASES

TEST CASE 1:

Test case for Unknown Key for Decryption:


If we are giving Invalid key for Decryption process after Encryption then we are going to get
Error Message as “Invalid Key “.
Test Case for Incorrect key Length
If we are providing incorrect key length for key then we are going to get Error Message as
“Incorrect Key Length “.

31 | P a g e
Maheshwara Engineering College
Secure Encryption System

8. OUTPUT SCREENS

32 | P a g e
Maheshwara Engineering College
Secure Encryption System

33 | P a g e
Maheshwara Engineering College
Secure Encryption System

34 | P a g e
Maheshwara Engineering College
Secure Encryption System

35 | P a g e
Maheshwara Engineering College
Secure Encryption System

36 | P a g e
Maheshwara Engineering College
Secure Encryption System

37 | P a g e
Maheshwara Engineering College
Secure Encryption System

38 | P a g e
Maheshwara Engineering College
Secure Encryption System

CONCLUSIONS

Historically, encryption's main use has been to protect files stored on a hard drive or floppy
disk. Encryption ensures that if a protected computer or disk should fall into the wrong hands,
the contained information will be indecipherable.

With most computers now connected to the Internet, there's a critical need to protect both
e-mail and attached files. Encryption allows users to send and receive information over public
networks without worrying about whether their communications will be intercepted and used by
unauthorized parties.

Encryption is also playing an increasingly important role in the emerging e-commerce


economy.. Encryption is also being used to protect much of the intellectual content that's
marketed on the Web, such as music, videos, articles, and software, restricting its availability to
paying customers.

39 | P a g e
Maheshwara Engineering College
Secure Encryption System

APPENDIX

ABBREVATIONS:

DFD: Data Flow Diagrams


GUI: Graphical User Interface

40 | P a g e
Maheshwara Engineering College
Secure Encryption System

BIBILIOGRAPHY

Advanced Java Programming - Dietel and Dietel

Mastering JAVA 2 - John Zukowski

Java Server Programming - Apress

Software Engineering - Roger S Pressman

Analysis & Design of Information Systems - Senn

The Design of Rijndael: AES - The Advanced Encryption Standard


(Information Security and Cryptography) – By Joan Daemen (Author), Vincent
Rijmen (Author).

Websites

www.eci.gov.in

www.google.com

www.apeci.com

www.askjeeves.com

41 | P a g e
Maheshwara Engineering College