6. conclusion

1. INTRODUCTION
Security raises big question mark and many of us are afford to spend
million dollars for sending information securely from one place to other through
internet. So the security is a very vital to protect from the attack of intruders. The
symmetric and asymmetric key cryptographic algorithms have its own advantages and
disadvantages when we consider it separately. So the solution would be best if the
advantages of both types of algorithms are used together which hides the
disadvantages of each other. So that security can be achieved with less cost and can
also reduces the burden by sending the messages safely from intruders attack.
Two typical examples of such security mechanisms were as follows:
 Provide a user id and password to every user, and use that information to
authenticate a user.
 Encode information stored in the databases in some fashion, so that is not visible
to user who do not have the right permissions.
Security approaches are there, that include Security Models and Security
Management practices.
Security Models :

No security :
In the simplest case, the approaches could be a decision to implement no
security at all.
Page 1 of 48

Security through Obscurity :
A system is secure simply because nobody knows about its existence and
contents. This approach cannot work for too long, as there are many ways an attacker
can come to know about it.

Network security :
Host security is tough to achieve as organisation grow and become more
diverse. In this technique, the focus is to control network access to various hosts and
their services, rather than individual host security. This is a very efficient and scalable
model.
Security Management Practices :
A good security policy and its proper implementation go a long way in
ensuring adequate security management practices. A good security policy generally
takes care of four aspects, as follow.
 Affordability :
How much money and efforts does this security implementation
cost?
 Functionality :
What is the mechanism of providing security ?
 Cultural issues :
Does the policy gel well with the people’s expectations, working
style and beliefs ?
 Legality :
Does the policy meet the legal requirements ?
Page 2 of 48
1.1.
ABOUT THE PROJECT
Cryptography is the art of achieving security by encoding message to
make them non – readable. The word cryptography comes from Greek and kryptos
means “hidden” while graphic stands for “writing”. Cryptography defined as “the
science and study of secret message”, concerns the ways in which communications
and data can be encoded to prevent disclosure of their contents through eavesdropping
or message interception, using codes, ciphers, and other methods, so that only certain
people can see the real message.
The project entitled “CRYPTOGRAPHY” solves the problems
faced by symmetric key cryptography. This project provides a good solution to
achieve security. In this project, the sender’s plain Text is codified using the DES,
TRIPLE DES, BLOWFISH algorithm which results in a cipher text. This cipher text
is again codified to get plaintext that is output using these three algorithms.
In this project, message digest concept takes place. The algorithm
used is MD5 algorithm. If the user enters as many lines as possible as that is inputs,
the output will be in single line using message digest algorithm.
Although the science of cryptography is very old, the desktop
computer revolution has made it possible for cryptographic technique to become
widely used and accessible to non experts. Clear text or plain text signifies a message
that can be understood by the sender, the recipient, and also by anyone else who gets
an access to that message. When a plain text message is codified using any suitable
scheme, the resulting message is called as cipher text.
Page 3 of 48
In the substitution cipher technique, the characters of a plain text
message are replaced by other characters, numbers or symbols. The process of trying
to break any cipher text message to obtain the original plain text message itself is
called as cryptanalysis, and the person attempting a cryptanalysis is called as a
cryptanalyst. A cryptanalyst attempting a Brute-force attack tries all possibilities to
derive the original plain text message from a given cipher text message.
Symmetric key cryptography is fast and efficient. However, it suffers
from a big disadvantage of the problem of key exchange. The sender and the receiver
of an encrypted message use the same key in symmetric key cryptography, and it is
very tough to agree upon a common key without letting anyone else know about it.
Thus this project ensures solution for the Non Repudiation,
Confidentiality, Integrity, Authentication and security.
Page 4 of 48
1.2.
ABOUT THE CRYPTOGRAPHIC ALGORITHMS.
There are several ways of classifying cryptographic algorithms. For
purposes of this paper, they will be categorized based on the number of keys that are
employed for encryption and decryption, and further defined by their application and
use. The three types of algorithms that will be discussed are (Figure 1):
 Secret Key Cryptography: Uses a single key for both encryption and
