Thursday, 24 May 2012

F.E.CA









CHAPTER 1

                                  
                                     REQUIREMENT ANALYSIS

1.1 Introduction


      This project aims to develop a secure software to transfer data through a network. Here we use fingerprint authentication for identifying the correct user and send the encrypted data to another user. A user may be a person or a computer in an industry. This software supports Microsoft Word (DOC), Rich text (RTF), and Text file types (TXT).The user can print the report of data.

 The purpose of our software project is to design a Fingerprint based Data encryption system to transfer encrypted data through a network ie, data security is the main aim behind this application software . There are several benefits of doing this. First, a user can send their confidential data to another user using their biometric features. This system is developed for the communication of persons working in an organization in secure manner with the help of their fingerprint. This software is useful to many organizations, including the Police department. There are number of persons working in an organization, are allowed to use the system. The interaction is provided through a client server application. Users in the system are classified into different levels, based on the categories they have given different privileges by the super user. The members in an organization can transfer files among themselves.  The files are accessible only to authorized persons.

 This software will be a client application built on the C#.net and Oracle platforms. The interface of the software will be clean and intuitive to even non-technical users.  As the system is handling, highly sensitive information, security is very important in the system. To keep the data highly confidential security measures are adopted to prevent unauthorized access. for eg: Employee  can be able to send the confidential messages with the help encryption to his/her superior officer.
 This software includes the following features
·         A secure login and registration system using fingerprint authentication, which allows only the users in that organization to access the systems.
·         Transfer the confidential data to other users ,and the end user can print the delivered data.
·         Here RSA algorithm is used for data encryption.
  

1.2 Feasibility study

The feasibility report of the project holds the advantages and flexibility of the  project. This is divided   into three sections:
·         Economic Feasibility
·         Technical Feasibility
·         Operational Feasibility
·         Behavioral Feasibility


1.2.1 Economic Feasibility
A systems financial benefit must exceed the cost of developing that system. i.e. a new system being developed should be a good investment for the organization. Economic feasibility considers the following

 i. The cost to conduct a full system investigation.
 ii. The cost of hardware and software for the class of application.
 iii. The benefits in the form of reduced cost or fewer costly errors.
 iv. The cost if there is no change (i.e. the proposed system is not developed).

The proposed “FINGERPRINT BASED ENCRYPTION FOR CONFIDENTIALITY AND AUTHENTICATION” is economically feasible because
·         The system requires very less time factors.
·         The system will provide fast and efficient automated environment instead  of slow and error prone manual system, thus reducing both time and man power spent in running the system.          
·         The system will have GUI interface and very less user-training is required to learn it.

1.2.2  Technical Feasibility
Technological flexibility is carried out to determine whether we have the capability in term of software, hardware, personal and expertise to handle the completion of project. It centers around the existing computer system (H/W and S/W) whether it can support the addition of proposed system, if not, to what extent it can support.


The H/W and S/W required in our system  are easier to install and handle. The necessary H/W configuration and software platform is already there. The system supports interactivity with the user through GUI. So our system is technically feasible.

1.2.3 Operational Feasibility
Operational feasibility determines how much effort will go in the proposed system, and in educating and training the users on the new system. Operational study strives on ensuring that the equilibrium of the organization and status in the organization are not disturbed and changes are readily accepted by the users. The proposed system is operationally feasible because it does not require any training for the users.

1.2.4 Behavioral Feasibility

An estimate should be made of how strong a reaction the user staff is likely to have toward the development of a computerized security system. It is common knowledge that computer installations have something to do with turnover, transfer, retaining and changes in employee job status. Introduction of this software does not require any special effort to educate and train the staffs because this software is not so complicated and easy to understand. 

1.3 Project plan  
Our group consists of three members and we worked together according to a detailed plan to ensure quality in all aspects for assigning tasks to each member clearly. 
Project name: fingerprint based Encryption for Confidentiality and Authentication.
Project site :KMCT College of Engineering,Calicut
Guide: Ms.Liji                       Submitted on: 11/7/2011


Table 1.1 Project plan

SS.Lno
Activity Description
Role
Start Date
Target Date
1
Topicidentification
All Members
11/2/11
16/2/11
2
Feasibility study
All Members
16/2/11
18/2/11
3

User interview
Naveen Kumar
18/2/11
23/2/11
4
Requirement
analysis
Nidhin TT ,Fathima Shaniba K
18/2/11
24/2/11
5
SRS preparation
Fathima Shaniba k
24/2/11
3/3/11
6
Design(database)
Nidhin TT
3/3/11
25/3/11
7
Coding
Naveen Kumar
25/3/11
27/3/11
8
Testing,  Implementation
All Members
27/4/11
31/5/11
9
Report
Fathima Shaniba.k
31/5/11
10/6/11

Team members:
FATHIMA SHANIBA.K
NAVEEN KUMAR.P
NIDHIN .T.T


1.4 User Interviews

        In order to understand about the secure data transfer through a network,  requirement analysis had been conducted at Bank of India,Beypore. 
By describing the great process in details, we can divide the entire process into three major processes.
1. Fingerprint Authentication.
2. Data Encryption.
3. Transferring the encrypted data through a network.
4. Data Decryption (the encrypted data is decrypted and the authorized user       can access it).
5. To obtain the view of decrypted data to the user (eg: employee data).
6. User can print the reports (e.g.: data).
       
1.5 Existing system
The Existing system is a manual system in which each user has a username and a password.
Since it is mandatory, there is a chance of an unauthorized user to access the system. As a result it is highly insecure. It has low efficiency and time consuming. In highly sensitive data that can be sending using primitive methods are very insecure because it can be easily interrupted by externals

1.5.1Disadvantages
·         Manual transaction
·         Insecure
·         Low efficiency
·         External interference(Hacking)

