Sei sulla pagina 1di 18

DATA ENCRYPTION & DECRYPTION

A REPORT

Submitted by

Mr. Bhautik Chovatiya

Submitted to

Prof. Bansi Kotecha

In partial fulfillment for the subject Computer Networks

of

4TH SEMESTER

IN

INFORMATION TECHNOLOGY

At

DEPARTMENT OF COMPUTER ENGINEERING

MARWADI UNIVERSITY

RAJKOT

APRIL 2018
DATA ENCRYPTION AND DECRYPTION

Acknowledgment

I would like to thank Prof. Bansi Kotecha , Marwadi University, Rajkot for providing her
precious time to carry out this mini project along with its report and also for their valuable
guidance and useful suggestions, which helped me a lot in completing this report, on time.

Finally , and importantly I would like to express gratitude to my beloved parents for their
blessings and Marwadi University for the successful completion of this report.

Prepared By: Bhautik Chovatiya [91600103130] Page 2


DATA ENCRYPTION AND DECRYPTION

ABSTRACT

Data security is a major issue which we are facing today in this digital world of
communication. As we know that today hackers are almost at every corner in search of our
useful data which can be hacked by them for their different purposes. Even the risk gets
doubled when come to the data of any country’s government. So, a system or terminology is
must required to make that data safe forever by any means during communication.

Data protection can be accomplished by changing the original data by any means to some
other un useful data so that if someone gets that data then also it must remain in un useful
bits. This process can be achieved by Encrypting that data by some means of algorithms
which are known to the sender and the similar Decryption algorithms to be known to only
the desired receiver so that it can convert that encrypted data back to the user understandable
form. Today as it is a need to develop such kind of applications which performs the specified
task but along with it should be very much user friendly so that no special skills need to be
required to learn in order to use that application or project.

In the application the user has to select either wants to send something by encrypting or
wants to receive by decrypting . If it wants to send then it have to select source file
previously designed or type some message which is to Encrypt and then transfer. Whereas on
the receiver side again the receiver have to select the file which is to be received from the
sender along with a decryption key to decrypt that message. Decryption key can be selected
either manually if told by the sender or selecting key sent by the sender along with the
encrypted data to avoid further delay in processing the message.

Prepared By: Bhautik Chovatiya [91600103130] Page 3


DATA ENCRYPTION AND DECRYPTION

List of Content
Sr. No. Content Page No.

1. Introduction 1

2. Requirement gathering and Analysis of existing similar work 1

3. Design Solution development and validation against original requirement 3

4. Project Implementation 4

5. Conclusion 16

6. Future Work 16

Prepared By: Bhautik Chovatiya [91600103130] Page 4


DATA ENCRYPTION AND DECRYPTION

1. Introduction

Data security is a major issue which we are facing today in this digital world of
communication. As we know that today hackers are almost at every corner in search of our
useful data which can be hacked by them for their different purposes. Even the risk gets
doubled when come to the data of any country’s government.

Data protection can be accomplished by changing the original data by any means to some
other un useful data so that if someone gets that data by means of hacking then also it must
remain in un useful bits of data for that person. This process can be achieved by Encrypting
that data by some means of algorithms which are known to the sender and on the other side
the similar Decryption algorithms must be known to only the desired receiver so that it can
convert that encrypted data back to the user understandable form.

Today as it is a need to develop such kind of applications which performs the specified task
but along with it should be very much user friendly so that no special skills need to be
required to learn in order to use that application or project.

This is a Java based project with inbuilt hard disk storage unit as a database. This report
contains in depth demonstration of Data Encryption and Decryption system along with its
working architecture which contains brief introduction, features, prototype, information
about other similar projects, outputs, source code and at last references.

2. Requirement gathering and Analysis of existing similar work

2.1 Name: Data Encryption and Decryption in Java Cryptography


Programming Environment: Linux
Features: Choosing algorithm, Padding, Encryption, uses Block cipher etc.
Link:https://www.veracode.com/blog/research/encryption-and-decryption-java-
cryptography
Explanation: In this project there are plenty of options available for encrypting data like
AES,SHA-1 etc algorithms. It uses complex programming language along with reserved
functions which are designed especially for security kind of purpose.

Prepared By: Bhautik Chovatiya [91600103130] Page 5


DATA ENCRYPTION AND DECRYPTION

2.2 Name: Encrypt and Decrypt data using AES algorithm


Programming Environment: Linux
Features: uses AES algorithm for encryption etc.
Link: https://www.quickprogrammingtips.com/java/how-to-encrypt-and-decrypt-data-in-
java-using-aes-algorithm.html
Explanation: This Java project shows how to encrypt data using AES encryption
algorithm. In this project, the KeyGenerator is initialized with a 128 bit secret key. Many
helper classes of java are used for AES encryption such as Cipher (for
encryption/decryption), SecretKey (represents the shared secret key) and KeyGenerator
(generates the shared secret key).

2.3 Name: Encryption and Decryption using DES algorithm


Programming Environment: Linux
Features: uses DES algorithm, uses swing module for GUI.
Link: http://slogix.in/how-to-encrypt-and-decrypt-data-using-des-in-java
Explanation: This project contains modules of swing applets which are used to make user
friendly GUI for simple feel. DES algorithm is very complex and used for very large
secure piece of data.

2.4 Name: Simple Password Encryption & Decryption in C++


Programming Environment: Windows
Features: Uses simple algorithm to encrypt the password.
Link:https://codereview.stackexchange.com/questions/77519/simple-password-
encryption- decryption-in-c
Explanation: This Project includes the concept of random combinations which is used to
generate a random password. After generation of that password ,it is decrypted with the
simple cipher text algorithm so that no other person than the authorized one can be able
to view the details regarding the login forum of the user.