decryption
 Public Key Cryptography: Uses one key for encryption and another for
decryption
 Hash Functions: Uses a mathematical transformation to irreversibly "encrypt"
information
Page 5 of 48
2. SYSTEM ANALYSIS
A complete system study of an existing system helps us to build a new
system. System study is the way of studying the system with an eye on solving its
problem. It is the most essential part of the development of a project for a system
analyst. One must know what information is to be gathered, where to find it, how to
collect it and how to make use of it for successful development of the system.
System design described as a process of planning a new business system
to replace or to complement an existing system. The system design states will meet
the requirements identified during the system analysis. It goes through a logical and
physical design. The key points followed at the time of designing are:
 Preparing input and output specification.
 Date flow and stores.
 Preparing security and control specification
 Process.
Page 6 of 48
2.1. Existing System
The symmetric and asymmetric key Algorithms has it’s own advantages
and Disadvantages separately. In the symmetric key Cryptography, same key is used
for encryption and decryption. But in asymmetric key Cryptography, one key is used
for encryption and another key for decryption.
In symmetric key Cryptography, the speed of encryption/decryption is
very fast but in asymmetric key Cryptography, it is slow. In symmetric key
Cryptography, the size of resulting encrypted text is usually the same or less then the
original plain text size , but more than the original plain text size in Asymmetric key
Cryptography. Key agreement /exchange is a big problem in Symmetric key
Cryptography whereas it not a problem in Asymmetric key Cryptography.
So the disadvantages of both type of algorithms are reduced when
combining both the algorithm’s advantages in the proposed system.
2.1.1 Drawbacks of the Existing System
 No security.
 Security of information is low.
 Loss of confidentiality.
 Absence of authentication.
 Loss of integrity.
 Attack on availability.
 The receiver receives their secret messages not in time in the existing system.
Page 7 of 48
2.2. Proposed System.
The drawbacks, which are faced during existing system, can be eradicated
by using the proposed system. The main objective of the proposed system is to
provide a user-friendly interface. In this proposed system the text that are encrypted
can be sent securely. The text can be sent without any loss of the security and loss of
confidentiality. The encryption and decryption of text is possible through this
proposed system.
Features of the Proposed System
 Security
 Confidentiality
 Authentication
 Integrity
 Availability
 The solution will be completely secure.
 The encryption and decryption processes will not take a long time.
 The generated cipher text should be compact in size.
 The solution will scale to large number of users easily, without additional
complications.
 The key distribution problem will be solved.
In this project the whole process is done using three algorithms namely
 Data Encryption Standard (DES).
 Triple Data Encryption Standard (TDES).
 Blowfish.
 Message Digest 5 (MD5).
Page 8 of 48
2.2.1 DATA ENCRYPTION STANDARD (DES).
 History.
The Data Encryption Standard (DES) has been in use since the mid1970s, adopted by the National Bureau of Standards (NBS) [now the National
Institute for Standards and Technology (NIST)] as Federal Information Processing
Standard 46 (FIPS 46-2) and by the American National Standards Institute (ANSI).
DES uses the Data Encryption Algorithm (DEA), a secret key blockcipher employing a 56-bit key operating on 64-bit blocks. Although other block
ciphers will replace DES, it is still interesting to see how DES encryption is
performed. Not only is it sort of interesting, but DES remains in many products and
we will continue to see DES for some years to come.
There are also some analytical results which demonstrate theoretical
weaknesses in the cipher, although they are infeasible to mount in practice. The
algorithm is believed to be practically secure in the form of Triple DES, although
there are theoretical attacks. In recent years, the cipher has been superseded by the
Advanced Encryption Standard (AES).
In some documentation, a distinction is made between DES as a
standard, and the algorithm, which is referred to as the DEA (the Data Encryption
Algorithm). When spoken, "DES" is either spelled out (dee-ee-ess) or pronounced as
a single syllable (dez or dess).
Page 9 of 48
 VARIOUS STEPS.