1.6 New requirements
New requirements needed for the working of FECA is we need a fingerprint reader which is compactable with windows xp.

1.7 Proposed system
·         High security
·         High efficiency& Accuracy
·         No external interference
·         Support wireless/wired data transaction
  
1.8 Requirement analysis
  Requirement analysis is a process of understanding the customer needs and expectations from a proposed system or application and is a well-defined stage in software development life cycle model. This provides a software for the user who wish to securely transfer data through a network, which is more reliable, user friendly and thorough interaction with the database.
Requirements are the description of how a system should behave or a description of system properties and attributes. It can alternatively be a statement of ‘what ‘an application is expected to do.
A dedicated and specialized requirement analyst is best equipped to handle the jobs. The requirement analysis function may also fall under the scope of project manager, program manager, depending on the organizational hierarchy.

1.9 The overall Description
This software is mainly aims the confidential data security. The main requirements for this includes the number of users and their job types, registration methods, encrypting algorithms, identifying algorithms etc..
The most of the fingerprint scanners (reader) support only 660 fingerprints, so there is some problem occurs when the number of users (Employee’s) in an industry greater than 660.We can solve this by saving the templates into our PC.


 1.10 Product Perspective

In this method data are encrypted using public key encryption method .Fingerprint authentication is used to login and decrypt the data. This system encrypts the data and only the authorized person can be able to view the data using their biometric features. This application more concern with the data security or data security is the main aim behind this application software. In this method, each user will be provided public key and private key .Using public key user encrypt his/her confidential data and after encryption the cipher text will be send to another(receiver) user. For data encryption, RSA algorithm is used ,Here we use 1024 bit RSA encryption .A RSA key length of 1024 bits is sufficient for many medium-security purposes such as web site logins etc.. Its main application areas includes the Police department,Court,Secret service  departments, Industries , Educational Institutions etc..
The main functionalities used in this project are:
·         Fingerprint Authentication.
·         Data Encryption.
·         Transferring the encrypted data through a network.
·         Data Decryption (the encrypted data is decrypted and the    authorized user can access it).
·         To obtain the view of decrypted data to the user (eg:  employee data).
·         User can print the reports (e.g.: data).

Performance: First, the easy bit. Figure 1 shows the time taken to encrypt various numbers of 16-byte blocks of data using the algorithms mentioned.

fig 1.1


 1.11 System  Interface

In this project we include a fingerprint authentication system, it improves the quality of product.
If our system includes a fingerprint reader, we can use biometric authentication in addition to standard authentication via login and password. After registering their fingerprint, users can log in to the system either by swiping a finger on the fingerprint reader or by typing in a password.
.



1.12 Interfaces
In this system the interface between the user application (software) and the fingerprint scanner is introduced in login section (before encryption/decryption).Here we use serial port to connect fingerprint scanner.

1.12.1 Hardware  Interfaces
     
In this project the main hardware is fingerprint scanner. The main functionality of a fingerprint scanner is to scan the user’s fingerprint  and produce  exact pattern of that fingerprint. Most fingerprint scanner systems compare specific features of the fingerprint, generally known as minutiae. Typically, human and computer investigators concentrate on points where ridge lines end or where one ridge splits into two (bifurcations). Collectively, these and other distinctive features are sometimes called typica.
The scanner system software uses highly complex algorithm to recognize and analyze these minutiae. The basic idea is to measure the relative positions of minutiae, in the same sort of way you might recognize a part of the sky by the relative positions of stars.

1.12.2 software  Interfaces

In this project,the software interface needed are Oracle 9i,C#.Net(Visual studio) and an operating system windows xp.


 1.12.3 Communication  Interfaces

This software is a network based one. We need some other hardware components for connecting  these software to a network.

1.12.4 Memory constraints

Memory constraints are related to the software project‘s memory management which tells the minimum memory required for running this software.
In the case of .net software projects, it needs a minimum 256Mb RAM for smooth running of software.

  
1.13Operations       
The main operations in this software systems are
·         Authentication.
·         Encryption.
·         Decryption.
·         Printing the data and the report.


 1.14 Product functions

Here the confidential data are encrypted using public key encryption method .Fingerprint authentication is used to login and decrypt the data. This system encrypts the data and only the authorized person can be able to view the data using their biometric features. The user use his/her private key to decrypt the data (cipher text) .These user can able to  print the decrypted data.  For the identification of fingerprints, PCA algorithm is used. This application more concern with the data security or data security is the main aim behind this application software. In this method, each user will be provided public key and private key .Using public key   user encrypt his/her confidential data and after encryption the cipher text will be send to another(receiver) user. For data encryption, RSA algorithm is used ,Here we use 1024 bit RSA encryption.
We may need to encode independent pieces of data (be they files, communications across a network etc), and we might want them to be encoded differently so that just because Person A can decode File A' with our system doesn't necessarily mean that Person B can decode File B' with our system.

 1.15 User characteristics

For operating this software, the educational level ,technical skill and technical experience  of user is not important.

1.16 Specific Requirements

There should be minimum and specific requirements for our system to be active. Mainly there are two categories they are hardware as well as software complexities.Software’s used for developing : Microsoft visual studio 2008,Oracle 9i

1.17 Functional Requirements

1.17.1 Authentication
(Checks whether the data is accessed by the authorized user.)            
 1.17.1.1 Registration
 1.17.2 Data Encryption
 (Encrypt the uploaded data)
 1.17.2.1 Authentication
 1.17.3 Data Decryption
(Decrypt the delivered data)
 1.17.3.1 Authentication
1.17.4  Report Printing
(Print the data and report)
 1.17.4.1 Authentication
1.17.4.2 Data Decryption.






