Final Document
Final Document
Final Document
INTRODUCTION
PROJECT DESCRIPTION
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.
1
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 government’s view strong encryption as a potential vehicle by which terrorists might
evade authorities.
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
2
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: [ˈrɛindaːl][5]) is a wordplay based upon the names of the two inventors.
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
3
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
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.
Encrypt: encript method
Decrypt: decript method
I want to remark that the cripted message comes decrypted using the algorithm used in the
encryption phase.
4
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.
5
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.
Encryption
6
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.
7
CHAPTER -2
This chapter discusses about that time schedule for the project and it contains the various
phases of the project.
10 Day’s
1 Requirement Specification
Requirement document
2 specification 10 Day’s
20 Day’s
3 Design analysis
15 Day’s
4 Design Documentation
20 Day’s
5 Design Review
15 Day’s
6 Coding
90 Day’s
Total
CHAPTER-3
8
CUSTOMER REQUIREMENTS DETERMINATION
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
Benefits
CHAPTER 4
9
SOFTWARE REQUIREMENTS SPECIFICATION
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.
10
4.1 Functional Requirements
Start
Authentication
User
11
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.
12
4.5 Resource Requirements
13
4.6 Security Requirements
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.
14
CHAPTER-5
SYSTEM ANALYSIS
In this section discussed about data flow diagram, Entity relationship diagram. These
things are represented as diagrams with proper notation.
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
16
DFD-Level-1
Login
Symmetric Key
DFD-Level-2
Login
Public Key
17
5.2 ER Diagram
Start
Authentication
User
18
5.3 Use Case Diagram
Enter Encrypt Text
Select a Algorithm
Setup a Algorithm
Encryption
Select a Algorithm
Setup a Algorithm
19
5.4 Software Life Cycle
Title Authorization
Submission 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
Certificate
20
CHAPTER 6
SYSTEM DESIGN
6.1 INPUT 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.
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.
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.
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.
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:
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’.
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 type’s 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 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.
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 type-
and 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 enterprise-
class 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:
31
CHAPTER 7
CODING
Main Form
using System;
using System.Collections.Generic;
using System.Linq;
using 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 System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
namespace EncryptionAlgorithms
{
public class AESEngine
{
32
PasswordDeriveBytes password = new PasswordDeriveBytes(
passPhrase,
saltValueBytes,
hashAlgorithm,
passwordIterations);
33
PasswordDeriveBytes password = new PasswordDeriveBytes(
passPhrase,
saltValueBytes,
hashAlgorithm,
passwordIterations);
initVectorBytes);
CryptoStreamMode.Read);
// Start decrypting.
int decryptedByteCount = cryptoStream.Read(plainTextBytes,
0,
plainTextBytes.Length);
}
}
34
RC4 Algorithm
using System;
using System.Collections;
using System.Security.Cryptography;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace EncryptionAlgorithms
{
public class EncryptionThread
{
private ContainerControl containerControl = null;
private Delegate finishedProcessDelegate = null;
private Delegate updateTextDelegate = null;
35
int keySize = dwKeySize / 8;
byte[] bytes = Encoding.UTF32.GetBytes( inputString );
// 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();
}
Array.Reverse( encryptedBytes );
36
}
}
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using 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();
37
// Clear the TripleDes and Hashprovider services of any
sensitive information
TDESAlgorithm.Clear();
HashProvider.Clear();
}
38
RSA Algorithm
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using 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(); }
39
this.generateKeysButton.Location = new
System.Drawing.Point(183, 119);
this.generateKeysButton.Name = "generateKeysButton";
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,
40
0,
0});
//
// 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();
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
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
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 user’s 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.
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 person’s 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.
47
APPENDIX
SCREEN SHOTS
Login
Fig1Login
48
Main Page
49
Encryption Content
50
RC4 Algorithm
51
AES Algorithm Set up
Fig5AESAlgorithmSetup
52
AES Algorithm
53
Triple DES Algorithm
54
RSA Algorithm Key Pair Generation
55
Public Encryption Key
56
Public Decryption Key
57
RSA Algorithm
58
REFERENCES
BOOKS
► Programming ASP.NET 3.5 / Jesse Liberty, Dan Maharry, Dan Hurwitz Publisher:
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-with-
net/
► http://www.developerfusion.com/code/3826/adding-controls-to-placeholders-
dynamically/
► http://aspalliance.com/1125_Dynamically_Templated_GridView_with_Edit_Delete_
and_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