1. In the first step, the 64-bit plain text block is handled over to an Initial
Permutation (IP) function.
2. The Initial Permutation is performed on plain text.
3. Next, the Initial Permutation (IP) produces two halves of the permuted block;
say Left Plain Text (LPT) and Right Plain Text (RPT).
4. Now, each of LPT and RPT goes through 16 rounds of encryption process,
each with its own key.
5. In the end, LPT and RPT are rejoined, and a Final Permutation (FP) is
performed on the combined block.
6. The result of this process produces 64-bit cipher text.
 INITIAL PERMUTATION (IP)
The Initial Permutation (IP) happens only once, and it happens before
the first round. It suggests how the transposition in IP should proceed. For example, it
says that the IP replaces the first bit of the original plain text block with the 58 th bit
the original plain text block, the 2nd bit with the 50th bit of the original plain text
block, and so on. This nothing but jugglery og bit position of the original plain text
block.
Page 10 of 48
Broad level Steps in DES
Plain text
Initial Permutation
(IP)
LPT
Key
RPT
16
rounds
16
rounds
Final Permutation
(IP)
Cipher text
 ROUNDS.
Key Permutation
Expansion Permutation
S – Box Substitution
P – Box Permutation
XOR - Swap
Page 11 of 48
Key
Step 1) Key Permutation.
The initial 64 – bit key is transformed into a 56 – bit key by discarding
every 8th bit of the initial key. Thus, for each round, a 56th key is available. From this
56-bit key, a different 48-bit sub-key is generated during each round using a process
called as Key transformation. For this, the 56-bit key is divided into two halves, each
of 28 bits. These halves are circularly shifted left by one or two positions, depending
on the round.
Step 2) Expansion Permutation.
The Two 32-bit plain text areas, called as Left Plain Text (LPT) and
Right Plain Text (RPT). During Expansion Permutation, the RPT is expanded from 32
bits to 48 bits. Besides increasing the bit size from 32 to 48, the bits are permuted as
well, hence the name Expansion Permutation. This happens as follows:
 The 32-bit Rpt is divided into 8 blocks, with each block consisting of 4 bits. This
is shown in diagram:
Original Right Plain Text (RPT) of 32 bits
. . . . . . . . . . . . . . .
Block 1
. .
block 8
Division of 32-bit RPT into eight 4-bit blocks
Page 12 of 48
 Next, each 4-bit block of the above step is then expanded to a corresponding 6-bit
block. That is, per 4-bit block, 2 more bits are added. They are actually the
repeated first and fourth bits of the 4-bit block. The second and the third bits are
written down as they were in the input.
Input block1
1 2 3 4
1
2
3
4
5
Input block2
5 6 7 8
6
Output block1
7
8
…....
9 10 11 12
Output block2
Input block8
29 30 31 32
43 44 45 46 47 48
Output block8
RPT Expansion Permutation process
Step 3) S-Box Substitution.
Substitution - after mixing in the subkey, the block is divided into eight
6-bit pieces before processing by the S-boxes, or substitution boxes. Each of the
eight S-boxes replaces its six input bits with four output bits according to a nonlinear transformation, provided in the form of a lookup table. The S-boxes provide
the core of the security of DES — without them, the cipher would be linear, and
trivially breakable.
Page 13 of 48
S-BOX SUBSTITUTION
Step 4) P-Box Permutation.
The output of S-box consists of 32 bits. These 32 bits are permuted
using a P-box. This straightforward permutation involves simple permutation (i.e.
replacement of each bit with another bit, a specified in the P – box table, without any
expansion or compression). This is called as P-Box Permutation.
Step 5) XOR and SWAP.
Performing all these operations only on the 32-bit right half portion of
the 64-bit original plain text (i.e. on the RPT). The left half portion (i.e. LPT) was
untouched so far.
Page 14 of 48
The left half portion of the initial 64-bit plain text block (i.e. LPT) is
XORed with the output produced by P-box. The result of this XOR operation
becomes the new right half (i.e. RPT). the old right half (i.e. RPT) becomes the new
left half, in a process of swapping.
XOR AND SWAP
 Final Permutation.
