Sunteți pe pagina 1din 19

PROJECT REPORT ON

ENCRYPTION AND
DECRYPTION
PROGRAM

SUBMITTED TO

DEPARTMENT of Computer Science & Engg

UNDER THE SUPERVISION OF

< >

Submitted by:
Name (s): Shivam Mahajan, Shivam Kalia
University Roll no (s):1410991552,1410991551
Semester:7​th
Session: Aug’17-Dec’17
CHITKARA UNIVERSITY
CHANDIGARH-PATIALA NATIONAL
HIGHWAY
RAJPURA, DISTT PATIALA
PUNJAB, INDIA

Acknowledgement
It is our pleasure to be indebted to various people, who directly or indirectly contributed
in the development of this work and who influenced my thinking, behavior and acts
during the course of study.

We express our sincere gratitude to all for providing me an opportunity to undergo Integrated
Project as the part of the curriculum.

We are thankful to “​Ms. Sheenam”​ for her support, cooperation, and motivation provided to us
during the training for constant inspiration, presence and blessings.

We also extend our sincere appreciation to ​Ms.Chisty ​who provided his valuable suggestions
and precious time in accomplishing our integrated project report.

Lastly, we would like to thank the almighty and our parents for their moral support and friends
with whom we shared our day-to day experience and received lots of suggestions that improve
our quality of work.
SHIVAM MAHAJAN SHIVAM
KALIA
1410991552 1410991551

Declaration

I hereby declare that the project work titled​ “ENCRYPTION AND DECRYPTION”
submitted as part of Bachelor’s degree in Computer science engineering, at Chitkara University,
Punjab, is an authentic record of my own work carried out under the supervision of
<Supervisor’s Name>

Place: Chitkara University Punjab Verified by:


D​ Date:20 November 2017
Name(s): Shivam Mahajan Signature of supervisor:
Shivam Kalia
Signature(s):
Table of contents
1. INTRODUCTION------------------------------------------------------------------

----------1

2. OVERALL

DESCRIPTION---------------------------------------------------------------2-3

3. EXTERNAL INTERFACE

REQUIREMENTS----------------------------------------4

4. SYSTEM

FEATURESs--------------------------------------------------------------------5-7

5. NONFUNCTIONAL

REQUIREMENTS-----------------------------------------------8
6. SOFTWARE

SPECIFICATIONS--------------------------------------------------------9

7. CONCLUSION AND FUTURE

SCOPE-----------------------------------------------10

8. REFERENCES---------------------------------------------------------------------

--------11
 

​INTRODUCTION TO THE PROJECT

Encryption​ is used to transform a data into some un-readable form so that authenticated person
only can read/access the data. It requires some secret information to transform the plain text to
cipher text; it is usually referred as key.
There are many modern cryptographic methods used for ​encryption​ and ​decryption​ and it is
classified in to two classes of key based algorithms.
I. ​Symmetric​ Algorithm
I.1. Same key is used for both Encryption and Decryption. The key will be kept as
secret.
I.2. Symmetric Ciphers is divided into Stream and Block Ciphers.
I.2.1. Stream Ciphers – It encrypts a single bit of plain text at a time.
I.2.3 Block Ciphers – It takes number of bits and encrypts them as a single unit
.II. ​Asymmetric​ Algorithm
II.1. Different key is used for Encryption and Decryption. It is also called as public
Key algorithm.
II.2. Encryption key is public and the Decryption key will be kept as secret.
II.3. By using this asymmetric algorithm, anyone can encrypt the message by using
encryption key but the message can be decrypted only by using decryption key.
III. ​Hybrid​ Encryption – Symmetric and Asymmetric algorithm are used together and it is
called as Hybrid Encryption.
Algorithm Requirements:
I. The Key will be kept secret and should be Random.
II. It should not be possible to find the key even if the plain text and Cipher text are
known.
Types of Symmetric Encryption Algorithm:
I. Data Encryption Standard (DES)
II. Blow Fish
III. Triple DES (3DES)
IV. Advanced Encryption Standard (AES)
1