1.18 Performance Requirements

It includes functions that depends on the performance of software.for example, the software system supports simultaneous data transfer.


1.19 Hardware and Software Requirement

.NET  

The .NET framework is a new computing platform that simplifies application development in the highly distributed environment of the internet. The .NET framework is designed to fulfil the following.
To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but internet-distributed, or executed remotely ,code execution environment that minimize software deployment and versioning conflicts, that guarantees safe execution of code ,including code created by an unknown or semi-trusted third party, that eliminates the performance problems of scripted or interpreted environments. The developer experience consistent across widely varying types of applications, and web-based applications, all communication on industry standards to ensure that code based on the .NET framework can integrate with any other code.

C#.NET:-

C#.NET is the next generation of the visual basic  language from Microsoft. With C# you can build .NET applications quickly and easily. Applications made with  C# are built on the services of the common language runtime and take advantage of the .NET framework.

C# has many new and improved features such as inheritance,interfaces,and overloading that make it a powerfull object-oriented programming language. Other new language features include free threading and structured Exception handling.C# fully integrated the .NET frameworkand the common language runtime,,which together provides language interoperability,garbage collection,enhanced security,and improved versioning support.C# supports single inheritance security and create Microsoft intermediatelanguage(MSIL) as input to native code compilers.

C# comparatively  easy to learn and use ,and has become the programming language of choice for hundreds of thousands of developers over the past decade.An understanding C# can be leveraged ina variety of ways ,such as writing macros in visual studio and providing programmability in application such as Microsoft excel ,access and word).
C#.net ,the next generation of the c# language ,is a fast and easy way to create ..NET based application.C#.net has many new and improved features that make it a powerful object-orientedprogramming language,including  inheritance ,interfaces ,and overloading .Other new language features include free threading and structured exception handling.C# .net also fully integrates the .net framework and the common language runtime ,which provide language interoperability,garbage collection,enhanced security,and improved versioning support.


Hardware Requirements:

Processor: Intel Pentium
Main memory: 256Mb
Mouse: MC Series of compactable.
Keyboard :multimedia

Software Requirements:

OS= windows XP
Front-end: C#.NET
Backend: Oracle


1.20 Logical Database requirements

·         The database used is Oracle 9i.
·         For storing user’s fingerprint id.
·         For storing user’s details.
·         For  storing data.


1.21 DESIGN CONSTRAINTS

1.21.1 Standard Compliance:

The user can able to print the decrypted data and reports.


1.22 Software  system  attributes

The Front end used for developing the software project is C#.net and the Back end used is Oracle 9i.

1.22.1  Reliability

Informally, software is reliable if user can rely on it. Reliability can be defined mathematically as “probability of absence of failures for a certain time period” – statistical behavior.

The probability of failure is less because the software should be build without errors at the time of delivery.
1.22.2  Security
      Security refers to data protection. The database used is Oracle which is highly secure.
1.22.3 Maintainability
Maintainability of a software system is related to the ease of its maintenance after the first release. Unlike other engineering products, there is no wear and tear for software products. The term maintenance is used for the activities done on software either to correct the bugs or to improve the features or to update the system incorporating additional features
        The software developed is maintainable i.e., developer can update the system in future.
1.22.4 Portability
 Portability of software is its ability to run on different environment. The environment can be hardware,operating systems, databases and interfaces. Portability is economically important as the investment on systems    can be amortized across various environments and   generations of these environments.
This software is designed for windows os.

1.23 Conclusion
The subsection of the chapter provides an overview of proposed system design and its other functional requirements clearly and precisely.
                             










                                               CHAPTER 2

                     DESIGN SPECIFICATION


2.1 Introduction 
      This project aims to develop a secure software to transfer data through a network. Here we use fingerprint authentication for identifying the correct user and send the encrypted data to another user. A user may be a person or a computer in an industry. This software supports Microsoft Word (DOC), Rich text (RTF), and Text file types (TXT).The user can print the report of data.


  2.1.1 Design Overview

Design is a fundamental human activity. Design provides a structure to any artifact. It decomposes a system into parts, assigns responsibilities to each part, and ensures that the parts fit together to achieve the global goals of the system.
 In the case of software, design is the activity that acts as a bridge between requirements and implementation of software. Once we have determined the need for a system and we have decided on its desirable qualities, including the interface it provides for interaction with the external world, we proceed to design that system. The first result of the design activity is an architectural design that shows the major parts of the system and how they fit together and cooperate.
The output of the design activity is software design. A software design is defined as a decomposition of modules-a description of what each module is intended to do and of the relationship among the modules. Often software architecture is prior to a software design and it guides the development of the design

2.1.2Purpose
The purpose of our software project is to design a Fingerprint based Data encryption system  to transfer encrypted data through a network  ie ,data security is the main aim behind this application software . There are several benefits of doing this. First, a user can send their confidential data to another user using their biometric features. This system is developed for the communication of persons working in an organization in secure manner with the help of their finger print. The interaction is provided through a client server application. Users in the system are classified into different levels, based on the categories they have given different privileges by the super user. The members in an organization can transfer files among themselves.  The files are accessible only to authorized persons.

 2.1.3 Scope

This software will be a client application built on the C#.net and Oracle platforms. The interface of the software will be clean and intuitive to even non-technical users.  As the system is handling, highly sensitive information, security is very important in the system. To keep the data highly confidential security measures are adopted to prevent unauthorized access. for eg: Employee  can be able to send the confidential messages with the help encryption to his/her superior officer.
 This software includes the following features
·         A secure login and registration system using fingerprint authentication, which allows only the users in that organization to access the system’s.
·         Transfer the confidential data to other users ,and the end user can print the delivered data.
·         Here RSA algorithm is used for data encryption .