At the end of the 16 rounds, the Final Permutation is performed (only
once). This is a simple transposition.
Page 15 of 48
2.2.2 Triple Data Encryption Standard (TDES).
Page 16 of 48
Triple DES is DES – three times. It comes in two flavours :
 One that uses three keys
 Other that uses two keys.
 Triple DES with three keys.
The plain text block P is first encrypted with a key K1, then encrypted
with the second key, and finally with the 3rd key, k3, where k1,k2, and k3 are all
different keys. To decrypt the cipher text C and obtain the plain text P, we need to
perform the operation P = Dk3 (Dk2(Dk1(C ))).
 Triple DES with two keys.
1. Encrypt the plain text with key K1. thus, we have Ek1(P).
2. Decrypt the output of step1 above with key K2. thus, we have
Dk2(Ek1(P)).
3. Finally , encrypt the output of step2 again with key K1. thus, we have
Ek1(Dk2(Ek1(P))).
Page 17 of 48
2.2.3 BLOWFISH.
OPERATION.
Blowfish encrypt 64-bit blocks with a variable – length key. It contains two
parts, as follows.
 KEY EXPANSION :
This process converts the key up to 448 bits long to sub – keys totaling
4168 bits.
Page 18 of 48
 DATA ENCRYPTION :
This process involves the iteration of a simple function 16 times. Each
round contain a key – dependent permutation and key – and data – dependent
substitution.
The encryption of a 64 – bit block input X, is as follows.
 Divide X into two blocks: XL and XR, of equal sizes.
 For i = 1 to 16
XL = XL XOR P(i)
XR = F(XL) XOR XR
Swap XL, XR
Next i
 Swap XL,XR
 XL = XL XOR P18
 Combine XL and XR back into X.
The key generation involves the usage of P- box and S-box.
Page 19 of 48
2.2.4 MESSAGE DIGEST 5 (Hash Algorithm).
MD5 (Message-Digest 5) is a widely used cryptographic hash function
with a 128-bit hash value. As an Internet standard (RFC 1321), MD5 has been
employed in a wide variety of security applications, and is also commonly used to
check the integrity of files. An MD5 hash is typically a 32-character hexadecimal
number. Recently, a number of projects have created MD5 "rainbow tables" which are
easily accessible online, and can be used to reverse many MD5 strings into their
original meanings.
MD5 was designed by Ronald Rivest in 1991 to replace an earlier hash
function, MD4. In 1996, a flaw was found with the design of MD5; while it was not a
clearly fatal weakness, cryptographers began to recommend using other algorithms,
such as SHA-1. In 2004, more serious flaws were discovered making further use of
the algorithm for security purposes questionable.
The input text is processed in 512 – bit blocks. The output of the
algorithm is a set of four 32-bit blocks, which make up the 128-bit message digest.
MD5 includes various process.
 Padding
 Append length
 Divide the input into 512 – bit blocks
 Initialize chaining variables.
 Process block