Overall Description

I. Product Perspective

I.1.Encrypt and decrypt data.

I.2.Password safe locked with a master password.

I.3.Keep data safe from hackers.

II. Product Functions


III. User Classes and Characteristics

This is a generic cryptographic application that is usable by all classes of users (who need to
secure their data) with any level of technical expertise, education and experience. This suite
is usable both for novice or non-technical users as well as expert technical users.

IV. Operating Environment

IV.1.It will run on Windows operating system.


IV.2. No specific hardware is excluded. But it will atleast work on x86 systems without
any additional porting efforts. Moreover, no special hardware needed for software
operation.

V. Design and Implementation Constraints

V.1. SQLite DB is used for password safe function because it is self-contained and server
less and also because it is zero-configuration SQL DB engine. That matches our
requirement of small, quick, single file based, zero configuration password DB.

V.2. AES is an iterative rather than Feistel cipher. It is based on


‘substitution–permutation network’. It comprises of a series of linked operations, some of
which involve replacing inputs by specific outputs (substitutions) and others involve
shuffling bits around (permutations).

External Interface Requirements


I. User interfaces
Special effort is put into this project to create an intuitive, simple and streamlined
graphical interface for non-technical users.All cryptographic functions, hashing and
password safe functionalities are accessible from GUI.
II. Hardware interfaces
Project is intended to be platform independent. Therefore no specific hardware is
excluded. But it will at least work on x86 systems without any additional porting efforts.
Moreover, no special hardware is needed for software operation.
III. Software Interfaces
III.1. Project will use cryptographic functions and cryptographic hashing functions from
OpenSSL library.

III.2. Project will use SQLite to store user's login info for his/her many accounts securely
in a table in a DB.

System Features

I. Cryptographic function: Encryption


I.1 ​Description and Priority
I.1.1. This system feature involves encrypting the data using one of many symmetric or
asymmetric cryptographic ciphers for data security.

I.1.2. Priority: High

II. Stimulus/Response Sequences


II.1. User selects the cipher used to encrypt data.

II.2. User selects data to be encrypted

II. Cryptographic function: Decryption


II.1 ​Description and Priority
II.1.1. This system feature involves decrypting the data using one of many symmetric or
asymmetric cryptographic ciphers for data security.

II.1.2. Priority: High

III. ​Stimulus/Response Sequences


III.1. User selects the cipher used to decrypt data.

III.2. User selects data to be decrypted

III.3. User confirms decryption to be performed by program.

III. Password safe


III.1 Description and Priority
III.1.1. This system feature involves securing a set of user's login info (i.e.
username/password + additional useful info) by storing them in a table in DB and then
encrypting it.

III.1.2. Priority: Medium

IV ​Stimulus/Response Sequences
IV.1. User inputs login info (i.e. username/password + additional useful info) into table
using program GUI.

IV.2. User selects cipher to be used to encrypt password safe table.

IV.3. User confirms encryption of password safe table to be performed by program.

V. ​Functional requirements
V.1.User selects the radio button corresponding to cipher he wants to be used to encrypt data.
V.2.User inputs the data to be stored in table that is to be encrypted.
V.3.User inputs master key to lock table in 'Master password' text field.
V.4.User clicks on 'Apply' button on 'Operations bar' to apply changes.
V.5.Output encrypted password (safe) DB is automatically created in current file directory.
Screenshots of the application:
Nonfunctional Requirements