2.2 Database design 
A data base is a collection of logically related records. The main objective of data base is to provide effective auxiliary storage without any application and contribute to the overall efficiency of the computer program components of the whole system.
The organization of data in the database aims to achieve the following objectives
·                  controlled redundancy
·                  ease of learning in use
·                  data independence
·                  more information in low cost
·                  accuracy and integrity
·                  recovery form failure
·                  privacy and security
·                  performance

The normalization process takes a relation schema through a series of tests to certify whether it satisfies a certain normal form. The process, which proceeds in a top-down fashion by evaluating each relation against the criteria for normal forms and decomposing relations as necessary, can thus be considered as relational design by analysis. There are mainly three normal forms: first, second, and third normal form. All these normal forms are based on a single analytical tool: the functional dependencies among the attributes of a relation.
Normalization of data can be considered a process of analyzing the given relation schemas based on their FDs and primary keys to achieve the desirable properties of,
·       Minimizing redundancy
·       Minimizing the insertion, deletion, and update anomalies.
Unsatisfactory relation schemas that do not meet the normal form tests are decomposed into smaller relation schemas that meet the tests and hence the desirable properties.
The normal form of a relation refers to the highest normal form condition that it meets, and hence indicates the degree to which it has been normalized.
First normal form
First normal form (1NF) states that the domain of an attribute must include only atomic values and that the value of any attribute in a tuple must be a single value from the domain of that attribute. Hence, 1NF disallows relations within relations or relations as attribute values within tuples. The only attribute values permitted by 1NF are single atomic values.
Second normal form
Second normal form (2NF) is based on the concept of full functional dependency. A functional dependency is a full functional dependency if removal of any attribute does not hold the dependency any more.
A relation schema is in 2NF if every nonprime attribute in relation is fully functionally dependent on the primary key of that relation.
Third normal form
Third normal form is based on the concept of transitive dependency. A relation schema R is in 3NF if it satisfies 2NF and no nonprime attribute is transitively dependent on the primary key.
Our project is fully normalized up to second normal form where each key is fully depending on the primary key. The database of our project is designed using Oracle 10g and it comprise of 3 tables.


The design should be done in a way the information stored in the database can retrieve quickly whenever needed. It Provide a high-level overview of how the functionality and responsibilities of the system were partitioned and then assigned to subsystems or components.

In this ,data are encrypted using public key encryption method .Fingerprint authentication is used to login and encrypt/decrypt the data. This system encrypts the data and only the authorized person can be able to view the data using their biometric features. For the identification of fingerprints, the fingerprint reader is used. This application more concern with the data security or data security is the main aim behind this application software. In this method, each user will be provided public key and private key .Using public key   user encrypt his/her confidential data and after encryption the cipher text will be send to another(receiver) user. For data encryption, RSA algorithm is used ,Here we use 1024 bit RSA encryption .A RSA key length of 1024 bits is sufficient for many medium-security purposes such as web site logins etc.. Its main application areas includes the Police department,Court,Secret service  departments, Industries , Educational Institutions etc..
The main functionalities used in this project are:
·         Fingerprint Authentication.
·         Data  Encryption.
·         Transferring  the encrypted data through a network.
·         Data Decryption (the encrypted data is decrypted and the authorized user can access it).
·         To obtain the view of decrypted data to the user (eg: employee data).
·         User can print the reports (e.g.: data).
The main purpose Here is to gain a general understanding of how and why the system was decomposed, and How the individual parts work together to provide the desired functionality. At the topmost Level, describe the major responsibilities that the software must undertake.

Hardware Architecture
Here the database is installed in the server and we access the data or send the encrypted data through a local area network connection.



Internal Communications Architecture
By using this software we can easily identify the other systems in the network and also can send encrypted data to any other user through a LAN.

Software Architecture
Which includes the all software systems that support the fingerprint based encryption for confidentiality and authentication system.

   2.2.1 TABLES
There are 3 table’s in this project
1: Registration: This table used for registering a new user ,the attributes are userid,username,name,address,gender,dob,contactno:,designation,department,fingerprint id.

2: Login: This table used for authentication of  user,ie a username and  fingerprint  of that  user is the login name and password.
    
3: Message: After encrypting a file(.txt,.rtf,.doc etc) the sender keeps the data path in the data table,so the receiver can identify the location of encrypted data and easily decrypt it using his/her fingerprint.

  2.2.2 DATABASE TABLES

1:Registration

                                                       Table 2.1 Registration

NAME
DATA TYPE
SIZE
SCALE
NULLS
DEFAULT VALUE
USERID
NUMBER
10
0


UNAME
VARCHAR2
250



NAME
VARCHAR2
250



ADDRESS
VARCHAR2
500



GENDER
VARCHAR2
0



DOB
VARCHAR2
10



CONTACT NO
NUMBER
30
0


DESIGNATION
VARCHAR2
50



DEPARTMENT
VARCHAR2
50



FINGERPRINTID
NUMBER
30
0



2:Login
                                             Table 2.2 Login

NAME
DATA TYPE
SIZE
SCALE
NULLS
DEFAULT VALUES
UNAME
VARCHAR2
10



UPASSWORD
NUMBER
20
0



Here UPASSWORD is the fingerprint id for each user
3:Message
                                               Table 2.3 Message
NAME
DATA TYPE
SIZE
SCALE
NULLS
DEFAULT VALUES
FINGERPRINT
NUMBER
10



KEY
NVARCHAR
500
0


TIME1
DATE




SENDER
NUMBER
50



MESSAGE
CLOB





