Doubble Encription

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 60

CHAPTER 1

INTRODUCTION
PROJECT DESCRIPTION
In this project Encryption is the conversion of data into a form, called a
cipher text that cannot be easily understood by unauthorized people. Decryption is the
process of converting encrypted data back into its original form, so it can be understood.
The use of encryption/decryption is as old as the art of communication. In wartime, a
cipher, often incorrectly called a "code," can be employed to keep the enemy from obtaining
the contents of transmissions. (Technically, a code is a means of representing a signal without
the intent of keeping it secret; examples are Morse code and ASCII.) Simple ciphers include
the substitution of letters for numbers, the rotation of letters in the alphabet, and the
"scrambling" of voice signals by inverting the sideband frequencies. More complex ciphers
work according to sophisticated computer a algorithm that rearranges the data bits in digital
signals.
In order to easily recover the contents of an encrypted signal, the correct decryption
key is required. The key is an algorithm that "undoes" the work of the encryption algorithm.
Alternatively, a computer can be used in an attempt to "break" the cipher. The more complex
the encryption algorithm, the more difficult it becomes to eavesdrop on the communications
without access to the key.
Encryption/decryption is especially important in wireless communications. This is
because wireless circuits are easier to "tap" than their hard-wired counterparts. Nevertheless,
encryption/decryption is a good idea when carrying out any kind of sensitive transaction,
such as a credit-card purchase online, or the discussion of a company secret between different
departments in the organization. The stronger the cipher that is, the harder it is for
unauthorized people to break it the better, in general. However, as the strength of
encryption/decryption increases, so does the cost.

In recent years, a controversy has arisen over so-called strong encryption. This refers
to ciphers that are essentially unbreakable without the decryption keys. While most
companies and their customers view it as a means of keeping secrets and minimizing fraud,
some governments view strong encryption as a potential vehicle by which terrorists might
evade authorities.
Decryption keys would be stored in a supposedly secure place, used only by
authorities, and used only if backed up by a court order. Opponents of this scheme argue that
criminals could hack into the key-escrow database and illegally obtain, steal, or alter the
keys..

1.1 Objection of the project:


In Order to be able to define our system architecture, we must first dearly
state what our objective that will deriver system behavior at the same one of our
objective is to create an experience, which is not only unique to the (user) client, but
also makes him feel that he has loyal attachment to the system and approaches us
whenever he/she needs.
To achieve better results and success by implement computerized process
instead of manual process.

1.2 Modules and their Description


1. Admin
The login module consists of username and password.This process is for
authenisation.The username and password is currect it is link into
nextpage.This process is done in login.
2. Symmetric Key
AES Algorithm
RC4 Algorithm
Triple DES Algorithm

3. Public Key
RSA Algorithm

Symmetric Key
AES (Advanced Encryption Standard)
In cryptography, the Advanced Encryption Standard (AES) is a symmetric-key
encryption standard adopted by the U.S. government. The standard comprises three block
ciphers, AES-128, AES-192 and AES-256, adopted from a larger collection originally
published as Rijndael. Each of these ciphers has a 128-bit block size, with key sizes of 128,
192 and 256 bits, respectively.
AES was announced by National Institute of Standards and Technology (NIST) as U.S.
FIPS PUB 197 (FIPS 197) on November 26, 2001 after a 5-year standardization process in
which fifteen competing designs were presented and evaluated before Rijndael was selected
as the most suitable (see Advanced Encryption Standard process for more details). It became
effective as a Federal government standard on May 26, 2002 after approval by the Secretary
of Commerce.
The Rijndael cipher was developed by two Belgian cryptographers, Joan Daemen
and Vincent Rijmen, and submitted by them to the AES selection process.[4] Rijndael (Dutch
pronunciation: [rindal][5]) is a wordplay based upon the names of the two inventors.

RC4 Encryption Algorithm


The security of data has become a recurrent topic in computer science. I think all
software developers in their careers have to study that topic. I always keep informed about
that, and I apply various kinds of algorithms into the several applications customers ask me to
develop.
RC4 is a stream cipher symmetric key algorithm. It was developed in 1987 by Ronald
Rivest and kept as a trade secret by RSA Data Security. On September 9, 1994, the RC4
algorithm
RC4 uses a variable length key from 1 to 256 bytes to initialize a 256-byte state table.
The state table is used for subsequent generation of pseudo-random bytes and then to

generate a pseudo-random stream which is XOR-end with the plaintext to give the cipher
text. Each element in the state table is swapped at least once.
The RC4 key is often limited to 40 bits, because of export restrictions but it is
sometimes used as a 128 bit key. It has the capability of using keys between 1 and 2048 bits.
RC4 is used in many commercial software packages such as Lotus Notes and Oracle Secure
SQL. It is also part of the Cellular Specification.

ALGORITHM DESCRIPTION
The RC4 algorithm works in two phases:
1. Key Setup
2. Ciphering.

Key setup
Key setup is the first and most difficult phase of this algorithm. During a N-bit key
setup (N being your key length), the encryption key is used to generate an encrypting variable
using two arrays, state and key, and N-number of mixing operations.
In the attached project you can see how I do it in the EncryptionKey set property
Once the encrypting variable is produced from the key setup, it enters the ciphering phase,
where it is XOR-ed with the plain text message to create an encrypted message. If the bits are
the same, the result is 0. Once the receiver gets the encrypted message, he decrypts it by
XOR-ing the encrypted message with the same encrypting variable.In the attached project
you can see how I do it in the RC4Engine class:

Encrypt: encript method

Decrypt: decript method

I want to remark that the cripted message comes decrypted using the algorithm used in the
encryption phase.

Triple DES:
Triple DES is simply another mode of DES operation. It takes three 64-bit keys, for
an overall key length of 192 bits. In Private Encryptor, you simply type in the entire 192-bit
(24 character) . The Triple DES DLL then breaks the user provided key into three subkeys,
padding the keys if necessary so they are each 64 bits long. The procedure for encryption is
exactly the same as regular DES, but it is repeated three times key.

Consequently, Triple DES runs three times slower than standard DES, but is much
more secure if used properly. The procedure for decrypting something is the same as the
procedure for encryption, except it is executed in reverse. Like DES, data is encrypted and
decrypted in 64-bit chunks. Unfortunately, there are some weak keys that one should be
aware of: if all three keys, the first and second keys, or the second and third keys are the
same, then the encryption procedure is essentially the same as standard DES.. Note that
although the input key for DES is 64 bits long, the actual key used by DES is only 56 bits in
length. These parity bits are ignored, so only the seven most significant bits of each byte are
used, resulting in a key length of 56 bits. This means that the effective key strength for Triple
DES is actually 168 bits because each of the three keys contains 8 parity bits that are not used
during the encryption process.