I. Performance Requirements
Most public key ciphers rely on high computational cost operations. Therefore, keeping
performance considerations in mind, in most cases symmetric key ciphers are recommended for
data encryption/decryption (unless the user is willing to spend very large amount of
computational effort to encryption/decryption using public key cipher). Public key ciphers are
recommended to be used only in situations such as authentication or to confidentially distribute
symmetric keys.
II. Safety Requirements
This application suite is provided under ISC license. So, there are chances of possible
loss/damage to data or harm that could result from the use of this suite.
User is required to remember his password that he/she used to encrypt data (or lock password
safe) because most of secure cryptographic algorithms implemented in this suite are secure
enough so that no algorithms better than brute-force can be used to recover lost password.
III Security Requirements
This software package uses strong cryptography, so even if it is created, maintained and
distributed from liberal countries (where it is legal to do this), it falls under certain export/import
and/or use restrictions in some other parts of the world..
III.1Reliability: Serious attempts are made to make sure code is reliable and of enterprise quality.
Still, the code is provided under ISC license and authors of Cryptic (and other code/libraries that
Cryptic uses) are not responsible for any damage or data loss. More details in section 4.2 and 4.3
of this document.
III.2Usability: The project is still in planning stage as of SRS version-1, but when the
development starts, the code is not expected to be usable atleast until it's first official ALPHA
release is tagged in repository.

SOFTWARE SPECIFICATIONS

I. NetBean.

Is a ​software development​ ​platform​ written in ​Java​. The NetBeans Platform allows applications
to be developed from a set of modular ​software components​ called ​modules.​ Applications based
on the NetBeans Platform, including the NetBeans ​integrated development environment​ (IDE),
can be extended by ​third party developers​.

The NetBeans IDE is primarily intended for development in Java, but also supports other
languages, in particular ​PHP​, ​C​/​C++​and ​HTML5​.

NetBeans is ​cross-platform​ and runs on ​Microsoft Windows​, ​macOS​, ​Linux​, ​Solaris​ and other
platforms supporting a compatible ​JVM​.

The editor supports many languages from Java, C/C++, XML and HTML, to PHP, Groovy,
Javadoc, JavaScript and JSP. Because the editor is extensible, you can plug in support for many
other languages.

II.​ Java Development Kit (JDK)


The ​Java Development Kit​ (​JDK​) is an implementation of either one of the ​Java Platform,
Standard Edition​, ​Java Platform, Enterprise Edition​, or ​Java Platform, Micro
Edition​ platforms​[1]​ released by ​Oracle Corporation​ in the form of a binary product aimed at Java
developers on ​Solaris​, ​Linux​, ​macOS​ or ​Windows​. The JDK includes a private JVM and a few
other resources to finish the development of a Java Application. Since the introduction of
the ​Java​ platform, it has been by far the most widely used Software Development Kit (​SDK​).On
17 November 2006, Sun announced that they would release it under the ​GNU General Public
License​ (GPL), thus making it ​free software​. This happened in large part on 8 May 2007, when
Sun contributed the source code to the ​OpenJDK​.

CONCLUSION AND FUTURE SCOPE


The sole purpose of our ​project ​is to maintain the integrity and confidentiality of the data. The
term integrity means that data must not be changed by others and confidentiality means that it
should not be visible to others. In the present world, securing the data is very important as
Internet has grown very vast, and it has become difficult for people to maintain privacy with an
increase in the number of hackers. Protection of sensitive data is one of the most critical
concerns for organizations and their customers. This, coupled with growing regulatory pressures,
is forcing businesses to protect the integrity, privacy and security of critical information. It is
clear that the protection of personal or private data is critical to the wellbeing of any company
that stores or processes this information.
While quantum computer algorithms threaten the future of classical cryptography, One-time pads
can still offer security even in the presence of key cracking quantum computers, but the key
distribution problem would have to be overcome. In a beautiful irony, quantum computers may
break current cryptography but quantum mechanics also offer hope to cryptography in quantum
key distribution.
New forms of cryptography have evolved to build this new world of; confidentiality,
authentication, non - repudiation, and integrity, but while this work well in the here now, with
the advent of the quantum computer on the horizon classical cryptography is threatened.

​REFERENCES
1. https://www.uniassignment.com/essay-samples/information-technology/introduction-to-e
ncryption-and-decryption-information-technology-essay.php
2. https://www.scribd.com/document/260981248/SRS-Cryptography
3. http://macr.cs.ksu.edu/software/agentMom_2.0/Phase_I/software_requirements_specifica
tion.pdf
4. Douglas Stinson: Cryptography - theory and practice

S-ar putea să vă placă și