2.3 Data Flow Diagram:
As the name suggests DFD is a representation of the data flow within the system. It includes processes, data stores and external interfaces to the system.  External interfaces may be treated as external entities. DFD’s can by explode to sub-processes. Any two entities/data stores must be connected to each other by some process. The processes cannot be directly connected to each other. The following are the four major components of the DFD:
·       Process
·       External Entity
·       Data Store
·       Connector
The DFD is also known as the bubble chart. It is a simple graphical formalism that can be used to represent a system in terms of the input data to the system, various processing carried out in these data and the output data generated by the system. The main reason why this DFD technique is so popular is probably because of the facts that DFD is very simple formalism. It is simple to understand and use. A DFD model uses a very limited number of primitive symbols to represent the functions performed by a system and the data flow among these systems. Starting with a set of high-level functions that a system performance of DFD model in hierarchically it represents various sub functions. The Data Flow Diagramming technique also follows a simple a simple set of intuitive concepts and rules.

DATAFLOW DIAGRAM (DFD)

Level 0:
             USER
 


 
    Login
Encryption/Decryption
 






Fig 2.1

Level1:
Login
Registration
 



                                                                                                                       
Login                                                                                                                                          registration
Upload File
Encrypt
 






                                                            Data    
Printer
pPrinterrinter
Decrypt
Print
    Download
 














Level 2:

      USER
     Login
Registration
Upload File
 
                                               

                                                                                                                       
Login                                                                                                                                            registration

  File Type
 



                                                           
 


                                               
   Encrypt
    .doc/.docx
       .txt
      .rtf
 







                                                            Message
                                   
Printer
pPrinterrinter
    Decrypt
    Print
  Download
 



2.4 Entity-Relationship Diagram (ERD)
The Entity Relationship Diagram (also known as an ERD or E-R diagram) is a network model that describes the stored data layout of a system at a high level of abstraction. The ERD should represent the relationships between all the entities. Any two entities must be connected to each other by some relationship set and type of relationship should also be specified.
Components of an ERD
There are two major components of an ERD:
Entity:
It is defined as any object about which information is collected. It has different attributes which describe it. It should be represented by a regular box as shown below:
Relationships:
Entities are connected to one another by relationships. a relationship represents a set of connections between entities and represent by a diamond.
A relationship is a two-directional significant association.
There are three types of relationships
   One-to-one relationships
   One-to-many relationships
   Many-to-many relationships

 










ERD:-



Administrator
Name
Login id
register
        Users
Name
Finger ID
Fingerprint module
Authenticate by
Send/receive
Data or information
Decrypted by
Encrypted by
Encryption
Decryption
 





















Fig 2.2










2.5 Context Analysis Diagram (CAD)

The Context Analysis Diagram (CAD) may be used to represent the top level overviews of the existing system. The CAD is drawn to represent the state of the system during the requirement analysis phase.

The CAD shows the system as a single process represented by a circle at the center of the model. There shall always be only one system process in a CAD. The model shows entities external to the system process. The entities are representative of the existing significant objects in the current system scenario. The external entities are connected to the central process through connectors representing the information flowing into/ out of the system.  CAD should be drawn with the help of latest version of the Turbo Analyst tool available with the company.

CAD: 
       Administrator
                                              Encryption /decryption confirmation
    Pda                                              update request                        encryption /decryption request
                                              Update confirmation    
                                       Print confirmation

     F.E.C.A
            Print  request

 



            User details request


user details confirmation



Fig 2.3
           USER




2.6 Process Design

 2.6.1 Input Design
Input design is the process of converting the user originated inputs to a computer based format. The goal of designing input data is to make the automation is easy and free from errors. The design for handling input specifies how data are accepted for computer processing. Input design is of overall system design that careful attention and if includes specifying the means by which action are taken. a system user interaction through a work station  must be able to tell the system whether to accept input  produce a report or end processing. The collection of input data is considered to be the most expensive part of the system design. Since the inputs have to be planned in such a manner so as to get the relevant information extreme care is taken to obtain the information .if the data going into the system is incorrect then the processing and outputs will magnify these errors.

   
 2.6.2 Output design

A quality output is one which meets the requirement of the end user and presents the information clearly .In any system, the results of processing are given to the users through the outputs.In the output design it is determined how the information is to be displayed for immediate need.

Output design should improve the relationship of the system with the user and help in decision –making. The objective of the output design is to define the format  of all printed documents and of screens that will be produces by the system. The output has been designed as per the needs of the institution .The suggestions of the users are also taken into consideration while designing the layouts and the fields that are to be included in the project.



2.7  USER INTERFACE DESIGN

  1: Login
In this Login window ,we give our username and our fingerprint id as input,in the case of the administrator he gives username and password as input.For each new registration the username and fingerprint id stored to login table.



Fig 2.4


2:Registration

In the first text box accept the user id  which is a number,the second textbox accept the full name of the user, then the next textbox for the username,the username of that particular user is provided by the administrator.the next textbox for input  the address of the user.the radiobutton is used to select the gender of the user(Female or Male).the combobox is used to select the date of birth of the user.then enter the contact number ,designation and department of the user ,atlast scan the finger using fingerprint scanner,and then get a key in that text box usually in the number format.






Fig 2.5

3:Encryption form

For encrypting a data, use the upload option and then upload users data .After uploading if there is any correction ,user can select the view option and then at the left side of the window the user can edit the data and also save the new data.then select the encryption option and create the encrypted data. Now select the receivers name from the list of all users
Here  user id is considered as the primary key.then send the data. 

Fig 2.6

4:User details

From this window the administer can list the all users (eg:employee) ,delete the selected user and also search a particular user by using his user id.

              

Fig 2.7





5:Decryption form

In the decryption form ,the user first select the data from the left side after that select the decryption option and then user can see the decrypted data by selecting view option.then the user can save or print the data.

Fig 2.8


2.8 Conclusion
The document contains the detailed design of database, user interfaces which include input and output design separately and finally the process decomposition also. 