Public Key
RSA Algorithm
The RSA algorithm is named after Ron Rivest, Adi Shamir and Len Adleman, who
invented it in 1977 [RIVE78]. The basic technique was first discovered in 1973 by Clifford
Cocks [COCK73] of CESG (part of the British GCHQ) but this was a secret until 1997. The
patent taken out by RSA Labs has expired.
The RSA algorithm can be used for both public key encryption and digital signatures.
Its security is based on the difficulty of factoring large integers.
Key Generation Algorithm
1. Generate two large random primes, p and q, of approximately equal size such that their
product n = pq is of the required bit length, e.g. 1024 bits. [See note 1].q
2. Compute n = pq and () phi = (p-1)(q-1).
3. Choose an integer e, 1 < e < phi, such that gcd (e, phi) = 1. [See note 2].
4. Compute the secret exponent d, 1 < d < phi, such that Ed 1 (mod phi). [See note 3].
5. The public key is (n, e) and the private key is (n, d). Keep all the values d, p, q and phi
secret.
n is known as the modulus.
e is known as the public exponent or encryption exponent or just the exponent.
d is known as the secret exponent or decryption exponent.

Encryption
Sender A does the following:

Obtains the recipient B's public key (n, e).


Represents the plaintext message as a positive integer m [see note 4].
Computes the ciphertext c = me mod n.
Sends the ciphertext c to B.

Decryption
Recipient B does the following:-

Uses his private key (n, d) to compute m = cd mod n.


Extracts the plaintext from the message representative m.

Signature verification
Recipient B does the following:

Uses sender A's public key (n, e) to compute integer v = se mod n.


Extracts the message digest from this integer.
Independently computes the message digest of the information that has been signed.
If both message digests are identical, the signature is valid.

CHAPTER -2
SOFTWARE PROJECT PLAN
7

This chapter discusses about that time schedule for the project and it contains the various
phases of the project.

The Various Phases of the Project:


S.NO

TASK

DURATION

Requirement Specification

Requirement document
specification

Design analysis

Design Documentation

Design Review

Coding

10 Days

10 Days
20 Days
15 Days
20 Days
15 Days
90 Days

Total

CHAPTER-3
CUSTOMER REQUIREMENTS DETERMINATION
8

3.1 EXISTING SYSTEM


In the existing system, the encrypted key is send with the document .If the key is send
with document, any user can view the encrypted document with that key. It means the
security provided for the encryption is not handled properly.
And also the Key byte (encrypted key) generate with random byte. Without the user
interaction the Key byte is generated.

Drawbacks
Some of the drawbacks are:
1. Lack of security
2. Key byte is generated without user interaction

3.2 PROPOSED SYSTEM


To overcome all the problems in the existing system, we develop an Encryption
-Secure Communication Using Public Key and symmetric key to ease the operation.
A system is required which is being capable of elimination all the problems and
become useful to users and thus the new system is derived. Here, User can set the byte of key
manually.

Benefits
1. Security is enhanced in well manner.
2. Users set the byte key manually.

CHAPTER 4

SOFTWARE REQUIREMENTS SPECIFICATION

Software Requirements Specification (SRS) is the starting point of the software


development activity. Little importance was given to this phases in the early days of software
development. The emphasis was first on coding and then shifted to design.
As systems grew more complex, it become evident that the goal of the entire system
cannot be easily comprehended. Hence need for the requirements analysis phase arose. Now,
for large software systems, requirements analysis is perhaps the most difficult activity and
also the most error prone.
Some of the difficulty is due to the scope of this phase. The software project is
imitated by the client needs. In the beginning these needs are in the minds of various people
in the client organization. The requirement analyst has to identify the requirements by tacking
to these people and understanding their needs. In situations where the software is to
automated a currently manuals process, most of the needs can be understood by observing the
current practice.
The SRS is a means of translating the ideas in the minds of the clients (the output)
into formal document (the output of the requirements phase). Thus the output of the phase is
a set of formally specified requirements, which hopefully are complete and consistent, while
the input has none of these properties.

4.1 Functional Requirements


10

Start

Authentication
User

Symmetric Key

RC4
Algorithm

AES
Algorithm

Public Key

Triple DES
Algorithm

4.2 Performance Requirements

11

RSA
Algorithm

The project must the end user requirements. Accuracy and fast must be imposed in the
Project.
The project is development as easy as possible for the sake of end user. The project
has to be developed with view of satisfying the future requirements and future enhancement.
The tool has been finally implemented satisfying the needs specified by the company.
As per the performance is concerned this system said is performing This processing as well
as tine taken to generate well reports where also even when large amount of data was used.

4.3 Interface requirements


4.3.1 Hardware Interface
The stranded input device like keyboard and mouse are to get input. The output will
be generated and display in the monitor. The reports can also be exported to a SQL-server
document are text file. The stranded printer in used to take outputs.

4.3.2 Software Interface


The design part and interface id done the front end ASP.Net and SQL server as a
backend of the project.

4.4 Operational requirements


The database or databases that are being failed over to the stand by server cannot be
used for anything else. But databases on the standby server not being used for failover can
still be used normally.
When it comes time for actual failover, you much one of two things to make your
application work either rename the standby server the same name as the failed production
server(and the IP address),or re-point your users applications to new standby server in some
cases,neither of this option is practical.

4.5 Resource Requirements


12

4.5.1 Hardware Requirements

PROCESSOR

PENTIUM III 866 MHz

RAM

128 MD SD RAM

MONITOR

15 COLOR

HARD DISK

20 GB

FLOPPY DRIVE

1.44 MB

CD DRIVE

LG 52X

KEYBOARD

STANDARD 102 KEYS

MOUSE

3 BUTTONS

4.5.2 Software Requirements


OPERATING SYSTEM

Windows XP Professional

ENVIRONMENT

Visual Studio .NET 2008

.NET FRAMEWORK

Version 3.5

LANGUAGE

C#.NET

WEB TECHNOLOGY

ASP.NET

BACKEND

SQL SERVER 2005

4.6 Security Requirements


13

Web application are available via network access, it is a difficult. If not possible, to
limit the population of the end-user who may access the applications? In order to product
sensitive connect and provide secure mode be implemented throughout the infrastructure
that the supports web application and within the application itself.
Web Application have become heavy integrated with critical corporate and database.
E-commerce application extracts and then store sensitive customer information.

4.7 Design Requirements


To create project, add base masters and masters to the project, assign
behaviors to the master, create and assign behavior sets, and then apply, test and validate
those behaviors. It also shows how to create and build a stencil to hold the shapes.

4.8 Quality and Reliability Requirements