Page 20 of 48
Step 1) PADDING.
The first step in MD5 is to add padding bits to the original message.
The aim of this step is to make the length of the original message equal to a value,
which is 64 bits less than an exact multiple of 512. the padding consist of a single 1bit, followed by as many 0-bits, as required. Note that padding is always added, even
if the message length is already 64 bits less than a multiple of 512. Thus, if the
message length is already of length say 448 bits, we will add a padding of 512 bits to
make its length 960 bits. Thus, the padding length is already of length is any value
between 1 and 512.
Original message
+
Padding
Original message
Padding
PADDING PROCESS
STEP 2) APPEND LENGTH.
After padding bits are added, the next step is to calculate the
original length of the message, and add it to the end of the message, after padding.
The length of the original message is now expressed as a 64 – bit value, and these 64
bits are appended to the end of the original message + padding.
Page 21 of 48
Original message
Padding
Length
+
One MD5
Operation
Original message
Padding(optional)
Length
64 bits
Data to be hashed (digested)
APPEND LENGTH
Step 3) Divide the Input into 512-bit blocks.
Now ,divide the input message into blocks, each of length 512 bits.
Data to be hashed (digested)
Block1
Block2
Block3
…….
Block n
512 bits
512 bits
512 bits
…….
512 bits
Data is divided into 512 – bit blocks
Page 22 of 48
Step 4) Initialize Chaining Variables.
In this step, four variables (called as chaining variables) are
initialized. They are called as A,B,C,D. Each of these is a 32 – bit number. The initial
hexadecimal values of these chaining variables are
CHAINING VARIABLES
A
HEX
01
23
45
67
B
HEX
89
AB
CD
EF
C
HEX
FE
DC
BA
98
D
HEX
76
54
32
10
STEP 5) Process Blocks.
 Copy the 4 chaining variables into 4 corresponding variables a,b,c,d. thus,
now have a = A, b = B, c = C and d = D.
A
B
C
D
a
b
c
d
 Divide the current 512-bit block into 16 sub-blocks. Thus, each sub-block
contains 32 bits.
Page 23 of 48
Block 1
Sub block1
sub block2
…………
32 bits
32 bits
………...
Sub block 16
32 bits
Sub-Blocks within block.
 Now, have four round. In each round, we process all the 16 sub-blocks
belonging to a block. The input to each round are
a) All the 16 sub-blocks
b) The variables a,b,c,d.
c) Some constants, designated as t.
 Have 16 iterations in each round.