CHAPTER 3


  CODING

3.1 Source code

3.1.1 Registration form

Source code of SAVE button in Registration form.The SAVE button is used to insert the user   details to the database .

  private void button3_Click(object sender, EventArgs e)
        {

            if (textBox1.Text == "")
               MessageBox.Show("USERID is mandatory.         Fill all fields before save");
            else if(textBox2.Text=="")
                MessageBox.Show("NAME is mandatory.          Fill all fields before save");
            else if (textBox4.Text == "")
                MessageBox.Show("USERNAME is mandatory.      Fill all fields before save");
            else if (textBox3.Text == "")
                MessageBox.Show("USERID is mandatory.        Fill all fields before save");
            else if (textBox5.Text == "")
                MessageBox.Show("CONTACTNO is mandatory.     Fill all fields before save");
            else if (textBox6.Text == "")
                MessageBox.Show("DESIGNATION is mandatory.   Fill all fields before save");
            else if (textBox7.Text == "")
                MessageBox.Show("DEPARTMENT is mandatory.    Fill all fields before save");
            else if (textBox8.Text == "")
                MessageBox.Show("FINGERPRINT is mandatory.   Fill all fields before save");
            else if (!radioButton2.Checked &&  !radioButton1.Checked)
                MessageBox.Show("Select any gender.          Fill all fields before save");
          
           else
            {
                save.Enabled = true ;
                co.pusrid = Convert.ToInt32(textBox1.Text);
                co.pads = textBox3.Text;
                co.pcontno = Convert.ToInt64(textBox5.Text);
                co.pdgn = textBox6.Text;
                co.pdep = textBox7.Text;
                co.pnam = textBox2.Text;
                co.punam = textBox4.Text;
                if (radioButton1.Checked == true)
                {

                    co.pgender = radioButton1.Text;
                }

                else
                {
                    co.pgender = radioButton2.Text;
                }
                co.pdob = dateTimePicker1.Value.ToString();
                cl.pfid1 = Convert.ToInt32(textBox8.Text);
                cl.punam1 = textBox4.Text;
                co.pfid = Convert.ToInt32(textBox8.Text);
                RSACryptoServiceProvider rsa1 = new RSACryptoServiceProvider();
                string key = rsa1.ToXmlString(true);
                co.pkey = key;
                po.ins(co);
                pl.ins1(cl);
}}


3.1.2 User Details

Search by ID: It give  the details of  a particular user by entering their id.

private void button3_Click(object sender, EventArgs e)
        {
            if (init() == true)
            {
                cr.pusrid = Convert.ToInt32(textBox1.Text);

                dataGridView1.DataSource = pr.sel_con(cr).Tables[0];
              

            }
        }

Update : To Update  the user details.

private void button1_Click_1(object sender, EventArgs e)
        {
            cr.pusrid = Convert.ToInt32(dataGridView1[0, i].Value);
            cr.pads = (dataGridView1[2, i].Value).ToString();
            cr.pcontno = Convert.ToInt32 (dataGridView1[5, i].Value);
            cr.pdgn = (dataGridView1[6, i].Value).ToString();
            cr.pdep = (dataGridView1[7, i].Value).ToString();
            pr.upd(cr);
           
        }


Delete: To Delete a particular user .

private void button1_Click(object sender, EventArgs e)
        {
            cr.pusrid = Convert.ToInt32(dataGridView1[0, i].Value);
            pr.del(cr);
           
            grid();
        }


View all: It shows all user details.

private void button2_Click(object sender, EventArgs e)
        {
            grid();

           
       
        }

3.1.3 Encryption Form

This  source code for Encrypting the data/message send.

private void button7_Click(object sender, EventArgs e)
        {
           
            dataGrid1.Visible = true;
            string key = "";
            con.pfid = Convert.ToInt32(textBox1.Text);
            DataTable dt = pro.sel_fin(con).Tables[0];
            if (dt.Rows.Count > 0)
            {
                key = dt.Rows[0][10].ToString();
            }
            rsa1.FromXmlString(key);
            int i = 0;
            string proc = richTextBox1.Text;
            string en="";
            while (i < proc.Length)
            {
                int count = (i + 100 < proc.Length ? 100 : proc.Length - i);
                string tmp = proc.Substring(i, count);
                t = enc1.GetBytes(tmp);
                t = rsa1.Encrypt(t, false);
                op = Convert.ToBase64String(t);
                en += op;
                i += 100;
            }

                cm.pmessage1 = en ;
                cm.pkey1 = pb;
                cm.pfingerprint1 = Convert.ToInt16(textBox1.Text);
                cm.ptime1 = Convert .ToDateTime (DateTime.Now.ToShortDateString ());
                cm.psender1 = fffid;
                pm.insm(cm);

                cm.pfingerprint1 = Convert.ToInt16(textBox1.Text);
                dataGrid1.DataSource = pm.SEL_FING(cm).Tables[0];


                button4.Enabled = false;
                System.Net.Sockets.TcpClient tcpclient1 = new TcpClient();

        }


3.1.4 Decryption Form

This  source code for Decrypting the received data /message.

 private void button1_Click(object sender, EventArgs e)
        {
            richTextBox2.Visible  = true;
            richTextBox2.Clear();
            char[] c = new char[1];
            c[0] = '=';
            con.pfid = Convert.ToInt32(textBox1.Text);
            string key = "";//= rsa.ToXmlString(true);

            DataTable dt = pro.sel_fin(con).Tables[0];
            if (dt.Rows.Count > 0)
            {
                key = dt.Rows[0][10].ToString();
            }
            rsa.FromXmlString(key);
            string[] ot = encrypt .Split(c, StringSplitOptions.RemoveEmptyEntries);
            foreach (string s in ot)
            {
                string tmp = s + "=";
                byte[] b = Convert.FromBase64String(tmp);
                byte[] t1 = rsa.Decrypt(b, false);
                UnicodeEncoding bc = new UnicodeEncoding();
                richTextBox2.Text = richTextBox2.Text + enc.GetString(t1);

            }

          



        }