A software component that is developed for reuse would be correct and contain no
defects. In reality, formal verification is not carried out routinely, and defects can add to
occur.However, with each reuse, defects are found eliminated, and a components qualify
improve as a result. Over time the components virtually defect free.
Software reliability is defined in statical term as the probability of faultier-free
operation of a computer program in a specified environment for specified tine. The software
quality and reliability, failure is nonconformance to software requirements. Failure can be
only anything or catastrophic. One failure can be corrected within seconds while another
requirements week even mouths to correct. Complicating the issue even further, the
correction of the one failure may in fact result in the introduction of the errors that ultimately
result in other failure.
Web
Application

Correct link processing


Reliability

Error recovery

Quality

Input validation and recovery

CHAPTER-5
14

SYSTEM ANALYSIS
In this section discussed about data flow diagram, Entity relationship diagram. These
things are represented as diagrams with proper notation.

5.1 Data Flow Diagram


The data flow diagram is one of the most improvement tools used by the system
analyst DeMacro (1978) Nad Gand Sarson (1979) popularized the use if the data flow
diagram as modeling tools through their structured system analysis methodologies.
A data flow diagram should be the first tool used by system analyst to model system
components. These components are the system processes; the data used by this processes and
external entities that interact with the system and the information flows in the system.
There are four kinds of system components

5.1.1. Process
Process show what system does. Each process has one or more data inputs and
produce one or more data output, Circles in a data flow diagram represent process. Each
process has unique name and number. This name and number appear inside the circle that
represents the processes in a data flow diagram.
This process is represented as circle

15

5.1.2. Data Stores:


File or data store is depositary of data. They contain data that is retained in
the system. Processes can enter the data into a data store or retrieve data from the data store.
Each data store is represented by thin line in the data flow diagram and each data store has a
unique name.
The data store is represented in form of a line

5.1.3 External Entities:


External entities are outside the system but they either supply input data into
the system or use the system output, they are entities which the designer has no control.
Square or rectangle may represent external entities that supply data into a system or
sometimes called sources. External entities that use the system data are sometimes called
sinks.

5.1.4 Data Flows:


Dataflow model the passage of data in the system and are represented lines joining
system components. An arrow indicates the direction of the flow and the line labeled by the
name of the data flow.

DFD-Level-1
Login

16

Symmetric Key

RC4
Algorithm

Encryption

AES
Algorithm

Decryption

Encryption

Triple DES
Algorithm

Encryption

Decryption

Salt Value

Decryption

Setting

Hash
Algorithm

Password
Iteration

DFD-Level-2
Login

Public Key

Encryption

Key Pair
Generation

Decryption

Public Key

17

Private Key

Key Size

5.2 ER Diagram

Start

Authentication
User

Symmetric Key

RC4
Algorithm

Public Key

Triple DES
Algorithm

AES
Algorithm

18

RSA
Algorithm

5.3 Use Case Diagram


Enter Encrypt Text

Select Encrypt Text

Select a Algorithm

Setup a Algorithm

Encrypt the Text

Encryption
View Encrypt Text

Select Decryption Text

Select a Algorithm

Setup a Algorithm

Select the Key File

Decrypt the Text

Decryption
View Output Text File

19

5.4 Software Life Cycle

Title
Submission

Authorization
Certificate

Students
DB

Learning
Process

Training

Problem Analysis:
ENCRYPTION

Authorization
Signatory

Front-end Asp.net
Back-end: SQL Server
Code behind: C#.net

Networking Design:
Internet Explorer 6.0

Coding

Validation

Testing

Docume
nt

Reports

Certificate

Complete Certificate

Programmer Training
Certificate

20

CHAPTER 6
SYSTEM DESIGN
6.1 INPUT DESIGN
Input design is the process of converting user-originated inputs to a computer-based
format. Input design is one of the most expensive phases of the operation of computerized
system and is often the major problem of a system.
In the project, the input design is made in various window forms with
various methods. This project consist of Encryption is the conversion of data into a form,
called a cipher text, that cannot be easily understood by unauthorized people. Decryption is
the process of converting encrypted data back into its original form, so it can be understood.

6.2 OUTPUT DESIGN


Output design generally refers to the results and information that are generated by
the system for many end-users; output is the main reason for developing the system and the
basis on which they evaluate the usefulness of the application. In any system, the output
design determines the input to be given to the application.

6.3 INTERFACE DESIGN


The ODBC (Open Database Connectivity) interface is a pure .NET to execute
SQl statement. The ODBC provides a set classes and interfaces that can be used by
developers to write database applications. Basic ODBC interactions in its simplest
form, can be broken down into four steps:
1. Open a connection to the database.
2. Execute a SQL statement
3. Process the result
4. Close the connection to the database

21

6.4 TABLE AND DATABASE DESIGN:

6.4.1 Normalization:
Normalization is the process of strutting relational database schema such that most
ambiguity is removed. The stage of normalization are referred to as forms and progress from
the least restrictive(first normal form)through the most restrictive(Fifth normal form),
generally , most database designers do not attempt to implement anything higher then normal
form of Boyce code Normal Form.

6.4.1.1FIRST NORMAL FORM:


A relation is said to be in First normal form (INF) if and each attributed of the relation
is atomic. More simply, to be INF, each column must contain only a single value and each
now contain in the same column.

6.4.1.2 SECOND NORMAL FORM:


In the Second normal Form, a relation must first fulfill the requirement to be in first
Normal Form. Additional, each donkey attribute in the relation must be functionality
dependent upon the primary key.

6.4.1.3 THIRD NORMAL FORM:


A table is said to be in third normal form and every non key attribute is functionality
dependent only on the primary key. This normalization process is applied to this system and
the normalized tables are given in the above section.

22

TABLE DESIGN:

Admin Login Table

6.4.2 Database Design:


The database design is a must for any application developed especially more
for the data store projects. Since the chatting method involves storing the message in
the table and produced to the sender and receiver, proper handling of the table is a
must.
In the project, login table is designed to be unique in accepting the username
and the length of the username and password should be greater than zero
The complete listing of the tables and their fields are provided in the annexure
under the title Table Structure.

6.5 FRONT END DESIGN


FEATURES OF C#.NET

Introduction
C# is one of the families of languages Microsoft has designed to be part of its .NET
framework. This paper gives a comprehensive introduction to C#, but before we start it is
necessary to outline some of the .NET concepts that will underpin the discussion in this
paper.
C# is part of the .NET Common Language Infrastructure (CLI). The CLI is a
framework that enables the multiple .NET languages to talk to each other, and is specifically
designed for strongly types languages.
The CLI is comprised of the Common Intermediate Language (CIL) a common
machine independent language into which all .NET applications are compiled, the
Common Type System (CTS) a set of types that can be used interchangeably between

23

the .NET languages and the Virtual Execution System (VES) which just-in-time compiles
the CIL into native assembly code. The complete set of rules that enable all .NET language to
talk to each other is called the Common Language System (CLS).
A compiled C# program also contains a block of metadata (data about the program
itself) called a manifest. This metadata allows reflection and effectively eliminates the need
for the registry.