Prepared By: Bhautik Chovatiya [91600103130] Page 6


DATA ENCRYPTION AND DECRYPTION

3. Design prototype development & validation against original


requirement
The prototype of Data Encryption & Decryption is shown below which was made on a
chart paper. It describes the flow of the project along with the sample output screens
which will look like after each and every options pressed by any user.

Figure-3.1 Data Encryption and Decryption

4. Project Implementation

4.1 Tool Required and Requirements :

Prepared By: Bhautik Chovatiya [91600103130] Page 7


DATA ENCRYPTION AND DECRYPTION

 Linux Environment
 Latest version of JDK(Java Development Kit)
 Terminal (In case of not having other platforms like Eclipse etc)
 RAM Minimum 512MB

4.2 Output Screens with code snippet of project:

4.2.1 Main Screen

Figure 4.2.1

Main screen consists of two options as shown in above figure. Choosing option 1 will led to
encryption and option 2 will led to decryption. Code snippet is provided below so that one
can easily understand how to design Main screen. The feel of main menu is kept so simpler
so that if anyone who doesn't have prior knowledge about the concept of encryption and
decryption can also be able to use this application easily.

Code Snippet:

Prepared By: Bhautik Chovatiya [91600103130] Page 8


DATA ENCRYPTION AND DECRYPTION

4.2.2 Sub-Screen 1

Figure 4.2.2

Prepared By: Bhautik Chovatiya [91600103130] Page 9


DATA ENCRYPTION AND DECRYPTION

This sub menu asks the user for two choices. 1st option provides a input stream which lets
the user to enter the data which is to be encrypted and the 2nd option provides a file stream
buffer which will take the name of the file form which the data needs to be encrypted.

Code Snippet:

4.2.3 Sub- Screen 1.1

Figure 4.2.3

Prepared By: Bhautik Chovatiya [91600103130] Page 10


DATA ENCRYPTION AND DECRYPTION

This menu screen performs the encryption on the inputted text by user. It asks to enter a
string and then displays the encrypted text which is ready to share with anyone. .

Code Snippet:

4.2.4 Sub- Screen 1.2

This screen performs the encryption of data which is present in a text file. It asks to enter the
name of text file which the user wants to encrypt & after processing it creates a new file
named as "ENCRYPTED.txt" in the same directory which will contain the encrypted data.

Prepared By: Bhautik Chovatiya [91600103130] Page 11


DATA ENCRYPTION AND DECRYPTION

Figure 4.2.4

code snippet:

Prepared By: Bhautik Chovatiya [91600103130] Page 12


DATA ENCRYPTION AND DECRYPTION

4.2.5 Sub-Screen 2

Figure 4.2.5

This screen asks the user to choose from the two options given for decrypting the data. 1 for
directly enter the encrypted text and decrypt it and the 2 for enter the file name which
contains the encrypted data.

code snippet:

Prepared By: Bhautik Chovatiya [91600103130] Page 13


DATA ENCRYPTION AND DECRYPTION

4.2.6 Sub-Screen 2.1

Figure 4.2.6

This screen performs the decryption of the encrypted data which is entered by user. Here
only one decryption algorithm is used which is Ceaser Cipher text algorithm.

code snippet:

Prepared By: Bhautik Chovatiya [91600103130] Page 14


DATA ENCRYPTION AND DECRYPTION

4.2.7 Sub-Screen 2.2

Figure 4.2.7

code snippet:

Prepared By: Bhautik Chovatiya [91600103130] Page 15


DATA ENCRYPTION AND DECRYPTION

4.3 Overall flow of project:

MAIN MENU

ENCRYPTION DECRYPTION
CHOICE

SUB-MENU 1 SUB-MENU 2

CHOICE
CHOICE

ENCRYPT DECRYPT DECRYPT DATA


ENCRYPT
DATA OF DATA FROM A
DATA
A TEXT FILE DIRECTLY ENCRYPTED FILE
DIRECTLY

EXIT

Figure-4.3.1 Flowchart of Project

Prepared By: Bhautik Chovatiya [91600103130] Page 16


DATA ENCRYPTION AND DECRYPTION

This project starts with a main page that is shown in Figure-4.2.1. After proceeding further,
two options will pop-up asking about the choice of the user i.e. wants to encrypt the data or
wants to decrypt the data. Now if the user chooses the 1st option then a new screen will
appear which is shown in Figure-4.2.2 This window will again put two new options ,one for
manually entering the text which the user wants to encrypt & the other one which will ask the
user to enter the file name in which the data is stored which is having (.txt) format. These
screens are shown in Figure-4.2.3 and Figure-4.2.4.

The flow chart is shown in figure 4.3.1. Now the second option of main menu i.e. decryption
will get you to the screen which is shown in Figure 4.2.5. It will again ask you to enter your
choice i.e. whether you want to manually enter the encrypted data which you got from the
sender and then generate the original data , and the second option will let you to enter the file
name (.txt) which has been encrypted earlier to convert it again into user understandable
form.

Prepared By: Bhautik Chovatiya [91600103130] Page 17


DATA ENCRYPTION AND DECRYPTION

5. Conclusion
It can be concluded that this project works efficiently for offline purpose at any place
provided the requirements for running environment remains same. Users need not to worry
about how the algorithm actually works inside the instruction set performed by the compiler.

6. Future Work

1. In Future, Data Encryption and Decryption system can be updated further which can
provide more secured encryption algorithms like DES , AES etc.
2. This project can be made more attractive and easy to use by implementing
GUI(Graphical User Interface) with the help of many coding platforms like Netbeans
etc.

Prepared By: Bhautik Chovatiya [91600103130] Page 18

Potrebbero piacerti anche