3.1.5 Print Data

To print the data.

private void button4_Click(object sender, EventArgs e)
        {
            PrintDialog printDialog1 = new PrintDialog();
            PrintDocument DocumentToPrint = new PrintDocument();
            printDialog1.Document = DocumentToPrint;
            if (printDialog1.ShowDialog() == DialogResult.OK)
            {

                try
                {
                    StreamWriter sw = new StreamWriter("C:\\sample.txt");
                    sw.Write(richTextBox2.Text);
                    PrinterSettings d = new PrinterSettings();
                    d.PrintFileName = "C:\\sample.txt";
                    d.PrintToFile = true; ;
                    DocumentToPrint.PrinterSettings = d;
                    DocumentToPrint.Print();
                }
                catch
                {
                }

            }
        }



















                                                   
 CHAPTER 4


  TESTING


4.1 Introduction

The chapter testing describes various testing methodologies which are adapted and detailed view of test data’s within each database. During testing of a program to be tested is executed with a set of test data and the output of the program for test data is evaluated.

4.2 Unit Testing

Unit Testing is a procedure used to validate that individual units of source code are working properly. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual program, function, procedure, etc., while in object-oriented programming, the smallest unit is a method; which may belong to a base/super class, abstract class or derived/child class. Ideally, each test case is independent from the others; mock objects and test harnesses can be used to assist testing a module in isolation. Unit testing is typically done by developers and not by Software testers or end-users

4.3 Integration Testing

Integration testing is the phase of software testing in which individual software modules are combined and tested as a group. It follows unit testing and precedes system testing. Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing. The purpose of integration testing is to verify functional, performance and reliability requirements placed on major design items.
The following are the types of Integration Testing

4.3.1 TOP DOWN INTEGRATION

 This method is an incremental approach to the construction of program structure. Modules are integrated by moving downward through the control hierarchy, beginning with the main program module. The module subordinates to the main program module are incorporated into the structure in either a depth first or breadth     

  4.3.2 BOTTOM-UP INTEGRATION

     This method begins the construction and testing with the modules at the lowest level in the program structure. Since the modules are integrated from the bottom up, processing required for modules subordinate to a given level is always available and the need for stubs is eliminated. The bottom up integration strategy may be implemented with the following steps:
The low-level modules are combined into clusters into clusters that perform a specific Software sub-function.
A driver (i.e.) the control program for testing is written to coordinate test case input and output.
The cluster is tested.
Drivers are removed and clusters are combined moving upward  In the program structure

4.4 Validation and testing
Software validation is achieved through a series of tests that demonstrate conformity with requirements. Validation succeeds when software functions in a manner that can be reasonably expected by the end user. Testing is necessary for the success of the system. During testing of a program to be tested is executed with a set of test data and the output of the program for test data is evaluated to determine if the programs are performing as expected.
First the application goes through a phase often referred as alpha testing in which the errors and failures based on simulated user requirements are verified and studied. The modified software is then subjected to phase two called beta testing in the actual user’s site or live environment. After a scheduled time, failures and errors are documented for final correction and enhancements are made before the package is released


In our project, validation and checks have been done in order to ensure that the developed system is performing up to its expectation. Validations have been done in the area of   login sections and registration sections.  In registration forms, certain rules have been set like no field is left blank. In this way each field in the registration form are checked, checking for user name availability and reporting status. In the login pages appropriate   messages are displayed when a user provides an invalid response.


4.5 System Testing
System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic.
It is the process of executing the program with the intent of finding errors Testing cannot show the absence of defects; it can only show that software errors are present.

Test Type
·       Functionality testing.
·       Usability testing.
·       Interface testing
·       Compatibility testing.

·        Functionality Testing
Tested forms in all pages:
Forms are the integral part. Firstly checked all the validations on each field like user name and password,checking whether all mandatory fields are filled and so on. Checked by providing wrong inputs to the fields in the forms and found they are responding appropriately. Wrong input include like proving an invalid user name or password.
Checks have been made to ensure whether the database functions are working. Like when a new user registers with the site there is database query regarding this. So, these queries are tested by looking into the actual database whether all entries have been affected to the database. If this is not the case, query is checked and rectified. Database checking was positive.

·        Interface Testing:
The main interfaces are: client application interface and database interface. In this project, ORACLE 9i is used. ORACLE 9i should hold all the C# files which will be interacting with the application logic in the C# .NET. All these interactions between has been checked and found to be working  properly. Errors are also handled properly.








4.6 Test data
4.6.1 User Registration
   Table 4.1 User registration
USERID
NAME
ADDRESS
DOB
CONTACTNO
DESIGNATION
101
RAJ
17TH Streat ,Mumbai
17/8/1990
18522222
Programmer
102
John
20 link road madras
18/5/1988
22522222
Software developer
103
Sumesh
Door:124 lovepark ,b”lore
11/6/1896
asd28956
doctor
104
Jhon ckurivila
Kurishu pala
22/04/1986
12347894

105
Shani
Saas,kannur
25/09/1989
23456778
Fashion
designer
106
Tintumon

22/09/1990
23569899
piolet

DEPARTMENT
FINGERPRINT
USERNAME
KEY
REMARK
Computer science
107
Raj123
<Rsacrypto…
Valid
Software
00123
jhonhere
<Rsacrypto…
Invalid
Health