THE .NET FRAMEWORK


The .NET Framework is a new computing platform that simplifies application
development in the highly distributed environment of the Internet.
OBJECTIVES OF .NET FRAMEWORK:

1. To provide a consistent object-oriented programming environment whether object codes is


stored and executed locally on Internet-distributed, or executed remotely.
2. To provide a code-execution environment to minimizes software deployment and
guarantees safe execution of code.
3. Eliminates the performance problems.
There are different types of application, such as Windows-based applications and Web-based
applications. To make communication on distributed environment to ensure that code be
accessed by the .NET Framework can integrate with any other code.

COMPONENTS OF .NET FRAMEWORK


THE COMMON LANGUAGE RUNTIME (CLR):

The common language runtime is the foundation of the .NET Framework. It manages
code at execution time, providing important services such as memory management, thread
management, and remoting and also ensures more security and robustness. The concept of
code management is a fundamental principle of the runtime. Code that targets the runtime is
known as managed code, while code that does not target the runtime is known as unmanaged
code.

24

THE .NET FRAME WORK CLASS LIBRARY:

It is a comprehensive, object-oriented collection of reusable types used to


develop applications ranging from traditional command-line or graphical user interface (GUI)
applications to applications based on the latest innovations provided by ASP.NET, such as
Web Forms and XML Web services.
The .NET Framework can be hosted by unmanaged components that load the
common language runtime into their processes and initiate the execution of managed code,
thereby creating a software environment that can exploit both managed and unmanaged
features. The .NET Framework not only provides several runtime hosts, but also supports the
development of third-party runtime hosts.
Internet Explorer is an example of an unmanaged application that hosts the
runtime (in the form of a MIME type extension). Using Internet Explorer to host the runtime
to enables embeds managed components or Windows Forms controls in HTML documents.

FEATURES OF THE COMMON LANGUAGE RUNTIME:


The common language runtime manages memory; thread execution, code
execution, code safety verification, compilation, and other system services these are all run
on CLR.

Security.

Robustness.

Productivity.

Performance.

SECURITY

The runtime enforces code access security. The security features of the
runtime thus enable legitimate Internet-deployed software to be exceptionally feature rich.
With regards to security, managed components are awarded varying degrees of trust,
depending on a number of factors that include their origin to perform file-access operations,
registry-access operations, or other sensitive functions.

25

ROBUSTNESS:

The runtime also enforces code robustness by implementing a strict typeand code-verification infrastructure called the common type system (CTS). The CTS ensures
that all managed code is self-describing. The managed environment of the runtime eliminates
many common software issues.
PRODUCTIVITY:

The runtime also accelerates developer productivity. For example,


programmers can write applications in their development language of choice, yet take full
advantage of the runtime, the class library, and components written in other languages by
other developers.
PERFORMANCE:

The runtime is designed to enhance performance. Although the common


language runtime provides many standard runtime services, managed code is never
interpreted. A feature called just-in-time (JIT) compiling enables all managed code to run in
the native machine language of the system on which it is executing. Finally, the runtime can
be hosted by high-performance, server-side applications, such as Microsoft SQL Server
and Internet Information Services (IIS).

ASP.NET
ASP.NET is the next version of Active Server Pages (ASP); it is a unified Web
development platform that provides the services necessary for developers to build enterpriseclass Web applications. While ASP.NET is largely syntax compatible, it also provides a new
programming model and infrastructure for more secure, scalable, and stable applications.
ASP.NET is a compiled, NET-based environment, we can author applications in any
.NET compatible language, including Visual Basic .NET, C#, and JScript .NET. Additionally,
the entire .NET Framework is available to any ASP.NET application. Developers can easily
access the benefits of these technologies, which include the managed common language
runtime environment (CLR), type safety, inheritance, and so on.
ASP.NET has been designed to work seamlessly with WYSIWYG HTML editors and
other programming tools, including Microsoft Visual Studio .NET. Not only does this make

26

Web development easier, but it also provides all the benefits that these tools have to offer,
including a GUI that developers can use to drop server controls onto a Web page and fully
integrated debugging support.
Developers can choose from the following two features when creating an ASP.NET
application. Web Forms and Web services, or combine these in any way they see fit. Each is
supported by the same infrastructure that allows you to use authentication schemes; cache
frequently used data, or customizes your application's configuration, to name only a few
possibilities.
Web Forms allows us to build powerful forms-based Web pages. When building these
pages, we can use ASP.NET server controls to create common UI elements, and program
them for common tasks. These controls allow we to rapidly build a Web Form out of reusable
built-in or custom components, simplifying the code of a page.
An XML Web service provides the means to access server functionality remotely. Using
Web services, businesses can expose programmatic interfaces to their data or business logic,
which in turn can be obtained and manipulated by client and server applications. XML Web
services enable the exchange of data in client-server or server-server scenarios, using
standards like HTTP and XML messaging to move data across firewalls. XML Web services
are not tied to a particular component technology or object-calling convention. As a result,
programs written in any language, using any component model, and running on any operating
system can access XML Web services
Each of these models can take full advantage of all ASP.NET features, as well as
the power of the .NET Framework and .NET Framework common language runtime.
Accessing databases from ASP.NET applications is an often-used
technique for displaying data to Web site visitors. ASP.NET makes it easier than ever to
access databases for this purpose. It also allows us to manage the database from your code.
ASP.NET provides a simple model that enables Web developers to write logic that
runs at the application level. Developers can write this code in the global.aspx text file or in a
compiled class deployed as an assembly. This logic can include application-level events, but
developers can easily extend this model to suit the needs of their Web application.
ASP.NET provides easy-to-use application and session-state facilities that are
familiar to ASP developers and are readily compatible with all other .NET Framework APIs.

27

ASP.NET offers the IHttpHandler and IHttpModule interfaces. Implementing the


IHttpHandler interface gives you a means of interacting with the low-level request and
response services of the IIS Web server and provides functionality much like ISAPI
extensions, but with a simpler programming model. Implementing the IHttpModule interface
allows you to include custom events that participate in every request made to your
application.
ASP.NET takes advantage of performance enhancements found in the .NET
Framework and common language runtime. Additionally, it has been designed to offer
significant performance improvements over ASP and other Web development platforms. All
ASP.NET code is compiled, rather than interpreted, which allows early binding, strong
typing, and just-in-time (JIT) compilation to native code, to name only a few of its benefits.
ASP.NET is also easily factorable, meaning that developers can remove modules (a session
module, for instance) that are not relevant to the application they are developing.
ASP.NET provides extensive caching services (both built-in services and caching
APIs). ASP.NET also ships with performance counters that developers and system
administrators can monitor to test new applications and gather metrics on existing
applications.
Writing custom debug statements to your Web page can help immensely in
troubleshooting your application's code. However, it can cause embarrassment if it is not
removed. The problem is that removing the debug statements from your pages when your
application is ready to be ported to a production server can require significant effort.
ASP.NET offers the TraceContext class, which allows us to write custom debug
statements to our pages as we develop them. They appear only when you have enabled
tracing for a page or entire application. Enabling tracing also appends details about a request
to the page, or, if you so specify, to a custom trace viewer that is stored in the root directory
of your application.
The .NET Framework and ASP.NET provide default authorization and authentication
schemes for Web applications. We can easily remove, add to, or replace these schemes,
depending upon the needs of our application .
ASP.NET configuration settings are stored in XML-based files, which are human
readable and writable. Each of our applications can have a distinct configuration file and we
can extend the configuration scheme to suit our requirements.