1) A process P is first performed on b, c, d. This process P is different in
all the four rounds.
2) The variable a is added to the output of the process P (i.e. to the register
abcd).
3) The message sub-block M[i] is added to the output of step 2 (i.e. to the
register abcd).
4) The constant t[k] is added to the output of step 3 (i.e. to the register
abcd)
5) The output of step 4 (i.e. the contents of register abcd) is circular –left
shifted by s bits.
6) The variable b is added to the output of step 5 (i.e. to the register abcd).
7) The output of step 6 becomes the new abcd for the next step.
Page 24 of 48
ONE MD5 OPERATION
We can mathematically express a single MD5 operation as follows:
a = b + ((a + process P (b,c,d)+ M[i] + T[k] <<< s)
where,
a,b,c,d
= Chaining variables.
Process P = a non-linear operation.
M[i]
= M[q* 16 + i], which is the ith 32-bit word in the qth 512-bit block of the
message.
T[k]
= A constant.
<<<s
= Circular – left shift by s bits.
Page 25 of 48
2.3 SYSTEM OBJECTIVES
The objective is to make the decryption process hard for the intruder
and to protect from attacks that ensures :
 Confidentiality :
The principle of confidentiality specifies that only the sender and
the intended recipient should be able to access the contents of a message.
 Integrity :
The receiver has to ensure that the original message has not been
altered or tampered by the intruder in the course of transit sent from the sender.
 Non Repudiation :
The sender of a message cannot refuse that he has not sent the
respective message to the receiver.
 Authentication :
The authentication process ensures that the respective sender
correctly identifies the origin of the original plain text.
 Access control :
The principle of access control determines who should be able to
access what.
 Availability :
The principle of Availability states that resources (i.e. information)
should be available to authorized parties at all times.
Page 26 of 48
2.4 SYSTEM CONFIGURATION
2.4.1 Hardware Configuration
Processor
:
Pentium IV
RAM
:
256 MB
Mother Board
:
Intel 915G Chipset
CPU Clock
:
1.08 GHz
Hard disk capacity
:
80 GB
CD Drive
:
Samsung 52x
Floppy drive
:
Sony 1.44 MB
Key board
:
Multimedia Keyboard
Mouse
:
Logitech Optical Mouse
Processor
:
Intel Pentium IV
Operating System
:
Windows Xp
Application
:
Visual Basic 6.0
2.4.2 Software Specification
Page 27 of 48
2.5 SOFTWARE FEATURES.
About Visual Basic 6.0
The ‘Basic’ part refers to the BASIC (Beginners All – Purpose Symbolic
Instruction Code) Language.
Visual Basic has evolved from the original basic
language and now contains several hundred statements functions and keyword, many
of which relate directly to the Windows.
The first tool to make Windows based programming easy the Microsoft
Visual Basic version 6.0 programming. System is now the leading tool for helping,
developers create and use Active X components, build Active Documents for Intranetbrowsers, build client/server or multi – tier solutions with high speed data access and
built fast applications based on Windows version 6.0 adds a native code compiler,
implicit multi – threading and integration with Microsoft Transaction Server to bring
a new level of scalability to server based components built with Visual Basic.
Visual Basic 6.0 also provides developers with a new interface for faster
programming.
The IDE now features Multiple Document Interface (MDI) with
docking and linking. Windows to eliminate unnecessary, mouse and keyboard actions
and the code editors offers Intelligence Technology such as Quick Tips, Data Tips,
List Members and List Constants which eliminate the need to memorize syntax and
learn object models.
Visual Basic 6.0 is an application development tool used in developing
Client/Server applications. Before beginning with visual Basic 6.0, let’s have a look
at the client/Server architecture.
Page 28 of 48
Important Features
 Event driven programming language where all the activities are triggered by
one event or the other.
 Quick development of object based window database application with little
coding.
 Built in database support.
 Client server architecture benefits.
 Provides simple debugging tools.
States of Visual Basic.
Visual Basic applications can be viewed in three distinct states:
1. Design
2. Execution
3. Break
 In Design State, you can edit user interface or add code to the application.
 In Execution State, the application is running and only a few menu commands are
available.
 In Break State, the application is halted.
Integrated Development Environment
Applications in Visual Basic are developed in the Integrated Development
Environment (IDE).
Page 29 of 48
Components of IDE.
 Menu Bar.
 Toolbox Windows – displays the controls.
 Form Window – displays the form that holds the controls and which is
useful for developing the user interface.
 Properties Window – has list of all the properties for a control.
 Project Explorer Window – has list of all the forms and modules.
 Standard Toolbar – displays the frequently used commands in the form of
buttons.
 Code Editor Window – where code is written.
 Form Layout Window – allows to visually position the form at design time.
 Object Browser – has list of all the objects, their methods and properties.
 Context Menus – a shortcut menu with frequently performed actions. It can
be displayed by right clicking on the object.
Immediate, Locals and Watch Windows – These additional windows are
provided for use in debugging your application. They are only available when you
are running your application within the IDE.
Page 30 of 48
3. SYSTEM DESIGN
3.1.
SYSTEM FLOW DIAGRAM.
 Encryption Process
Read from the File/Text
Choose Algorithm
DES
TDES
Encrypt File or Text
Store the File/Text
Page 31 of 48
BLOWFISH
 Decryption Process.
Read from the File/Text
Choose Algorithm
DES
TDES
Decrypt File or Text
Store the file/Text
Page 32 of 48
BLOWFISH
 Hash Function.
Read from the Text
Choose Algorithm
MD5
Message Digest
Store the Text
Page 33 of 48
3.2.
INPUT DESIGN.
The Input design is the link that is the information system into the
world of its users.
The design is the process of converting an external user oriented
description of the input to the system into a machine oriented form. Five objectives
guiding the design of inputs focus on controlling the amount of input required,
avoiding delays, controlling errors, avoiding extra steps and keeping the steps simple.
Input screens from the primary interface between user and the
software. The input screens are designed are in such a way that it has a simple and
user- friendly layout. Necessary options are provided to reduce typing, which
automatically controls errors creeping in.
Input validation are performed to enforce all the necessary system
constraints; error messages are displayed, whenever the data entered is invalid. The
message also display the corrective to be taken by the user.
Page 34 of 48
LOGIN FORM
This form is used to login into the project main form. If the password entered
is wrong it will show the “Invalid Password, Try Again”.
Page 35 of 48
ENCRYPTION AND DECRYPTION FORM.
In this form, choose the algorithm, enter the text which need to be
encrypted, enter key and salt value and click the encrypt. The encrypted text will
display in encrypted string text box. To decrypt, enter the key and salt value and click
on decrypt button.
To encrypt the file, click on encrypt file. A dialog box opens. Choose the
file and enter key and salt value. To decrypt the file, click on decrypt file. Choose the
file which is encrypted and enter the key and salt value.
Page 36 of 48
HASH FUNCTION FORM.
In hash function algorithm used is MD5. Enter the text to be digest in the
hash text box. Click on hash, the digested text will be appear in the hash string text
box.
Page 37 of 48
3.3.
OUTPUT DESIGN.
One of the most important features of the information system for users is
the output it procedures. Without proper output, the entire system may appear to be so
unnecessary that users will avoid using it, possibly causing it to fail.
Outputs from computer system are required primarily to communicate
the result of processing to users. They are also used to provide a permanent copy of
these results for later consultation.
Efficient, intelligible output design improves the systems relationship
with the user as output are the most direct and important source of information to the
user. During the analysis all the essential reports are identified. While designing the
layout, used ideas are also been taken into consideration.
Page 38 of 48
LOGIN FORM.
After entering the password, click ok and if the password is correct it will
show main form else it will display the message box “Invalid password, try again”.
Page 39 of 48
OUTPUT OF ENCRYPTION AND DECRYPTION TEXT.
In this form choose the algorithm, enter the text to encrypt, enter the key
and salt value and click on “encrypt” button. The encrypted text will display in the
“encrypted string textbox”. To decrypt that text, enter the key and salt value and click
on “decrypt”. The output will be display in the “decrypted String textbox”.
Click on the hash algorithm button, it will connect to hash function form.
To encrypt and decrypt the file click on encrypt and decrypt file button.
Page 40 of 48
OUTPUT OF HASH FUNCTION.
In this hash function form choose the algorithm, enter the text to be hashed
and click on hash button. The output will be displayed in the “Hash String” text box.
Page 41 of 48
4. TESTING AND IMPLEMENTATION
4.1 TESTING
It is designed to uncover the weaknesses that were not found in earlier
test. In the testing phase, the program is executed with the explicit intention of finding
errors. This includes forced system failures and validation of the system, as its user in
the operational environment will implement it. For this purpose test cases are
developed.
When a new system replaces the old one, such as in the present case, the
org can extract data from the old system to test them on the new. Such data usually
exist in sufficient volume to provide sample listing and they can create a realistic
environment that ensures eventual system success. Regardless of the source of test
data, the programmers and analyst will eventually conduct 4 different types of tests.
4.2 SYSTEM TESTING
System testing deals with the process of testing the system as a whole.
This is done after the integration process, the entire system is tested by moving
through each module from top to bottom. The verification and validation process are
then carried out. The errors that occurs the testing phase are eliminated and a well
functioning system is developed.
Test case design focuses on a set of techniques, whish meets all testing
objectives, which are mentioned below.
 Testing is a process of executing a program with the intent of finding an error.
 A successful test is one that uncovers as yet undiscovered errors.
Page 42 of 48
Testing demonstrates that software functions work according to
specification. In addition data collected from testing provides a good indication of
software reliability and some indication of software quality as a whole. Testing results
in the deduction in the number of errors. Critical modules are tested as early as
possible. The following tests have been carried out after developing the system.
VERIFICATION
Verification is also intended to find errors. Executing a program in a
environment performs it.
4.2.1 VALIDATION.
In this testing the software is tested to determine whether it suits to that
particular environment. Validation testing provides the final assurance that the
software meets all functional, behavioral and performance requirements. Validation
refers to the process of using the software in a live environment to find errors. During
the course of validation the system failure may occur and software will be changed.
4.2.2 UNIT TESTING
Unit testing is done for the verification of code produced during the
coding phase and to test the internal logic of the modules. It refers to the verification
of the single programming module in an isolated environment. Unit Testing deal with
the testing of different modules of the software. It checks for any error in each of
these modules in the software.
After coding, each dialog was tested and run individually. All
unnecessarily coded statements were removed and it was ensured that all the
functionalities worked as expected . Any logical errors found were corrected.
Page 43 of 48
4.2.3 INTEGRATION TESTING.
During the Integration testing all the modules in the software are
combined or integrated together and they are tested for overall performance of the
system. Many test modules are combined into sub systems, which are then tested.
This testing is a verification of the interface among system parts
The integration is the next important concept that highlights in the
testing scenario, integration testing can be performed in different strategies. One of
them is the big-bang testing in whish one could first test all of a systems modules
separately and then whole system at once. But here we proceed abruptly from the
module testing and the integration testing disappears. Another alternative is the
incremental testing.
With the incremental testing there are many advantages. We can start
the integration as soon as reasonable subsets of modules have been developed. It is
easier to localize errors incrementally. There are two approaches to the incremental
testing. They include bottom-up and top-down aggregations. The former means
starting aggregation and testing from leaves of the modules charts. The latter means
starting from the top-down modules and substitute for higher-level modules. In our
projects we have used the top-down approach of incremental testing.
Top-down integration Is a incremental approach to the construction of
programs structure. Modules are integrated by moving downward through the control
hierarchy, beginning with the main control module that is the basic connectivity
module in our project. Test is done on each module. Top-down integration strategy
verifies major control or decision points.
Page 44 of 48
4.3. SYSTEM IMPLEMENTATION.
The implementation aspect is the system analysis is to make use that
the new design is implemented to establish standard. The term implementation is as
different meaning ranging from conversion of basic application to a complete
replacement of computer system. This is used to mean the process of converting a
new or received system design to the operation. The conversion is one of the aspect of
implementation.
 Implementation of new system to replace the existing system.
 Implementation of a modified application to replace a existing one using
the same system.
Page 45 of 48
5. SCOPE FOR FURTHER ENHANCEMENT
 To use any hardware components like chipset, microcontroller to develop the
project in hardware side.
 To implement compression algorithm like zip to compress the output text.
 To enforce the Time Constraints for the cipher text to exist and destroy.
 To enhance validation of user name and password.
Page 46 of 48
6. CONCLUSION
The Cryptography has been developed successfully using Visual Basic
6.0. The main objective in developing this project is to make use of a security with
the help of Cryptography concept. The technology used is a new one and is very much
easier to develop when compared to other technologies.
Cryptography enables the user to encrypt and decrypt text with the
combination of secret key and salt. The implementation of this project has brought the
required quantitative and qualitative changes. The system has tangible and intangible
benefits. It ensures a greater deal of accuracy.
All the details relating to an text will usually be stored in the database.
Using this software, the data can be easily viewed. This will be useful not only to the
studies but also to the other Organization.
Page 47 of 48
7. BIBLIOGRAPHY
Books referred
Atul Kahate
-
“ Cryptography and Network Security. “
Tata McGraw-Hill 2003
“System analysis and Design”,
Elisas M. Awad -
Tata McGraw-Hill Edition 1998
“Software Engineering”
Roger Pressman -
McGraw-Hill International Edition 2001
Peter Norton
-
“ Guide to Visual basic 6”
Techmedia
Web sites
 www.google.com
 www.wikipedia.org
 www.softwareengineering.com
 http://en.wikipedia.org/wiki/History_of_cryptography
Page 48 of 48