sumeshghy
<Rsacrypto…
Invalid
Police
1235
jhonck
<Rsacrypto…
Invalid
cosmatology
1289
jhonck
<Rsacrypto…
Invalid
Airlines
1256
Tintu124
<Rsacrypto…
Invalid



4.6.2 User Login
USER NAME
FINGERPRINT
REMARK
Feca
1919
Valid
Arshad
1234
Valid
Navi

Invalid
Revathy
1247
Valid
Sona

Invalid
Shani
1256
Valid

4.7 Conclusion
Various subsections of the chapter  provides an overview of validation and testing process.











CHAPTER 5

            IMPLEMENTATION



5.1  Introduction
Implementation is a process of converting a new system into an operational one. The designed system is converted into an operational one using a suitable programming language. Implementation includes all those activities that take place to convert an old system into a new one. Proper implementation is necessary to provide a reliable system to meet organizational requirement.


5.2Implementation plan:
Our project is client server oriented ,so we need a client server network. Administrator and users have computers with minimum requirements, and a fingerprint reader to read the finger print on each system’s. So it can be very easily established in a firm or companies in which there use group of computers having interconnected network. A user/administrator can use the software with his or her basic knowledge.

Administrator can add user by simply entering his or her details into the registration form and add his or her fingerprint using the fingerprint module in his or her presence. After registration the registered users can explore user window.

  Our software provide full security on the data send or receive, so user can send data at any    time using his or her fingerprint for authentication. The administrator can monitor all user’s activity.

In the implementation plan the requirements for implementing the project is determined and also tested to confirm the effectiveness while implementing the project design into the source code. The main goal of the implementation plan is the development of source code that is easy to read and understand. The implementation plan will help the project to proceed with the available resources. Once the implementation plan is over the source code can be developed easily because it will provide a clear idea about the project. The implementation of the proposed system is achieved via to the C#.net platform as front end and Oracle 9i as backend. Front end consist of language tools and mechanisms for manipulating the backend. 

5.3 Conclusion
Implementation describes about the whole activities necessary to provide a reliable system to meet the necessary requirement.


      








CHAPTER 6



USER GUIDE


6.1 INSTALLATION.

1.Download or copy  the software from the FECA disc or www.qiagen.com/REST.

The setupFECA.exe file is downloaded to your computer.

2. To launch the installation, double-click the    FECA .exe file.

The installation wizard, which installs the necessary components to your
computer, is launched. 








3. Click “Next>” to set up the installation.








4. Click “Next >” to begin the installation.




























5.A dialog box appears that displays the progress of the installation
procedure.





















6. When installation is complete, click “Close” to exit the installation
wizard.















6.2REPAIR

1.Select the option “Repair FECA” and click “Finish”.


















2. Installation Complete.



















6.3 UNINSTALLATION

1. Select the option “Remove FECA” and click “Finish”.




















2.Click “Close” to close the window after Uninstallation.




















6.4   AUTHENTICATION - LOGIN


Here for user’s enter the username and read the fingerprint using the fingerprint reader .In the case of Administrator ,enter the user name and password.


1.Shows the Username field.
2.Shows the Fingerprint /password  field .
3.After entering the correct Login information(username and password/fingerprint)
Click “OK” to continue.
4.”Select Port” this option for users,select the corresponding COM port that your fingerprint reader is connected and click “Set” for setting the current  COM port.




6.5 ADMINISTRATOR WINDOW



1.File: In this ,the other sub options are

   1.1  New Registrtion  :-  Here we register the  new user.

   1.2  Print Report :- To print the  sender id. ,receivers name and sending time  .

   1.3 Logout (exit):- New user Login.

2. View: Includes encryption, decryption and user details.

   2.1 Encryption: - Encrypt the uploaded data.(details shown in encryption window)

   2.2   Decryption: - Decrypt the data from the data grid. (Details shown in decryption window)

  2.3   User details:-It shows the complete user details .Also we can update or delete user a particular user and search a user by providing their fingerprint id.

3. Help

4. About Us:-About the developers.






6.6 REGISTRATION  WINDOW






1.Click “New”

2.Select the COM Port  connected to fingerprint reader  and click “Set”.

3.Fill the form correctly,then click the  “Save “ button for saving the details.




6.7 ENCRYPTION WINDOW


·        click “Upload “ for uploading a data.


·         Click “View” for viewing the uploaded data.
·        Click “Save” for saving the data to another location.

The below figure shows uploading &  view




1.Shows the Sent items (data) of current user(below figure).

2.The left side part shows the list of  users(including there Name and user id).






·         After Uploading the data ,select the receiver from the right side.

·         Then click the button “Encrypt” to encrypt the uploaded data and send the data to selected user.






















6.8 DECRYPTION WINDOW





1.Enter the password(for administrator)  in the field.

2.For user ,select the COM port that the fingerprint reader connected and click “Set”.Then read the fingerprint id using reader .

3.Click “Inbox” and then the user or administrator can see the received encrypted data .

4.Inbox position.

5.Select a data from the Inbox and then click “Decrypt” for decryption.

6.Save the decrypted data into another location .

7.The user can also print the received confidential data.


Below figure shows the Inbox of a user.



6.9 USER DETAILS

1.Enter the fingerprint Id in this field .

2.Search the details of that fingerprint id(name,address,department etc.).

3.Update the details of that fingerprint id(Fingerprint idin the field).






·         View all :-To show alluser details.(Below figure)
·         Delete:- Delete the selected user from the grid.






6.10 HELP

·         Click “Text help” to show the help topics (below figure).

1  Registration of a new user.
2  Encryption of data.
3. Decryption of data.
4 View all user details.
5 Print.



Eg of Registration help  (below figure).



Contact  Details of FECA.

email id:feca2011@gmail.com.


































No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...