28

6.6 BACK END DESIGN:


FEATURES OF SQL SERVER 2000

The OLAP Services feature available in SQL Server version 7.0 is now called
SQL Server 2000 Analysis Services. The term OLAP Services has been replaced with the
term Analysis Services. Analysis Services also includes a new data mining component. The
Repository component available in SQL Server version 7.0 is now called Microsoft SQL
Server 2000 Meta Data Services. References to the component now use the term Meta Data
Services. The term repository is used only in reference to the repository engine within Meta
Data Services
SQL-SERVER database consist of six type of objects,
They are,
1. TABLE
2. QUERY
3. FORM
4. REPORT
5. MACRO
TABLE:

A database is a collection of data about a specific topic.


VIEWS OF TABLE:

We can work with a table in two types,


1. Design View
2. Datasheet View
Design View
To build or modify the structure of a table we work in the table design view. We can
specify what kind of data will be hold.
Datasheet View
To add, edit or analyses the data itself we work in tables datasheet view mode.
QUERY:

29

A query is a question that has to be asked the data. Access gathers data that answers
the question from one or more table. The data that make up the answer is either dynaset (if
you edit it) or a snapshot(it cannot be edited).Each time we run query, we get latest
information in the dynaset. Access either displays the dynaset or snapshot for us to view or
perform an action on it ,such as deleting or updating.
FORMS:

A form is used to view and edit information in the database record by record .A form
displays only the information we want to see in the way we want to see it. Forms use the
familiar controls such as textboxes and checkboxes. This makes viewing and entering data
easy.
Views of Form:
We can work with forms in several primarily there are two views,
They are,
1. Design View
2. Form View
Design View
To build or modify the structure of a form, we work in forms design view. We can
add control to the form that are bound to fields in a table or query, includes textboxes, option
buttons, graphs and pictures.
Form View
The form view which display the whole design of the form.
REPORT:

A report is used to vies and print information from the database. The report can
ground records into many levels and compute totals and average by checking values from
many records at once. Also the report is attractive and distinctive because we have control
over the size and appearance of it.
MACRO:

A macro is a set of actions. Each action in macros does something. Such as opening a form
or printing a report .We write macros to automate the common tasks the work easy and save
the time

30

6.7Algorithm:
Step1: Enter correct username and password
Step 2: Enter the encrypt text in notepad view
Step 3: Select any one symmetric key or public key algorithm
Step4: Setup the AES Algorithm Value
Step5: Save as Private Key for RSA Algorithm
Step6: Save as Public Key for RSA Algorithm
Step7: Select Encrypt Text and Decrypt any one algorithm
Step8: Select the save file and decrypt it.
Step9: Successfully Closed the Application

31

CHAPTER 7
CODING
Main Form
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Windows.Forms;

namespace EncryptionAlgorithms
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Login());
}
}
}

AES Algorithm
using
using
using
using
using
using

System;
System.IO;
System.Collections.Generic;
System.Linq;
System.Text;
System.Security.Cryptography;

namespace EncryptionAlgorithms
{
public class AESEngine
{
public static string Encrypt(string plainText,
string passPhrase,
string saltValue,
string hashAlgorithm,
int passwordIterations,
string initVector,
int keySize)
{
PasswordDeriveBytes password = new PasswordDeriveBytes(
passPhrase,

32

saltValueBytes,
hashAlgorithm,
passwordIterations);
// Use the password to generate pseudo-random bytes for the
encryption
// key. Specify the size of the key in bytes (instead of bits).
byte[] keyBytes = password.GetBytes(keySize / 8);
// Create uninitialized Rijndael encryption object.
RijndaelManaged symmetricKey = new RijndaelManaged();
// It is reasonable to set encryption mode to Cipher Block
Chaining
// (CBC). Use default options for other symmetric key
parameters.
symmetricKey.Mode = CipherMode.CBC;
// Generate encryptor from the existing key bytes and
initialization
// vector. Key size will be defined based on the number of the
key
// bytes.
ICryptoTransform encryptor =
symmetricKey.CreateEncryptor(keyBytes,initVectorBytes);
// Define memory stream which will be used to hold encrypted
data.
MemoryStream memoryStream = new MemoryStream();
// Define cryptographic stream (always use Write mode for
encryption).
CryptoStream cryptoStream = new
CryptoStream(memoryStream,encryptor,CryptoStreamMode.Write);
byte[] cipherTextBytes = memoryStream.ToArray();
// Close both streams.
memoryStream.Close();
cryptoStream.Close();
// Convert encrypted data into a base64-encoded string.
string cipherText = Convert.ToBase64String(cipherTextBytes);
// Return encrypted string.
return cipherText;
}
public static string Decrypt(string cipherText,
string passPhrase,
string saltValue,
string hashAlgorithm,
int passwordIterations,
string initVector,
int keySize)
{

33

PasswordDeriveBytes password = new PasswordDeriveBytes(


passPhrase,
saltValueBytes,
hashAlgorithm,
passwordIterations);
ICryptoTransform decryptor = symmetricKey.CreateDecryptor(
keyBytes,
initVectorBytes);
// Define memory stream which will be used to hold encrypted
data.
MemoryStream memoryStream = new MemoryStream(cipherTextBytes);
// Define cryptographic stream (always use Read mode for
encryption).
CryptoStream cryptoStream = new CryptoStream(memoryStream,
decryptor,
CryptoStreamMode.Read);
// Since at this point we don't know what the size of decrypted
data
// will be, allocate the buffer long enough to hold ciphertext;
// plaintext is never longer than ciphertext.
byte[] plainTextBytes = new byte[cipherTextBytes.Length];
// Start decrypting.
int decryptedByteCount = cryptoStream.Read(plainTextBytes,
0,
plainTextBytes.Length);
// Close both streams.
memoryStream.Close();
cryptoStream.Close();
// Convert decrypted data into a string.
// Let us assume that the original plaintext string was UTF8encoded.
string plainText = Encoding.UTF8.GetString(plainTextBytes,
0,
decryptedByteCount);
// Return decrypted string.
return plainText;
}
}
}

