Project Report 2017
Project Report 2017
Project Report 2017
Degree
In
Computer Science
By
Name of Guide
Mr Rahul Rastogi
1
Invertis University, Bareilly, INDIA
May, 2017
BONA-FIDE CERTIFICATE
This is to certify that this project report entitled “ENCRYPTION OF A FILE TO STORE ON
THE CLOUD SERVER” submitted to “Invertis Institute of Engineering and Technology,
Invertis University, Bareilly” is a bona-fide record of work done by “PRACHI PANT
(1310303037), KUMAR SHANU (1310303024), AVANTIKA (1310303016), ANIT KUMAR
(1310303011)” under my supervision from 02 Feb 2017 to 02 May 2017. The project embodies
result of original work and studies carried out by student himself and the contents of the project
do not form the basis for the award of any other degree to the candidate or to anybody else.
Name of Supervisor
Mr. Rahul Rastogi
Assistant Professor
Invertis University, Bareilly
2
DECLARATION
This is to declare that we have written this report. No part of the report is plagiarized from other
sources. All information included from other sources has been duly acknowledged. We aver that
if any part of the report is found to be plagiarized, we are shall take full responsibility for it.
Date 1310303037
3
ACKNOWLEDGEMENT
It is our privilege to express our sincerest regards to our project coordinator Mr. Rahul Rastogi,
for their valuable inputs, guidance, encouragement, whole-hearted cooperation and constructive
criticism throughout the duration of our project.
We deeply express our sincere thanks to the Head of Department Dr. Ravi Shankar Shukla for
encouraging and allowing us to present the project on the topic “Compression of a File after
Encrypting the Data” for the partial fulfilment of the requirements leading to the award of
Bachelor of Technology Degree.
We take this opportunity to thank all our lecturers who have helped in our project. We pay our
respects and love to our parents and all other family members and friends for their love and
encouragement throughout our career. Last but not the least we express our thanks to our friends
for their cooperation and support.
Prachi Pant
Kumar Shanu
Avantika
Anit Kumar
4
ABSTRACT
This project is about storing the data files in encrypted form. Normally we can store data files on
an open server and there is less security as the files are stored without any encryption. Here we
will be encrypting the data file provided by the user and then store them as a result files will be
not in readable form. If any unknown person needs to read, the file then he will need to take the
permission from the user whose file it is. If the owner does not permitted then user will only be
able to view the encrypted format of file.
No one can see through the file until the file owner permits. The file is downloaded in the
decrypted format only and only if the authorized user grants the permission. Theft of data and
personal files led to the need of encrypted data in order to save your data from intruders who
may steal the data or change it.
5
TABLE OF CONTENTS
ABSTRACT 3
LIST OF TABLES 7
LIST OF FIGURES 7
1. INTRODUCTION
1.1 Problem Definition.................................................................................................08
1.2 User panel...............................................................................................................08
2. SYSTEM REQUIREMENT SPECIFICATION
2.1 Process Model…………………………………………………………………….
2.2 Hardware Configuration..........................................................................................11
2.3 Software Configuration...........................................................................................11
2.4 Application Features....................................................................................................11
2.5 Feasibility Study……………………………………………………………………
3. SYSTEMANALYSIS
3.1 Existing System........................................................................................................24
3.2 Proposed System…………………………………………………………………...25
4. SYSTEM DESIGN
4.1 Input Design.............................................................................................................25
4.2 Process Design.........................................................................................................26
4.3 Database Design.......................................................................................................29
4.4 Output Design...........................................................................................................34
5. SYSTEM TESTING
5.1 Unit testing................................................................................................................36
5.2 Integration testing.....................................................................................................37
5.3 User Acceptance testing...........................................................................................37
6. IMPLEMENTATION
6.1 User Training.........................................................................................................38
6
6.2 Security and Maintenance......................................................................................39
7. SCREENSHOTS……………………………………………………….................
8. CONCLUSION........................................................................................................40
9. BIBLIOGRAPHY......................................................................................................41
10. REFERENCES.................................................................................................................
7
LIST OF FIGURES
37 ER Diagram 6.2(a)
8
CHAPTER 1
INTRODUCTION
9
1. INTRODUCTION
In order to easily recover the contents of an encrypted signal, the correct decryption key is
required. The key is an algorithm that "undoes" the work of the encryption algorithm.
Alternatively, a computer can be used in an attempt to "break" the cipher. The more complex the
10
encryption algorithm, the more difficult it becomes to eavesdrop on the communications without
access to the key.
In recent years, a controversy has arisen over so-called strong encryption. This refers to ciphers
that are essentially unbreakable without the decryption keys. While most companies and their
customers view it as a means of keeping secrets and minimizing fraud, some government’s view
strong encryption as a potential vehicle by which terrorists might evade authorities.
Decryption keys would be stored in a supposedly secure place, used only by authorities, and
used only if backed up by a court order. Opponents of this scheme argue that criminals could
hack into the key-escrow database and illegally obtain, steal, or alter the keys.
Home
1. It contains category of Feedback.
11
2. It allows different users to access the registration forms.
3. He/she can also view the files stored on cloud.
4. The registered user can update their files on the cloud.
Registration Form
This section provides an online form to the user in which they fill details. After the details
are filled, they are submitted to be stored in the database for the user to be authenticated by
the server for the regular login to access the services offered.
12
CHAPTER 2
SOFTWARE PROJECT PLAN
13
2. SOTWARE PROJECT PLAN
This chapter discusses about that time schedule for the project and it contains the various phases
of the project.
6 Coding 15 Days
Total 90 Days
14
CHAPTER 3
SYSTEM ENVIRONMENT
15
3. SYSTEM ENVIRONMENT
3.4.1 MODULES
3.4.1.1 Admin
The login module consists of username and password. This process is for authentication. The
username and password is correct it is link into next page. This process is done in login.
16
3.4.1.2 Symmetric Key
● AES Algorithm
● RC4 Algorithm
● Triple DES Algorithm
The left hand side of the figure shows that the processing of the plaintext proceeds in
three phases. First, the 64-bit plaintext passes through an initial permutation (IP) that
rearranges the bits to produce a permuted input. This is followed by a phase consisting of
16 rounds of the same function, which involves both permutation and substitution
functions. The output of the last (16th) round consists of 64 bits that are a function of the
input plaintext and the key. The left and the right halves of the output are swapped to
produce the preoutput. Finally the preoutput is passed through a permutation (IP-1) that is
the inverse of the Initial permutation function, to produce the 64-bit cipher-text.
The right hand portion of the figure 1 shows the way in which the 56 bit key is used.
Initially the key is passed through a permutation function. Then, for each of the 16
17
rounds, a sub-key (Ki) is produced by the combination of a left circular shift and a
permutation. The permutation function is the same for each round, but a different sub-key is
produced because of the repeated iteration of the key bits.
The initial and final permutations are straight Permutation boxes (P-boxes) that are inverses of
each other. They have no cryptography significance in DES. The initial and final permutations
are shown as follows −
18
Fig.3.4.2(b)
Round Function
The initial and final permutations are straight Permutation boxes (P-boxes) that are inverses of
each other. They have no cryptography significance in DES. The initial and final permutations–
Fig 3.4.2(c)
19
Expansion Permutation Box:
Since right input is 32-bit and round key is a 48-bit, we first need to expand right input to 48 bits.
Permutation logic is graphically depicted in the following illustration
Fig 3.4.2(d)
XOR (Whitener):
After the expansion permutation, DES does XOR operation on the expanded right section and
the round key. The round key is used only in this operation.
20
Fig 3.4.2(f)
Feasibility study is conducted once the problem is clearly understood. The feasibility study is a
high level capsule version of the entire system analysis and design process. The objective is to
determine whether the proposed system is feasible or not and it helps us to the minimum expense
of how to solve the problem and to determine, if the Problem is worth solving. The following are
the five important tests that have been carried out for feasibility study.
21
3.5.4 Political feasibility
3.5.5 Management feasibility
3.5.1 Technical feasibility
In the technical feasibility study, one has to test whether the proposed system can be developed
using existing technology or not. It is planned to implement the proposed system in JSP. The
project is technically feasible because of the following reasons,
• All necessary technology exists to develop the system.
• The existing system is so flexible that it can be developed further.
22
CHAPTER 4
CUSTOMER REQUIREMENTS
DETERMINATION
23
4. CUSTOMER REQUIREMENTS DETERMINATION
In the existing system, the encrypted key is send with the document. If the key is send with
document, any user can view the encrypted document with that key. It means the security
provided for the encryption is not handled properly.
In addition, the Key byte (encrypted key) generate with random byte. Without the user
interaction the Key byte is generated.
Drawbacks
Some of the drawbacks are:
1. Lack of security
2. Key byte is generated without user interaction
To overcome all the problems in the existing system, we develop an “Encryption -Secure
Communication Using Public Key and Symmetric Key” to ease the operation.
A system is required which is being capable of elimination all the problems and become useful to
users and thus the new system is derived. Here, user can set the byte of key manually.
Benefits
1. Security is enhanced in well manner.
2. Users set the byte key manually.
24
CHAPTER 5
SOFTWARE REQUIREMENT
SPECIFICATION
25
5. SOFTWARE REQUIREMENTS SPECIFICATION
Software Requirements Specification (SRS) is the starting point of the software development
activity. Little importance was given to this phases in the early days of software development.
The emphasis was first on coding and then shifted to design.
As systems grew more complex, it become evident that the goal of the entire system cannot be
easily comprehended. Hence need for the requirements analysis phase arose. Now, for large
software systems, requirements analysis is perhaps the most difficult activity and also the most
error prone.
Some of the difficulty is due to the scope of this phase. The software project is imitated by the
client needs. In the beginning these needs are in the minds of various people in the client
organization. The requirement analyst has to identify the requirements by tacking to these people
and understanding their needs. In situations where the software is to automated a currently
manuals process, most of the needs can be understood by observing the current practice.
The SRS is a means of translating the ideas in the minds of the clients (the output) into formal
document (the output of the requirements phase). Thus the output of the phase is a set of
formally specified requirements, which hopefully are complete and consistent, while the input
has none of these properties.
26
5.1 Functional Requirements
Start
Upload File
Encrypt File
logout
The project must the end user requirements. Accuracy and fast must be imposed in the Project.
The project is development as easy as possible for the sake of end user. The project has to be
developed with view of satisfying the future requirements and future enhancement.
The tool has been finally implemented satisfying the needs specified by the company. As per the
performance is concerned this system said is performing This processing as well as tine taken to
27
generate well reports were also even when large amount of data was used.
28
LANGUAGE : Java
WEB TECHNOLOGY : HTML
BACKEND : MySQL 1.2.10
Software reliability is defined in statical term as” the probability of faultier-free operation of a
computer program in a specified environment for specified tine”. The software quality and
reliability, failure is non-conformance to software requirements. Failure can be only anything or
catastrophic. One failure can be corrected within seconds while another requirements week even
mouths to correct. Complicating the issue even further, the correction of the one failure may in
fact result in the introduction of the errors that ultimately result in other failure.
29
Web Correct link processing
Application Reliability Error recovery
Quality Input validation and recovery
30
CHAPTER 6
SYSTEM ANALYSIS
31
6. SYSTEM ANALYSIS
In this section discussed about data flow diagram, Entity relationship diagram. These things are
represented as diagrams with proper notation.
32
Fig 6.1(a)
6.1.1. Process
Process show what system does. Each process has one or more data inputs and produces one or
more data output, Circles in a data flow diagram represent process. Each process has unique
name and number. This name and number appear inside the circle that represents the processes
in a data flow diagram. It is denoted as a circle.
33
6.1.2. Data Stores
File or data store is depositary of data. They contain data that is retained in the system.
Processes can enter the data into a data store or retrieve data from the data store. Each data store
is represented by thin line in the data flow diagram and each data store has a unique name. The
data store is represented in form of a line.
34
DFD Level 0
(Context Level DFD)
ENCRYPTION
USER SYSTEM
ENCRYPTION KEY
Fig 6.1.4(a)
DFD Level 1
35
USER LOGIN LOGIN TA
CIPHER FILE
ENCRYPTION
PROCESS
CIPHER FILE
DECRYPTION
PROCESS
DATA FILE
Fig 6.1.4(b)
DFD Level 2
36
Fig 6.1.4(c)
6.2 ER Diagram
USER 1
View Data
HAS
PERMISSIO
Text Data N
DATA
EXCHANGE
HAS
Key User ID
Encryptio
File Upload n
38
6.3 Use Case Diagram
Encryption
Login to Cloud
Client
Encrypt Uploaded
File
Logout of Cloud
Client
39
CHAPTER 9
SYSTEM TESTING
40
9. SYSTEM TESTING
System testing involves user training system testing and successful running of the developed
proposed system. The user tests the developed system and changes are made according to their
needs. The testing phase involves the testing of developed system using various kinds of data.
An elaborate testing of data is prepared and the system is tested using the test data. While testing,
errors are noted and the corrections are made. The corrections are also noted for the future use.
The users are trained to operate the developed system.
TESTING
System testing is the stage of implementation that is aimed at ensuring that the system works
accurately and efficiently before live operation commences. Testing is vital to the success of the
system. System testing makes logical assumption that if all the parts of the system are correct,
then the goal will be successfully achieved. A series of testing are done for the proposed system
before the system is ready for the user acceptance testing.
The following are the types of Testing:
1. Unit Testing
2. Integration Testing
3. Validation Testing
4. Verification testing
5. User acceptance testing
The procedure level testing is made first. By giving improper inputs, the errors occurred are
noted and eliminated. Then the web form level testing is made. For example storage of data to
the table in the correct manner.
In the company as well as seeker registration form, the zero length username and password are
given and checked. Also the duplicate username is given and checked. In the job and question
entry, the button will send data to the server only if the client side validations are made.
The dates are entered in wrong manner and checked. Wrong email-id and web site URL
(Universal Resource Locator) is given and checked.
41
9.2 INTEGRATION TESTING
Testing is done for each module. After testing all the modules, the modules are integrated and
testing of the final system is done with the test data, specially designed to show that the system
will operate successfully in all its aspects conditions. Thus the system testing is a confirmation
that all is correct and an opportunity to show the user that the system works.
The final step involves Validation testing, which determines whether the software function as the
user expected. The end-user rather than the system developer conduct this test most software
developers as a process called “Alpha and Beta Testing” to uncover that only the end user seems
able to find.
Verification is a fundamental concept in software design. This is the bridge between customer
requirements and an implementation that satisfies those requirements.
This is verifiable if it can be demonstrated that the testing will result in an implementation that
satisfies the customer requirements.
Inadequate testing or non-testing leads to errors that may appear few months later. This will
create two problems.
● Time delay between the cause and appearance of the problem.
● The effect of the system errors on files and records within the system.
User acceptance testing of a system is the key factor of the success of any system. The system
under study is tested for the user acceptance by constantly keeping in touch with the prospective
system users at any time of developing and making changes whenever required.
42
SYSTEM IMPLEMENTATION
Implementation is the most crucial stage in achieving a successful system and giving the user’s
confidence that the new system is workable and effective. Implementation of a modified
application to replace an existing one. This type of conversation is relatively easy to handle,
provide there are no major changes in the system.
Each program is tested individually at the time of development using the data and has verified
that this program linked together in the way specified in the programs specification, the
computer system and its environment is tested to the satisfaction of the user. The system that has
been developed is accepted and proved to be satisfactory for the user. And so the system is going
to be implemented very soon. A simple operating procedure is included so that the user can
understand the different functions clearly and quickly.
Initially as a first step the executable form of the application is to be created and loaded in the
common server machine which is accessible to all the user and the server is to be connected to a
network. The final stage is to document the entire system which provides components and the
operating procedures of the system.
43
CHAPTER 10
PROBLEMS FACED AND
FUTURE WORK
44
10. PROBLEMS FACED
When there is a clear goal in sight but no clear set of directions or means to attain that goal, then
it is called a problem. Problems can be broken down into four aspects; goal, givens, means of
transforming conditions, and obstacles.
Goal – the goal is the desired end state which the problem solving is being directed toward. The
hope is to reach that end state and be able to assess whether or not you achieved what you
wanted.
Givens- these are the objects, conditions, and constraints that accompany a problem, and can be
either explicit or implicit.
Means of transforming conditions- there should be a way of changing the initial state of the
problem. This is most usually a person’s knowledge or skill level. For instance, a computer
programmer presented with a problem would utilize his or her knowledge of programming
language to transform the state of the problem.
Obstacles- the problem should present a challenge. If there are no challenges involved and the
situation can be easily solved then it is not so a problem so much as a routines task.
Every problem has a problem faced, which is the whole range of possible states and operators.
Only some of these states and operators will bring the person closer to the goal state. The
problem starts at the initial state and operators are applied to change the state, creating a series of
intermediate states that should hopefully lead to the final goal state.
45
FUTURE WORK
1. In future the software will compress the encrypted data and stores it on cloud server so
that the user can store the data by paying minimal amount.
2. Currently .txt files can be encrypted only, but in future other file formats like .doc, .exe
and image files .jpg can also be encrypted.
3. For now system allows client to view files only, but in future they can download them.
46
CHAPTER 12
CONCLUSION
47
12. CONCLUSION
It is concluded that the application works well and satisfy the users. The application is tested
very well and errors are properly debugged. The site is simultaneously accessed from more than
one system. Simultaneous login from more than one place is tested.
The application works according to the restrictions provided in their respective system. Further
enhancements can be made to the application, so that the application functions very attractive
and useful manner than the present one. The security of file is well enough to save from data
being copied.
48
CHAPTER 13
SCREEN SHOTS
49
50
13. REFERENCES
► http://googleweblight.com/i?u=http://www.cse.wustl.edu/~jain\cse567-
06\ftp\encryption_perf%232_5&hl=en=IN
► http://www.tutorialspoint.com
► http://slogix.in
► https://stackoverflow.com
51