CHAPTER THREE: RESEARCH METHODOLOGY AND SYSTEM ANALYSIS
3.0.0 REQUIREMENT ANALYSIS
3.0.0 REQUIREMENT ANALYSIS
Requirement
analysis is the process of understanding the user’s needs and expectations from
a proposed system or application. It is one of the most important phases in
software development. Determination of client’s need is the major objective of
this analysis. Requirements are a description of how a system should behave or
description of system properties or attributes. It can alternatively be a
statement of ‘what’ an application is expected to do. Inadequate attention to
software requirements analysis at the beginning of a software development is
the most common cause for initially vulnerable software that often do not
deliver even on the basic tasks for which they were designed. There are
instances of corporations that have spent huge amounts on software project
where the end application eventually does not perform the tasks it was intended
for.
Figure 3.1: data encryption and decryption
across a network
3.2.1 The Elements of Encryption
There are many different ways
that you can use a computer to encrypt or decrypt information. Nevertheless,
each of these so-called encryption systems shares common elements:
ü Encryption
algorithm: The encryption algorithm is the
function, usually with some mathematical functions, which performs the task of
encrypting and decrypting your data.
3.2.2 What You Can Do with Encryption
The
software requirements for this project research among others include:
·
The
ability of the software to accept the user inputs i.e. username/password.
·
The
ability of the system to allow user to select file to encrypt.
·
The
capability to allow user to enter the encryption key on each file for encrypt
and decrypt.
·
Presentation
of the system to users in interactive mode.
3.1.0 FACTS FINDING METHODS USED
This
section is bent on examining the method adopted in data collection, the
procedure for data collection and the method used in processing the data
collected With respect to this project work, the sources of information/data
gathered were:
·
Observation method
·
Face to face interview
·
Internet
3.1.1
Observation
method: This is a process whereby the researcher employs a systematic
watching and recording of events as they occur. The researcher must be patience
and must not be in a time limit because of the study.This method was
used to discover what goes on in protecting computer files.
3.1.2
Face to face interview: This
is also another method of data collection. Here, the researcher will have
respondent thereby getting the information he/she needs. Data here is more
reliable compared with others because the researcher will get those information
that are absolute on secret normal, the researcher also adopts his method of
selecting the data to avoid bias. Some computer users were interviewed to
share their experience so far.
3.1.3
Internet:This is where
relevant information on the subject matter was surfed and collected.
3.2.0
SYSTEM ANALYSIS
Computers are fast becoming our way of
life and one cannot imagine life without computers in today’s world. You go to
a railway station for reservation. You want a website for a cinema ticket, you
go to a library, or you go to a bank, you will find computers are used in every
possible field today; it becomes an important issue to understand and build
these computerized systems in an effective way. Building such systems is not an
easy process but requires certain skills and capabilities to understand and
follow a systematic procedure towards making of any information system. For
this, experts in the field have devised various methodologies. For anyone who
is a part of this vast and growing information technology industry, having
basic understanding of the development process is essential.
Analysis is a technique that helps to
describe an obtained fact and detect its pattern. To properly uncover the
entire process in the development of this system, discussion was broken down
into smaller units.
Cryptographic is the most effective computer security tool.Cryptography (or cryptology) is the practice
and study of hiding secret information by encryption. Encryption and
decryption are both methods used to ensure the secure passing
of messages and other sensitive documents and information.
Encryption is the conversion of data into a form, called a ciphertext.
Decryption is the reverse, moving from the unintelligible
ciphertext back to plaintext. In other word, Decryption is the process of converting encrypted data back into
its original form, so it can be understood.
In order to easily recover the contents
of an encrypted signal, the correct decryption key is required.
The data to be encrypt is read from the file as byte and stored in decrypted
file with extension .EKUMA, eg( filename.EKUMA). During decryption process, the decrypted data
is read, and convert to the original text format before encryption.
Ciphers are the secret
codes used to encrypt plaintext messages. Ciphers of various types have been
devised, but all of them are either substitution or transposition ciphers.
Computer ciphers are ciphers that are used for digital messages. Computer
ciphers differ from ordinary substitution and transposition ciphers in that a
computer application performs the encryption of data. The term cryptography is sometimes restricted
to the use of ciphers or to methods involving the substitution of other letters
or symbols for the original letters of a message. The figure below illustrate
data encryption and decryption across a network between Alice and Bob.
When
Alice encrypt and send ciphertext across a network to Bob, the encryption key
will have to be shared to enable Bob to decrypt the ciphertext. If Bob enters
the wrong key he will not have the intended message from Alice.
3.2.1 The Elements of Encryption
There are many different ways
that you can use a computer to encrypt or decrypt information. Nevertheless,
each of these so-called encryption systems shares common elements:
ü Encryption
algorithm: The encryption algorithm is the
function, usually with some mathematical functions, which performs the task of
encrypting and decrypting your data.
ü
Encryption keys:
Encryption
keys are used by the encryption algorithm to determine how data is
encrypted or decrypted. Keys are similar to computer passwords: when a piece of
information is encrypted, you need to specify the correct key to access it
again.
ü
Key length: As with
passwords, encryption keys have a predetermined length. Longer keys are more
difficult for an attacker to guess than shorter ones because there are more of
them to try in a brute-force attack. Different encryption systems allow you to
use keys of different lengths; some allow you to use variable-length keys.
ü
Plaintext: The information
which you wish to encrypt.
ü
Ciphertext: The information
after it is encrypted.
3.2.2 What You Can Do with Encryption
Encryption can play a very important role in your day-to-day
computing and communicating:
·
Encryption can protect information stored on
your computer from unauthorized access - even from people who otherwise
have access to your computer system.
·
Encryption can protect information while it is
in transit from one computer system to another.
·
Encryption can be used to deter and detect
accidental or intentional alterations in your data.
3.3.0 INPUT ANALYSIS
This deals with the process used to
feed data to the system for processing. The input to the computer security
system is usually supplied during the use of the program. Data analysis of this
computer security system was based on the data gathered from the different
approaches mentioned in previous section. Facts were critically elicited from
expert sources and used in the development of this system.
3.4.0 OUTPUT ANALYSIS
This involves the resultant transformation generated after
processing of files/information supplied. The expected output which every user of
the software will look out for is:
·
Generated
cipher text for each selected file.
3.5.0 SYSTEM SPECIFICATION
Bearing in mind that the actual problem
the system is going to solve is to be able to transform plain text into cipher
text, proper specification of the object used in the development of the project
can go a long way in making sure the goal is achieved. Specification is a means
through which the user of the software and the software designer communicate
with each other understandably.
3.5.1
Main Menu Specification
The
main menu form serves as the center point to all other forms in the system. It
comprises of menus and submenu used to display another form or run procedure on
any click event. The main menu form includes the file menu, key, encode, folder
lock and help menu.
The submenus
under file menu include: Select, view, open, property and exit.
Submenu under
help menu: About.
3.5.2
Input Specification
The input
specification for the computer security: data encryption and decryption system
handles all the essential measures which users must take to protect secret
sensitive file from unauthorized view.
As a matter of fact in this work, the user only has to login, then
select file to encrypt/decrypt from the file menu on the main form. The table
3.1 below is the specification of the controls used in the login form.
Table 3.1: Login Form Specification
S/N
|
OBJECT
|
PROPERTY
|
SETTING/VALUE
|
1
|
Form1
|
Name
caption
|
frmLogin
LOGIN
|
2
|
Label1
|
Name
caption
|
lblInfo
enter username and password to access
the system.
|
3
|
Label2
|
Name
caption
|
Lbluser
Username
|
4
|
Label3
|
Name
caption
|
Lblpass
Password
|
5
|
Textbox1
|
Name
Text
|
Txtusername
(blank)
|
6
|
Textbox2
|
Name
Text
|
Txtpassword
(blank)
|
7
|
Command1
|
Name
Caption
|
CmdOk
Ok
|
8
|
Command2
|
Name
Caption
|
cmdCancel
Cancel
|
9
|
Adodc
|
Name
|
adopassword
|
Table
3.2: Encryption and decryption form specification
S/N
|
OBJECT
|
PROPERTY
|
SETTING/VALUE
|
1
|
Form1
|
Name
Capture
|
frmMain
Data
encryption and decryption
|
2
|
Image1
|
Name
Stretch
|
imgIcon
True
|
3
|
Label1
|
Name
Capture
|
lblName
File
Name
|
4
|
Label2
|
Name
Capture
|
lblFileName
{blank}
|
5
|
Label3
|
Name
Capture
|
lblStatus
Status
|
6
|
Label4
|
Name
Capture
|
lblVersion
{blank}
|
7
|
Label5
|
Name
Capture
|
lblSize1
File
Size
|
8
|
Label6
|
Name
Capture
|
lblSize
{blank}
|
9
|
Label7
|
Name
Capture
|
lblETime
Estimated
conversion time
|
10
|
Label8
|
Name
Capture
|
lblTime
{blank}
|
11
|
Label9
|
Name
Capture
|
lblPath
File
Path
|
12
|
Label10
|
Name
Capture
|
lblSource
{blank}
|
13
|
Line1
|
Name
|
linVertical
|
14
|
Line2
|
Name
|
linHorizontal
|
15
|
Commom
dialog1
|
Name
|
Comdlg
|
16
|
Image1
|
Name
|
imgFlash
|
17
|
Imagelist
|
Name
|
Imagelist1
|
18
|
Time1
|
Name
Interval
|
timTitle
500
|
19
|
Time2
|
Name
Interval
|
timImgFlash
1300
|
20
|
Time3
|
Name
Interval
|
timAck
5000
|
3.5.3 Output Specification
The output
specification was based on the operation obtained after the user might have
input file either in the encryption or decryption operation. The output enables
or leads users to where to save the result of the operation.
3.6.0 STRUCTURED DATA FLOW DIAGRAM OF COMPUTER
SECURITY: DATA ENCRYPTION AND DECRYPTION.
The essence for the system
specification is to use a data flow diagram to depict what actually happens as
the computer file navigates from one point to another within the system under
review. The data flow diagram (DFD) reduces the ambiguity in the original
specification.
Figure 3.2: Data Flow Diagram of computer security:
data encryption and decryption system