34

RC4 Algorithm
using
using
using
using
using
using

System;
System.Collections;
System.Security.Cryptography;
System.Text;
System.Threading;
System.Windows.Forms;

namespace EncryptionAlgorithms
{
public class EncryptionThread
{
private ContainerControl containerControl = null;
private Delegate finishedProcessDelegate = null;
private Delegate updateTextDelegate = null;
public void Encrypt( object inputObject )
{
object[] inputObjects = ( object[] )inputObject;
containerControl = ( Form ) inputObjects[ 0 ];
finishedProcessDelegate = ( Delegate )
inputObjects[ 1 ];
updateTextDelegate = ( Delegate )inputObjects[ 2 ];
string encryptedString = EncryptString( ( string )
inputObjects[ 3 ], ( int )inputObjects[ 4 ], ( string )inputObjects[ 5 ] );
containerControl.Invoke( updateTextDelegate, new
object[] { encryptedString } );
containerControl.Invoke( finishedProcessDelegate );
}
public void Decrypt( object inputObject )
{
object[] inputObjects = ( object[] )inputObject;
containerControl = ( Form )inputObjects[ 0 ];
finishedProcessDelegate = ( Delegate )inputObjects[ 1 ];
updateTextDelegate = ( Delegate )inputObjects[ 2 ];
string decryptedString = DecryptString( ( string )
inputObjects[ 3 ], ( int )inputObjects[ 4 ], ( string )inputObjects[ 5 ] );
containerControl.Invoke( updateTextDelegate, new
object[] { decryptedString } );
containerControl.Invoke( finishedProcessDelegate );
}
public string EncryptString( string inputString, int dwKeySize,
string xmlString )
{
// TODO: Add Proper Exception Handlers
RSACryptoServiceProvider rsaCryptoServiceProvider = new
RSACryptoServiceProvider( dwKeySize );
rsaCryptoServiceProvider.FromXmlString( xmlString );
int keySize = dwKeySize / 8;
byte[] bytes = Encoding.UTF32.GetBytes( inputString );

35

// The hash function in use by the .NET


RSACryptoServiceProvider here is SHA1
// int maxLength = ( keySize ) - 2 - ( 2 *
SHA1.Create().ComputeHash( rawBytes ).Length );
int maxLength = keySize - 42;
int dataLength = bytes.Length;
int iterations = dataLength / maxLength;
StringBuilder stringBuilder = new StringBuilder();
for( int i = 0; i <= iterations; i++ )
{
byte[] tempBytes = new byte[ ( dataLength maxLength * i > maxLength ) ? maxLength : dataLength - maxLength * i ];
Buffer.BlockCopy( bytes, maxLength * i, tempBytes,
0, tempBytes.Length );
byte[] encryptedBytes =
rsaCryptoServiceProvider.Encrypt( tempBytes, true );
// Be aware the RSACryptoServiceProvider reverses
the order of encrypted bytes after encryption and before decryption.
// If you do not require compatibility with
Microsoft Cryptographic API (CAPI) and/or other vendors.
// Comment out the next line and the corresponding
one in the DecryptString function.
Array.Reverse( encryptedBytes );
// Why convert to base 64?
// Because it is the largest power-of-two base
printable using only ASCII characters
stringBuilder.Append(
Convert.ToBase64String( encryptedBytes ) );
}
return stringBuilder.ToString();
}
public string DecryptString( string inputString, int dwKeySize,
string xmlString )
{
// TODO: Add Proper Exception Handlers
RSACryptoServiceProvider rsaCryptoServiceProvider = new
RSACryptoServiceProvider( dwKeySize );
rsaCryptoServiceProvider.FromXmlString( xmlString );
int base64BlockSize = ( ( dwKeySize / 8 ) % 3 != 0 ) ? (
( ( dwKeySize / 8 ) / 3 ) * 4 ) + 4 : ( ( dwKeySize / 8 ) / 3 ) * 4;
int iterations = inputString.Length / base64BlockSize;
ArrayList arrayList = new ArrayList();
for( int i = 0; i < iterations; i++ )
{
byte[] encryptedBytes =
Convert.FromBase64String( inputString.Substring( base64BlockSize * i,
base64BlockSize ) );
Array.Reverse( encryptedBytes );
arrayList.AddRange( rsaCryptoServiceProvider.Decrypt( encryptedBytes,
true ) );
}
return Encoding.UTF32.GetString( arrayList.ToArray(
Type.GetType( "System.Byte" ) ) as byte[] );
}
}
}

36

Trible DES Algorithm


using
using
using
using
using
using

System;
System.IO;
System.Collections.Generic;
System.Linq;
System.Text;
System.Security.Cryptography;

