2 Merged
2 Merged
2 Merged
A
MINI PROJECT REPORT
On
“ ENCRYPTION AND DECRYPTION”
Submitted in partial fulfillment for the award of the degree
of
Bachelor of Engineering
In
Computer Science and Engineering
By
PANCHAMI M P [4JD19CS034]
POOJA R[4JD19CS035]
2021 - 2022
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
JAIN INSTITUTE OF TECHNOLOGY
DAVANGERE – 577003
Arka Educational & Cultural Trust (Regd.)
JAIN INSTITUTE OF TECHNOLOGY
(A unit of Jain Group of Institutions, Bengaluru)
#323, Near Veereshwara Punyashrama, DAVANGERE – 577003.
This is to certify that the Project Work entitled “ENCRYPTION AND DECRYPTION” is a
Bonafede work carried out by PANCHAMI M P bearing USN: 4JD19CS034 and POOJA R
bearing USN: 4JD19CS035 in partial fulfillment of Award of Degreeof Bachelor of Engineering
in Computer Science and Engineering, of Visvesvaraya Technological University, Belagavi,
during the academic year 2021-2022. It is certified that all corrections/suggestions indicated for
Internal Assessment have been incorporated. The Project has been approved as it satisfies the
academic requirements associated with the degree mentioned.
.
External Viva
1.
2.
ABSTRACT
Securing data encryption and decryption using Cryptography and Steganography techniques.
Due to recent developments in stego analysis, providing security to personal contents,
messages, or digital images using steganography has become difficult. By using stego analysis,
one can easily reveal existence of hidden information in carrier files. This project introduces a
novel steganographic approach for communication between two private parties. The approach
introduced in this project makes use of both steganographic as well as cryptographic
techniques. In Cryptography we are using RSA. In Steganography we are using Image
Steganography for hiding the data. And we also use Mutual Authentication process to satisfy
all services in Cryptography i.e., Access Control, Confidentiality, Integrity, Authentication. In
this way we can maintain the data more securely.
i
ACKNOWLEDGEMENT
We take immense pleasure in thanking Dr. GANESH D B, Principal and Director, JIT, Davangere for
having permitted us to carry out our mini project “ATTENDANCE MANAGEMENT”.
We wish to express our deep sense of gratitude to Dr. MOUNESHACHARI S, Professor and
Head, Department of Computer Science & Engineering, for his able guidance and useful suggestions,
which helped us in completing this project.
We also express our deep sense of gratitude to our guide Mr. AZIZKHAN F PATHAN,
Assistant Professor, Department of Computer Science & Engineering for his timely assistance which
helped us to complete our project.
Words are inadequate in offering our thanks to all the teaching and non-teaching staff of
Department of Computer Science & Engineering for their encouragement and co-operation in carrying
out our project.
Finally, yet importantly, we would like to express our heartfelt thanks to our beloved parents for
their blessing, our friends for their help and wishes for successful completion of this project.
POOJA R[4JD19CS035]
PANCHAMI M P[4JD19CS034]
ii
CONTENTS
CH.NO CHAPTER NAME PAGE NO
I ABSTRACT i
II ACKNOWLEDGEMENT ii
4 IMPLEMENTATION 11-21
4.1 Manifest code
4.2 Java Code
5 TESTING 22-25
5.1 Types of Testing
5.2 Test Case
CONCLUSION 32
REFERENCES 33
iii
LIST OF FIGURES
iv
Encyption and Decryption 2021-2022
CHAPTER 1
INTRODUCTION
Android Studio was announced on May 16, 2013, at the Google I/O conference. It was in early
access preview stage starting from version 0.1 in May 2013, then entered beta stage starting from
version 0.8 which was released in June 2014. The first stable build was released in December
2014, starting from version 1.0.
On May 7, 2019, Kotlin replaced Java as Google's preferred language for Android app
development. Java is still supported, as is C++.
Android Studio supports all the same programming languages of IntelliJ (and CLion) e.g. Java,
C++, and more with extensions, such as Go; and Android Studio 3.0 or later supports Kotlin and "all
Java 7 language features and a subset of Java 8 language features that vary by platform version."
External projects backport some Java 9 features. While IntelliJ states that Android Studio supports
all released Java versions, and Java 12, it's not clear to what level Android Studio supports Java
versions up to Java 12 the language features upto Java 12 are usable in Android.
The aim of this project is to develop a new approach to hiding a secret information in an image, by
taking advantage of benefits of combining cryptography and steganography
The encrypted information will usually appear to be scrambled or person with unauthorized access .
the data remains intact during the whole process .Data encryption is also be optimized by merging two
or more concepts together like , some method using two algorithms Diffie-Hellman and RSA. This will
give more security in communication [7]. We can enhance the security of encryption algorithm will be
by modifying code in current algorithm.[8] Getting back to RSA , DES can be un-protected as if it is a
attacked by any processing and If you want to secure DES encryption system then you will be using the
Triple DES Three Times with RSA organizations can be increased by using RSA Algorithm with some
modification.
Rsa algorithm
In the algorithm, RSA refers to Rivset, Adi Shamir and Leonard Adleman. The trio from MIT is
taken
invention of this algorithm. It was first portrayed in 1978. The algorithm is carried out basically in3
which are-
• Primary key generation
• Encryption
• Decryption
RSA is an asymmetric cryptographic algorithm since it makes use of 2 keys, private keys and public
keys.
1.2.1Caesarcipher
The Caesar Cipher technique is one of the earliest and simplest methods
of encryption technique. It’s simply a type of substitution cipher, i.e., each letter of a given text
is replaced by a letter with a fixed number of positions down the alphabet. For example with a
shift of 1, A would be replaced by B, B would become C, and so on. The method is apparently
named after Julius Caesar, who apparently used it to communicate with his officials.
has been found vulnerable to very powerful attacks and therefore, the
popularity of DES has been found slightly on the decline. DES is a block cipher and encrypts
data in blocks of size of64 bits each, which means 64 bits of plain text go as the input to DES,
which produces 64 bits of ciphertext. The same algorithm and key are used for encryption and
decryption, with minor differences. The key length is 56 bits.
The Playfair cipher was the first practical digraph substitution cipher. The
scheme was invented in 1854 by Charles Wheatstone but was named after Lord Playfair who
promoted the use of the cipher. In playfair cipher unlike we encrypt a pair of
alphabets(digraphs) instead of a It was used for tactical purposes by British forces in the
Second Boer War and in World War I and for the same purpose by the Australians during World
War II. This was because Playfair is reasonably fast to use and requires no special equipment.
1.2.4 Vigenere
Vigenere Cipher is a method of encrypting alphabetic text. It uses
a simple form of polyalphabetic substitution. A polyalphabetic cipher is any cipher based on
substitution, using multiple substitution alphabets. The encryption of the original text is done using
the Vigenère square or Vigenère table.
Department of CS&E,JIT,Davangere Page 4
Encyption and Decryption 2021-2022
• The table consists of the alphabets written out 26 times in different rows, each
alphabet shifted cyclically to the left compared to the previous alphabet,
corresponding to the 26 possible Caesar Ciphers.
• At different points in the encryption process, the cipher uses a different alphabet from
one of the rows.
• The alphabet used at each point depends on a repeating keyword.
The purpose of this project is to provide the correct data with security to the
users. For some of the users the data might be lost during the transmission process in the network and for
some, the data might be changed by the unauthorized person in the network and there are some other
security problems in the network. Our application will give you moreSecurity to the data present in the
network and there will be able to reduce the loss of data in the network which will be transmitted from the
sender to the receiver using the latest technologies. Only the Authorized persons i.e., who are using our
application will be
there in the Network. The proposed algorithm is to hide the audio data effectively in an image without any
suspicion of the data being hidden in the image. It is to work against the attacks by using a distinct new
image that isn’t possible to compare.
The aim of the project is to hide the data in an image using steganography and ensure
thatthe quality of concealing data must not be lost.
We used a method for hiding the data in a distinct image file in order to securely send over the network
without any suspicion the data being hidden. This algorithm, though requires a distinct image which we
can use as a carrier and hide the data which is well within the limits of the threshold that the image can
hide, that will secure the data.
1.4 Objectives
The project are to create a system that can protect electronic data (secret
information) which Consist of encryption and decryption process and to fully design an
encryption and decryptionalgorithm using VHDL. The objectives of this project are
To fully design an Encryption algorithm and Decryption algorithm using VHDL.Encryption and
decryption which support 64-bit input of data block size, 64-bit output of data block size and 56-
bit of key size.
CHAPTER 2
CHAPTER 3
Once the software requirements have been analyzed and specified the software
design involves three technical activities - design, coding, implementation and testing that
are required to build and verify the software.
The design activities are of main importance in this phase, because in this activity,
decisions ultimately affecting the success of the software implementation and its ease of
maintenance are made. These decisions have the final bearing upon reliability and
maintainability of the system. Design is the only way to accurately translate the
customer's requirements into finished software or a system.
The data flow diagram (DFD) is one of the most important tools used by system
analysts. There are four components in DFD. Process, terminators, data flow, and data
source are the four components of DFD. Circles are used to represent the process, data
flows are represented using a thin line with arrow, the terminators are represented using
rectangle and the data source is represented as an open-ended rectangle.
Department of CS&E,JIT,Davangere Page 8
Encyption and Decryption 2021-2022
Unlike detailed Flowchart, Data Flow Diagram does not supply detailed description
of themodules but graphically describes a system's data and how the data interact with the
system.
A data flow diagram has the purpose of clarifying system requirements and
identifying major transformation that will become programs in system design. It is the
starting point of the system design phase that functionally decomposes the requirements
specifications down to the lowest level of details. A data flow diagram consists of a series
of bubbles joined by lines. The bubbles represent data process, and the line represents
data flow inthe system. Dataflow diagrams are also known as bubble chart. It consists of
a series of bubbles joined by lines. The bubbles represent data transformation, and the
lines representthe dataflow in the system.
Data Flow diagram represents the flow of data rather than how they are process. So
it doesn't depend on hardware, software and data structure and file organization.
DATA FLOW
A data flow moves data between processes or between processes and data stores. As
such, it represents a data value at some point within a computation and an intermediate
value within a computation if the flow is internal to the diagram. This value is not
changed.
The names of input and output flows can indicate their roles in the computation
or the type of the value they move. Data names are preferably nouns.. The name of a
typical piece of data, the data aspect, is written alongside the arrow.
CONTROL FLOW
A control flow is a signal that carries out a command or indicates that something has
occurred. A control flows occurs at a discrete point in time. The arrow indicates the
direction of the control flow. The name of the event is written beside the arrow. Control
flows can correspond to messages in CCDs or events in STDs. However, because they
duplicate information in the DFD, use them sparingly.
CHAPTER 4
IMPLEMENTATION
The application's validations are taken into account of the entry levels available in
various modules. Possible restrictions like number formatting, date formatting and
confirmations for both save and update options ensure the correct data to be fed into the
database.
Database Structure
There are total eight tables! The relationships between every table are shown
in thefollowing class diagram.
CHAPTER 5
TESTING
Testing is vital to the success of the system. System testing makes a logical
assumption, if all the parts of the system are correct; the goal will be successfully
achieved. System testing is the stage of implementation that we aimed at assuring that the
system works accurately and efficiently before live operation commences.
Purpose Of Testing
A failure occurs when a program misbehaves. Thus, a failure is the statistical property of a
system in execution. A fault exists in program code. A fault may cause of failure. If there is
a no fault in the program, then the program cannot fail. Software testing is a critical
element of software quality assurance and represents the ultimate review of specification,
design, and coding. 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.
The objectives of testing are the process of executing the program with the intention of
finding an error. A good test is one that has a high probability of finding an as-yet
undiscovered error.A successful test is that which uncovers as-yet-undiscovered error.
Therefore, the most useful approach and practical approach is aid the understanding
that testing is the process of executing a program explicit indention of finding errors that
is making the program fall.
➢ Unit Testing
➢ Integration Testing
➢ Validation Testing
➢ System Testing
➢ Activity Testing
➢ Content Provider Testing
Unit Testing
Unit testing focuses verification effort on the smallest unit of software design the module.
The relative complexity of the tests and the errors detected as a result is limited by the
constrained scope established for unit testing. The unit test is always white box oriented
and the step can be conducted in parallel for multiple modules. According to unit testing
the router system is error free. Unit testing has been performed for all the form modules.
The syntax and logical errors has been corrected then and there. The output has been
tested with the manual.
Integration Testing
Integration testing is a systematic technique for construction the program structure while
the same time conducting tests to uncover errors associated with Interfacing. The
objective is to take unit tested modules and build a program structure that has been
dictated by design. Integration Testing is performed for the modules like Service.
Correction is difficult because the isolation of causes is complicated by the vast expanse
of the entire program once there errors are corrected new ones appear and the process
continues and have endless loop. According to the integration test detection
Validation Testing
Validation can be defined in many ways. But a simple definition is that validation
succeeds when the software functions in a manner that can be reasonably expected by the
customer. The specification contains a section called validation testing approach. The
validation testing is also known as beta testing. The intrusion detection system was tested
using above specified test. The validation testing is performed for all the modules that the
proper input and output has been checked.
System Testing
System testing is the testing of the integrated black box application, against the
application's requirements during the construction phase. The purpose of system testing is
it identifies band correct errors in candidate system. System testing is the stage of
Implementation which aims at ensuring that the system accurately and efficiently before
the actual operation comments. In the project the system testing is implemented for
checking the security requirements like prohibiting from unauthorized access, failures
during invalid conditions and the operational availability requirements.
Activity Testing
Android includes powerful tools for testing applications. The tools extend JUnit with
additional features, provide convenience classes for mock Android system objects, and
use instrumentation to give you control over your main application while you are testing
it. The entire Android testing environment is discussed in the document Testing Android
Applications.
This tutorial demonstrates the Android testing tools by presenting a simple Android
application and then leading you step-by-step through the creation of a test application for
it. The test application demonstrates these key points:
Content providers, which store and retrieve data and make it accessible across
applications, are a key part of the Android API. As an application developer you're
allowed to provide your own public providers for use by other applications. If you do,
then you should test them using the API you publish.
This document describes how to test public content providers, although the
information isalso applicable to providers that you keep private to your own application.
If you aren't familiar with content providers or the Android testing framework, please
read Content Providers, the guide to developing content providers, and Testing
Fundamentals, the introduction to the Android testing and instrumentation framework.
CHAPTER 6
Home page: In Fig.6.1 we can see the home page of the Encrytion.
Text Entering Page: In Fig.6.2 we can see the Advanced Encryption Standard Techniques.
Fig.6.3: Encryption.
Copied Page: In Fig.6.4 we can see that Encrypted message has been copied.
Fig.6.4:Copied Page.
Fig.6.5:Decryption
Fig.6.7. Hash
CONCLUSION
In this project, we deal with the concepts of security of digital data communication across the
network. This project is designed for combining the steganography and cryptography features factors
for better performance. We performed a new steganography method and combined it with RSA
algorithm. The data is hidden so there will be no chances for the attacker to know that data is being
hidden in the image. We performed our method by implementing a program written in java language.
The method proposed has proved successfulin hiding various types of text, image. We concluded that
in our method the files and RSA are better. Because of their high capacity.This work presents a
scheme that can transmit large quantities of secret information and provides secure communication
between two private parties. Both steganography and cryptography can be woven in this scheme to
make the detection more complicated. Any kind of text data can be employed as secret msg. The
secret message employing the concept of steganography is sent over the network. In addition, the
proposed procedure is simple and easy to implement.
REFERENCES
[5] Mr. Vikas Tyagi(2012), “Data Hiding in Image Using least significant bit with
cryptography”, International Journal of Advanced Research in computer science and Software
Engineering, Volume 2, Issue 4.
[7] R. Poornimal and J. Iswarya (2013) “An Overview of Digital Image Steganography”,
International Journal of Computer Science & Engineering