namespace EncryptionAlgorithms
{
public class TripleDESEngine
{
public string EncryptString(string Message, string Passphrase)
{
byte[] Results;
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
// Step 1. We hash the passphrase using MD5
// We use the MD5 hash generator as the result is a 128 bit
byte array
// which is a valid length for the TripleDES encoder we use
below
MD5CryptoServiceProvider HashProvider = new
MD5CryptoServiceProvider();
byte[] TDESKey =
HashProvider.ComputeHash(UTF8.GetBytes(Passphrase));
// Step 2. Create a new TripleDESCryptoServiceProvider object
TripleDESCryptoServiceProvider TDESAlgorithm = new
TripleDESCryptoServiceProvider();
// Step 3. Setup the encoder
TDESAlgorithm.Key = TDESKey;
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
// Step 4. Convert the input string to a byte[]
byte[] DataToEncrypt = UTF8.GetBytes(Message);
// Step 5. Attempt to encrypt the string
try
{
ICryptoTransform Encryptor =
TDESAlgorithm.CreateEncryptor();
Results = Encryptor.TransformFinalBlock(DataToEncrypt, 0,
DataToEncrypt.Length);
}
finally
{
// Clear the TripleDes and Hashprovider services of any
sensitive information
TDESAlgorithm.Clear();
HashProvider.Clear();

37

}
// Step 6. Return the encrypted string as a base64 encoded
string
return Convert.ToBase64String(Results);
}
public string DecryptString(string Message, string Passphrase)
{
byte[] Results;
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
// Step 1. We hash the passphrase using MD5
// We use the MD5 hash generator as the result is a 128 bit
byte array
// which is a valid length for the TripleDES encoder we use
below
MD5CryptoServiceProvider HashProvider = new
MD5CryptoServiceProvider();
byte[] TDESKey =
HashProvider.ComputeHash(UTF8.GetBytes(Passphrase));
// Step 2. Create a new TripleDESCryptoServiceProvider object
TripleDESCryptoServiceProvider TDESAlgorithm = new
TripleDESCryptoServiceProvider();
// Step 3. Setup the decoder
TDESAlgorithm.Key = TDESKey;
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
// Step 4. Convert the input string to a byte[]
byte[] DataToDecrypt = Convert.FromBase64String(Message);
// Step 5. Attempt to decrypt the string
try
{
ICryptoTransform Decryptor =
TDESAlgorithm.CreateDecryptor();
Results = Decryptor.TransformFinalBlock(DataToDecrypt, 0,
DataToDecrypt.Length);
}
finally
{
// Clear the TripleDes and Hashprovider services of any
sensitive information
TDESAlgorithm.Clear();
HashProvider.Clear();
}
// Step 6. Return the decrypted string in UTF8 format
return UTF8.GetString(Results);
}

38

RSA Algorithm
using
using
using
using
using

System;
System.Drawing;
System.Collections;
System.ComponentModel;
System.Windows.Forms;

namespace Encryption
{
public class KeyPairGeneratorForm: System.Windows.Forms.Form
{
private System.Windows.Forms.Button generateKeysButton;
private System.Windows.Forms.NumericUpDown numericUpDown;
private System.Windows.Forms.PictureBox keyPictureBox;
private System.ComponentModel.Container components = null;
public KeyPairGeneratorForm()
{ InitializeComponent(); }
protected override void Dispose( bool disposing )
{
if( disposing )
{
if( components != null )
{ components.Dispose(); }
}
base.Dispose( disposing );
}
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new
System.ComponentModel.ComponentResourceManager(typeof(KeyPairGeneratorForm)
);
this.generateKeysButton = new System.Windows.Forms.Button();
this.keyPictureBox = new System.Windows.Forms.PictureBox();
this.numericUpDown = new System.Windows.Forms.NumericUpDown();
((System.ComponentModel.ISupportInitialize)
(this.keyPictureBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)
(this.numericUpDown)).BeginInit();
this.SuspendLayout();
//
// generateKeysButton
//
this.generateKeysButton.BackColor
=
System.Drawing.SystemColors.Control;
this.generateKeysButton.Font
=
new
System.Drawing.Font("Georgia",
8.25F,
System.Drawing.FontStyle.Bold,
System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.generateKeysButton.ForeColor = System.Drawing.Color.Black;
this.generateKeysButton.Location
=
new
System.Drawing.Point(183, 119);
this.generateKeysButton.Name = "generateKeysButton";

39

this.generateKeysButton.Size = new System.Drawing.Size(149,


28);
this.generateKeysButton.TabIndex = 0;
this.generateKeysButton.Text = "Generate Keys";
this.generateKeysButton.UseVisualStyleBackColor = false;
this.generateKeysButton.Click
+=
new
System.EventHandler(this.generateKeysButton_Click);
//
// keyPictureBox
//
this.keyPictureBox.BackColor = System.Drawing.Color.Black;
this.keyPictureBox.BorderStyle
=
System.Windows.Forms.BorderStyle.Fixed3D;
this.keyPictureBox.Image = ((System.Drawing.Image)
(resources.GetObject("keyPictureBox.Image")));
this.keyPictureBox.Location = new System.Drawing.Point(31, 61);
this.keyPictureBox.Name = "keyPictureBox";
this.keyPictureBox.Size = new System.Drawing.Size(66, 75);
this.keyPictureBox.SizeMode
=
System.Windows.Forms.PictureBoxSizeMode.AutoSize;
this.keyPictureBox.TabIndex = 1;
this.keyPictureBox.TabStop = false;
//
// numericUpDown
//
this.numericUpDown.BackColor = System.Drawing.Color.White;
this.numericUpDown.Font = new System.Drawing.Font("Georgia",
12F,
System.Drawing.FontStyle.Bold,
System.Drawing.GraphicsUnit.Point,
((byte)(0)));
this.numericUpDown.ForeColor = System.Drawing.Color.Black;
this.numericUpDown.Increment = new decimal(new int[] {
8,
0,
0,
0});
this.numericUpDown.Location = new System.Drawing.Point(183,
52);
this.numericUpDown.Maximum = new decimal(new int[] {
16384,
0,
0,
0});
this.numericUpDown.Minimum = new decimal(new int[] {
384,
0,
0,
0});
this.numericUpDown.Name = "numericUpDown";
this.numericUpDown.ReadOnly = true;
this.numericUpDown.Size = new System.Drawing.Size(149, 26);
this.numericUpDown.TabIndex = 0;
this.numericUpDown.ThousandsSeparator = true;
this.numericUpDown.UpDownAlign
=
System.Windows.Forms.LeftRightAlignment.Left;
this.numericUpDown.Value = new decimal(new int[] {
1024,
0,
0,
0});

40

//
// KeyPairGeneratorForm
//
this.AutoScaleBaseSize = new System.Drawing.Size(8, 19);
this.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.ClientSize = new System.Drawing.Size(366, 205);
this.Controls.Add(this.numericUpDown);
this.Controls.Add(this.keyPictureBox);
this.Controls.Add(this.generateKeysButton);
this.Font = new System.Drawing.Font("Georgia", 12F,
System.Drawing.FontStyle.Regular,
System.Drawing.GraphicsUnit.Point,
((byte)(0)));
this.ForeColor = System.Drawing.Color.White;
this.FormBorderStyle
=
System.Windows.Forms.FormBorderStyle.Fixed3D;
this.Icon
=
((System.Drawing.Icon)
(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "KeyPairGeneratorForm";
this.ShowInTaskbar = false;
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition
=
System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Generate Keys";
this.Load
+=
new
System.EventHandler(this.KeyPairGeneratorForm_Load);
((System.ComponentModel.ISupportInitialize)
(this.keyPictureBox)).EndInit();
((System.ComponentModel.ISupportInitialize)
(this.numericUpDown)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
private
void
generateKeysButton_Click(
System.EventArgs e )
{
Encryption.MainForm.SetBitStrength(
Convert.ToInt32( numericUpDown.Value ) );
this.DialogResult = DialogResult.OK;
this.Dispose( true );
}

object

sender,

private
void
KeyPairGeneratorForm_Load(
object
EventArgs e )
{ Encryption.MainForm.SetBitStrength( 1024 ); }
}
}

sender,

41

CHAPTER 8
SYSTEM TESTING
System testing involves user training system testing and successful running of the
developed proposed system. The user tests the developed system and changes are made
according to their needs. The testing phase involves the testing of developed system using
various kinds of data.
An elaborate testing of data is prepared and the system is tested using the test data.
While testing, errors are noted and the corrections are made. The corrections are also noted
for the future use. The users are trained to operate the developed system.

TESTING:
System testing is the stage of implementation that is aimed at ensuring that the
system works accurately and efficiently before live operation commences. Testing is vital to
the success of the system. System testing makes logical assumption that if all the parts of the
system are correct, then the goal will be successfully achieved. A series of testing are done
for the proposed system before the system is ready for the user acceptance testing.
The following are the types of Testing:
1. Unit Testing
2. Integration Testing
3. Validation Testing
4. Verification testing
5. User acceptance testing
8.1 UNIT TESTING

The procedure level testing is made first. By giving improper inputs, the errors
occurred are noted and eliminated. Then the web form level testing is made. For example
storage of data to the table in the correct manner.

42

In the company as well as seeker registration form, the zero length username and
password are given and checked. Also the duplicate username is given and checked. In the
job and question entry, the button will send data to the server only if the client side
validations are made.
The dates are entered in wrong manner and checked. Wrong email-id and web site
URL (Universal Resource Locator) is given and checked.
8.2 INTEGRATION TESTING

Testing is done for each module. After testing all the modules, the modules are
integrated and testing of the final system is done with the test data, specially designed to
show that the system will operate successfully in all its aspects conditions. Thus the system
testing is a confirmation that all is correct and an opportunity to show the user that the system
works.
8.3 VALIDATION TESTING

The final step involves Validation testing, which determines whether the software function as
the user expected. The end-user rather than the system developer conduct this test most
software developers as a process called Alpha and Beta Testing to uncover that only the
end user seems able to find.
8.4 VERIFICATION TESTING

Verification is a fundamental concept in software design. This is the bridge between


customer requirements and an implementation that satisfies those requirements.
This is verifiable if it can be demonstrated that the testing will result in an implementation
that satisfies the customer requirements.
Inadequate testing or non-testing leads to errors that may appear few months later.
This will create two problems
Time delay between the cause and appearance of the problem.
The effect of the system errors on files and records within the system.
8.5 USER ACCEPT TESTING

User acceptance testing of a system is the key factor of the success of any system.
The system under study is tested for the user acceptance by constantly keeping in touch with
the prospective system users at any time of developing and making changes whenever
required.

43

SYSTEM IMPLEMENTATION
Implementation is the most crucial stage in achieving a successful system and
giving the users confidence that the new system is workable and effective. Implementation
of a modified application to replace an existing one. This type of conversation is relatively
easy to handle, provide there are no major changes in the system.
Each program is tested individually at the time of development using the data
and has verified that this program linked together in the way specified in the programs
specification, the computer system and its environment is tested to the satisfaction of the user.
The system that has been developed is accepted and proved to be satisfactory for the user.
And so the system is going to be implemented very soon. A simple operating procedure is
included so that the user can understand the different functions clearly and quickly.
Initially as a first step the executable form of the application is to be created and
loaded in the common server machine which is accessible to all the user and the server is to
be connected to a network. The final stage is to document the entire system which provides
components and the operating procedures of the system.

SCOPE FOR FUTURE DEVELOPMENT


Every application has its own merits and demerits. The project has covered almost all the
requirements. Further requirements and improvements can easily be done since the coding is
mainly structured or modular in nature. Changing the existing modules or adding new
modules can append improvements. Further enhancements can be made to the application, so
that the web site functions very attractive and useful manner than the present one.

44

CHAPTER 9
PROBLEMS FACED

When there is a clear goal in sight but no clear set of directions or means to attain
that goal, then it is called a problem. Problems can be broken down into four aspects; goal,
givens, means of transforming conditions, and obstacles.
Goal the goal is the desired end state which the problem solving is being directed toward.
The hope is to reach that end state and be able to assess whether or not you achieved what
you wanted.
Givens- these are the objects, conditions, and constraints that accompany a problem, and can
be either explicit or implicit.
Means of transforming conditions- there should be a way of changing the initial state of the
problem. this is most usually a persons knowledge or skill level. For instance ,a computer
programmer presented with a problem would utilize his or her knowledge of programming
language to transform the state of the problem.
Obstacles- the problem should present a challenge. If there are no challenges involved and
the situation can be easily solved then it is not so a problem so much as a routines task.
Every problem has a problem faced, which is the whole range of possible states and
operators. only some of these states and operators will bring the person closer to the goal
state. The problem starts at the initial state and operators are applied to change the state,
creating a series of intermediate states that should hopefully lead to the final goal state

45

CHAPTER-10
FUTURE PLANS
Every application has its own merits and demerits. The project has covered
almost all the requirements. Further requirements and improvements can easily be done since
the coding is mainly structured or modular in nature. Changing the existing modules or
adding new modules can append improvements. Further enhancements can be made to the
application, so that the web site functions very attractive and useful manner than the present
one.

46

CONCLUSION
It is concluded that the application works well and satisfy the users. The
application is tested very well and errors are properly debugged. The site is simultaneously
accessed from more than one system. Simultaneous login from more than one place is tested.
The application works according to the restrictions provided in their
respective system. Further enhancements can be made to the application, so that the
application functions very attractive and useful manner than the present one. The speed of the
transactions become more enough now.

47

APPENDIX
SCREEN SHOTS
Login

Fig1Login

48

Main Page

Fig 2 Main Page

49

Encryption Content

Fig 3 Encryption Content

50

RC4 Algorithm

Fig 4 RC4 Algorithm

51

AES Algorithm Set up

Fig5AESAlgorithmSetup

52

AES Algorithm

Fig 6 AES Algorithm

53

Triple DES Algorithm

Fig7 Triple DES Algorithm

54

RSA Algorithm Key Pair Generation

Fig8 RSA Algorithm Key Pair Generation

55

Public Encryption Key

Fig9 Public Encryption Key

56

Public Decryption Key

Fig10 Public Decryption Key

57

RSA Algorithm

Fig11 RSA Algorithm

58

REFERENCES
BOOKS
Professional ASP.NET MVC 1.0 (Wrox Programmer to Programmer) / Rob Conery, Scott
Hanselman, Phil Haack, Scott Guthrie Publisher: Wrox
ASP.NET 3.5 Unleashed / Stephen Walther Publisher: Sams
Programming ASP.NET 3.5 / Jesse Liberty, Dan Maharry, Dan Hurwitz Publisher:
O'Reilly Media, Inc.

59

BIBLIOGRAPHY
www.codeproject.com/KB/custom-controls/asppopup.aspx
http://www.developerfusion.com/code/4673/programatically-load-user-controls/
http://www.developerfusion.com/code/4596/how-to-access-a-mysql-database-withnet/
http://www.developerfusion.com/code/3826/adding-controls-to-placeholdersdynamically/
http://aspalliance.com/1125_Dynamically_Templated_GridView_with_Edit_Delete_a
nd_Insert_Options
http://www.15seconds.com/issue/041020.htm
http://www.a1vbcode.com/app-3619.asp
http://www.aspcode.net/ASPNET-301-redirect.aspx
http://www.aspcode.net/Master-pages-in-ASP-free-template-engine.aspx

60

You might also like