Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
21 views27 pages

Internship

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views27 pages

Internship

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

“JnanaSangama”, Belagavi-590018

An Internship Report on

“Software Development”

Submitted in partial fulfillment of the requirement for the award of the


Degree of

BACHELOR OF ENGINEERING
In
COMPUTER SCIENCE & ENGINEERING

Submitted By
SANJAY KUMAR SR
(1TJ16CS086)

Under the Guidance of


Prof. Anju Abraham
Assistant Professor
Dept. of CSE

Department of Computer Science and Engineering


T. JOHN INSTITUTE OF TECHNOLOGY
(Affiliated to Visvesvaraya Technological University)
#86/1,Gottigere,Bannerghatta Road, Bengaluru-560083
2019-2020
(Affiliated to Visvesvaraya Technological University)
Approved by AICTE, Govt.of India, New Delhi
#86/1, Gottigere, Bannerghatta Road, Bengaluru-560083

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

CERTIFICATE

Certified that the Internship/Professional training entitled "Software Development”


submitted by Sanjay Kumar S R (1TJ16CS086), bonafide students of T. John Institute of
Technology is approved by the project guide in partial fulfillment for the award of degree of
Bachelor of Engineering in Computer Science and Engineering of Visvesvaraya
Technological University, Belagavi during the year 2019-2020. It is certified that all
corrections/suggestions indicated for Internal Assessment have been incorporated in the Report
deposited in the departmental library. The internship report has been approved as it satisfies
the academic requirements in respect of project work prescribed for the said Degree.

Signature of Guide Signature of HOD Signature of Principal


Prof. Anju Abraham Dr. D Ramya Dorai Dr. ArunVikas Singh
Assistant Professor Associate Professor & Head Principal
Dept. of CSE,TJIT Dept. of CSE,TJIT TJIT

External Viva
Name of the Examiners Signature with Date

1. ....………………………..………..

2. ....…………………………………
INTERNSHIP CERTIFICATE
DECLARATION

I “Sanjay Kumar S R (1TJ16CS086)” student of T. John Institute of Technology,


Bangalore, hereby declare that the internship project on “Encryption-Decryption” has
been carried out by me under the guidance of Prof. Anju Abraham, Dept. of CSE, TJIT,
Bangalore in partial fulfillment of the course requirement for 8 th semester B.E, Computer
Science and Engineering of Visvesvaraya Technological University, Belagavi during
the academic year 2019-20.
I also declare that to the best of my knowledge and belief the work reported here is
accepted and satisfied.

Sanjay Kumar S R
(1TJ16CS086)
ACKNOWLEDGEMENT

The satisfaction ad euphoria that accompany the successful completion of any task would
be incomplete without the mention of a number of individuals whose professional
guidance and encouragement helped me in the successful completion of this report work.
I have a great pleasure in expressing my deep sense of gratitude to founder Chairman Dr.
Thomas P John for having provided us with a great infrastructure and well-furnished
laboratories.
I take this immense opportunity to express my profound gratitude to our respected
Principal, Dr. Arun Vikas Singh, for his constant support and encouragement.
I am also grateful to the Head of Computer Science Department, Dr. D Ramya Dorai
for her unfailing encouragement and suggestion given.
I would like to thank Prof. Anju Abraham, Seminar Coordinator Department of
Computer Science and Engineering for her valuable advice, guidance and prolonged
encouragement given to complete work.
I am grateful to TCI Tech FOUNDATION for giving me the opportunity to learn and
develop skills needed to grow in the industry, so as to excel in the future.
I am also indebted to all the staff members of the Department of Computer Science and
Engineering for their support and encouragement.
Last, but not the least, I would like to thank our family and friends for their encouragement,
help and co-operation.

Sanjay Kumar SR
(1TJ16CS086)

I
ABSTRACT

This report discusses my experience as a Software Development documentation intern at


TCI Tech Foundation from July 2019 to August 2019. This report describes the work
developed during a 1-month internship at the TCI Tech Foundation, under the
supervision of professor Pankaj P Mutha. The goal of our work is to develop a project
that Encrypts & Decrypts the text as well as a File. Database management systems have
also been an integral part of the modern OS. During our internship, we worked with
SQLite, a database management system built on top of the file system abstraction, rather
than beside it. The goal of our work was to create a workload for a real-world application
which uses SQLite transactions. In this document, we describe the development processes
and results achieved during the internship.

About the Project:


To protect the privacy of sensitive data, an encrypted and decrypted file system is
designed and implemented in the internship as a project. Security of data in a computer
is needed to protect critical data and information from other parties. One way to protect
data is to apply the science of cryptography. This system uses and hardware code to
authenticate a user. Experiment results show that large files can be encrypted and
decrypted in a very short time. The system which is developed in my internship has high
efficiency and ensures the security of documents.

II
LIST OF FIGURES

FIGURE NO TITLE PAGE NO


1.1 Encryption and Decryption 2
1.2 Cryptography 2
1.3 Encryption Process 3
1.4 Decryption Process 3
3.1 Encryption and Decryption Cycle 5
3.2 Private Key Encryption 6
3.3 Public Key Encryption 6
3.4 Decryption Process 7
5.1 Encrypting Data Code 11
5.2 Decrypting Data Code 13
6.1 Index/About Page 14
6.2 Registration Page 15
6.3 Login Page 16
6.4 Code For Encryption 16
6.5 Code For Decryption 17
6.6 Output for the Text 17

III
CONTENTS

SL No. CHAPTER PAGE NO


ACKNOWLEDGEMENT I
ABSTRACT II
LIST OF FIGURES III
Chapter 1 INTRODUCTION 1
Chapter 2 ABOUT THE INDUSTRY 4
Chapter 3 CONCEPTS AND METHODOLOGY 5
3.1 Encryption 5
3.2 Decryption 7
Chapter 4 RELATED WORKS 8
4.1 Statement of Problem 8
4.2 Objective 8
4.3 Literature Survey 8
Chapter 5 DESIGN
DESIGNAND
ANDIMPLEMENTATION
IMPLEMENTATION 10
17
Chapter 6 RESULTS
RESULTS 14
26
Chapter 7 CONCLUSION
CONCLUSION 18
30
REFERENCES
REFERENCES 19
Software Development Encryption-Decryption

CHAPTER 1
INTRODUCTION
The internship is a program that enhances the capability of the graduates and the scope to do
practical works in an organization related to the student’s major to gain the work experience.
According to the Oxford Dictionary, A student or trainee who works, sometimes without pay,
to gain work experience or satisfy requirements for a qualification. As the outside world is very
competitive for anyone after graduation, an internship gives the student a great opportunity to
have a head start.

Internship opportunity provides the students with a great chance to relate their theoretical
knowledge with the competitive and tough real job market environment. Moreover, if the
internship period is within the bachelor program and the students have to return to the academic
after completing it, the skills that they have developed during the internship help them to gain
a more academic result.

I was lucky to get the opportunity to complete our industrial attachment at TCI Tech
FOUNDATION. The journey wasn’t that simple. There were many obstacles, new
technologies that I have to handle with, yet after overcoming each challenge I had discovered
a new potential within myself. The skills that I have gathered are priceless to me. In addition
to that, some of the non-technical skills that I have procured, combined with those technical
skills will certainly prove handy in my future jobs.

Encryption and Decryption:


Data that can be read and understood without any special measures is called plaintext or clear
text. The method of disguising plaintext in such a way as to hide its substance is
called encryption. Encrypting plaintext results in unreadable gibberish called cipher text. You
use encryption to ensure that information is hidden from anyone for whom it is not intended,
even those who can see the encrypted data. The process of reverting cipher text to its original
plaintext is called decryption.

Dept. Of CSE 2019-20 Page 1


Software Development Encryption-Decryption

Figure 1.1 Encryption and Decryption

Cryptography:
Cryptography is the science of using mathematics to encrypt and decrypt data. Cryptography
enables you to store sensitive information or transmit it across insecure networks (like the
Internet) so that it cannot be read by anyone except the intended recipient.
While cryptography is the science of securing data, cryptanalysis is the science of analyzing
and breaking secure communication.
Classical cryptanalysis involves an interesting combination of analytical reasoning, application
of mathematical tools, pattern finding, patience, determination, and luck. Cryptanalysts are also
called attackers.

Figure 1.2 Cryptography

Dept. Of CSE 2019-20 Page 2


Software Development Encryption-Decryption

Encryption:
Encryption is a process which transforms the original information into an unrecognizable
form. This new form of the message is entirely different from the original message.

Figure 1.3 Encryption Process

Decryption:
Decryption is a process of converting encoded/encrypted data in a form that is readable and
understood by a human or a computer. This method is performed by un-encrypting the text
manually or by using keys used to encrypt the original data.

Figure 1.4 Decryption Process

KEY DIFFERENCE:

 Encryption is a process of converting normal data into an unreadable form whereas


Decryption is a method of converting the unreadable/coded data into its original form.
 Encryption is done by the person who is sending the data to the destination, but the
decryption is done at the person who is receiving the data.
 The same algorithm with the same key is used for both the encryption-decryption
processes.

Dept. Of CSE 2019-20 Page 3


Software Development Encryption-Decryption

CHAPTER 2

ABOUT THE INDUSTRY

TCI Tech FOUNDATION

TCI Tech FOUNDATION offers internship and give the best training to Students and
created a revolution in the IT market by its QUALITY Training and supported a large number
of Students by eradicating Unemployment with highest efforts. They focus on enhancing
employability of fresh graduates through intrinsic transformation, led by people from the
industry. TCI Tech FOUNDATION has a link with some of the IT/Core Companies like Wipro
TCS, LG, etc. with rich and varied global experiences.

Their mission is to train the students on different courses. And the courses provided in
TCI Tech Foundation are Manual Testing, SQL, Agile, Software Development, Software
Testing, Selenium and Full Stack Developer Course. They aim to transform the lives of the
youths of the nation and equip them with the entire necessary arsenal to get better job
opportunities which students are interested, excel at their jobs and ultimately compete with the
global workforce.

They tackle the hardest area of skill development – bringing a significant behavioural
change in learners resulting in the learners getting transformed – mature, holistic and always
learning. The world is changing, the jobs are changing, and consequently, the skill set
requirements are also changing. India, today, requires all-round skilled professional’s
proficient with technical as well as interpersonal, leadership, teamwork skills, etc. as well.

Dept. Of CSE 2019-20 Page 4


Software Development Encryption-Decryption

CHAPTER 3

CONCEPTS AND METHODOLOGY

Figure 3.1 Encryption and Decryption Cycle

3.1 Encryption
Encryption is a security method in which information is encoded in such a way that only
authorized user can read it. It uses encryption algorithm to generate cipher text that can only
be read if decrypted.

Encryption Process
— The encryption process starts with a mathematical formula that converts the plaintext into a pre-
hash code.
— The sender uses his private key to encrypt the pre-hash code.
— The algorithm used by the software generates the private key.
— The encrypted pre-hash code and the file will undergo another encryption process using the
sender’s private key.
— After that, the sender has to retrieve the public key of the file’s recipient.
— The sender uses the recipient’s public key to encrypt the message.

Types of Encryption

There are two types of encryptions schemes as listed below:

 Private Key encryption

 Public Key encryption

Dept. Of CSE 2019-20 Page 5


Software Development Encryption-Decryption

3.1.1 Private Key encryption

Private key encryption algorithm uses same cryptographic keys for both encryption and
decryption of cipher text.

Figure 3.2 Private Key Encryption

3.1.2 Public Key encryption


Public key encryption algorithm uses pair of keys, one of which is a secret key and one of
which is public. These two keys are mathematically linked with each other.

Figure 3.3 Public Key Encryption

Dept. Of CSE 2019-20 Page 6


Software Development Encryption-Decryption

3.2 Decryption:
The conversion of encrypted data into its original form is called Decryption. It is generally a
reverse process of encryption. It decodes the encrypted information so that an authorized user
can only decrypt the data because decryption requires a secret key or password.

Figure 3.4 Decryption Process

Decryption Process
— When the recipient receives the file, he has to decrypt the message so he can read it.
— First, the receiver uses his private key to decode the message.
— After that, the receiver uses his private key to decrypt the encrypted pre-hash code and file.
— The receiver gets the sender’s public key to verify the identity of the sender and to decipher
the pre-hash code.
— The receiver creates a post-hash code from the file. If this post-hash code is the same as the
pre-hash code, the authenticity of the data has been validated.

Dept. Of CSE 2019-20 Page 7


Software Development Encryption-Decryption

CHAPTER 4
RELATED WORKS
4.1 Statement of Problem
The underlying respective architecture of most IT systems, including the desktop computer and
internet, does not guarantee security. Users with malicious intents have always found a way of
exploiting one vulnerability or the other. An attack that affects the confidentiality of
information often presents the platform for the integrity of such information to be
compromised. Intercepted information on transit would make little or no sense to an interceptor
if he is not able to decipher the content of the information. This explains why it is very
necessary to ensure that even when an intruder or unauthorised user successfully obtains
access to some information the confidentiality and integrity of the information remain
uncompromised.

4.2 Objective
The objective of this paper is to design and implement an application that encrypts and decrypts
plain text and also the file. The process encryption-decryption is done on the website which is
developed in java with a database give to it.

4.3 Literature Survey


Designing an encryption-decryption system, amongst other things, requires a decision on the
basic functionality of the software, and the choice of cryptographic algorithm to be used.
While the functionality supports the attractiveness of the system, the type of cryptographic
algorithm actually determines how much security the system would actually provide. Hence,
this forms the major component in the system design[1].
Currently, there are many available open-source and commercial for encryption-decryption
systems[1].

In the year 2019, The encryption method provides a higher level of security to data through
strong encryption and decryption technique used employed for encrypting the data files, log
files and backup files without dissolving transparency property for its user [2].

Dept. Of CSE 2019-20 Page 8


Software Development Encryption-Decryption

This method performs real time I/O or transmission over links through encryption and
decryption of the data and log files. It has distribution and encryption offers complete
protection from accidental loss of data. There are several possibilities to raise the security
level by using stronger encryption algorithms based method employed with one way hashing
techniques and implementing up to its cell level of the transparent database [2].

In the same year 2019 another paper, there were two tests conducted. The first test was to
encrypt the message “Hello World!!” using the public key of another window of the software.
And decrypt it using the other window. The second test consisted of picking the RSA class
and adding a main, where it created to RSA objects and then randomly generates a random
message. And then encrypt the message using the public key. After this encryption, the
decrypts was done. if the message decrypted is equal to the message originated then it prints
“yes”, if not it prints “not”. It repeats this process 100 times [3].

The society is turning into a digital society, with the growing influence of technology in our
daily lives. It is present in so many places, sometimes without people realizing it, that is
already frequent is considered natural. This society increasingly directs its attention to new
technologies, fostering their development and reaching a closer approximation of knowledge,
making it increasingly accessible to all. There are numerous advantages of using technologies
in healthcare institutions, nevertheless, it is necessary to reflect that there are vulnerabilities.
There is no system totally safe, however, attacks can be prevented and damage is reduced [4].

The growing danger of computer crime poses a set of new topical issues. At the same time,
the development of hardware encryption complexes can be effective on the way to overcome
some of them. So some of the complexes were introduced. The complex which was used has
been successfully implemented in the following areas: banking, military and medical
industries, telephony. The main advantages of this paper were it includes the reliability of
transmission, the simplicity of implementation, the flexibility of the functionality and the
possibilities of application and modernization [5].

Dept. Of CSE 2019-20 Page 9


Software Development Encryption-Decryption

CHAPTER 5

DESIGN AND IMPLEMENTATION


 In the implementation of the encryption and decryption system : -
Java was used for the front-end programming
MySQL was utilized for database management.

Encrypting Data

You can encrypt given data using the Cipher class of the javax.crypto package. By Following
the steps given below we can encrypt given data using Java.

Step 1: Create a KeyPairGenerator object

The KeyPairGenerator class provides getInstance() method which accepts a String variable
representing the required key-generating algorithm and returns a KeyPairGenerator object that
generates keys.

Step 2: Initialize the KeyPairGenerator object

The KeyPairGenerator class provides a method named initialize() this method is used to
initialize the key pair generator. This method accepts an integer value representing the key
size.

Step 3: Generate the KeyPairGenerator

You can generate the KeyPair using the generateKeyPair() method of the KeyPairGenerator
class.

Step 4: Get the public key

You can get the public key from the generated KeyPair object using the getPublic() method.

Step 5: Create a Cipher object

The getInstance() method of Cipher class accepts a String variable representing the required
transformation and returns a Cipher object that implements the given transformation.

Dept. Of CSE 2019-20 Page 10


Software Development Encryption-Decryption

Step 6: Initialize the Cipher object

The init() method of the Cipher class accepts two parameters an integer parameter
representing the operation mode (encrypt/decrypt) and, a Key object representing the public
key.

Step 7: Add data to the Cipher object

The update() method of the Cipher class accepts a byte array representing the data to be
encrypted and updates the current object with the data given.

Step 8: Encrypt the data

The doFinal() method of the Cipher class completes the encryption operation.

Figure 5.1 Encrypting Data Code

Dept. Of CSE 2019-20 Page 11


Software Development Encryption-Decryption

Decrypting Data
You can decrypt the encrypted data using the Cipher class of the javax.crypto package. By
Following the steps given below we can encrypt given data using Java.

Step 1: Create a KeyPairGenerator object

The KeyPairGenerator class provides getInstance() method which accepts a String variable
representing the required key-generating algorithm and returns a KeyPairGenerator object that
generates keys.

Step 2: Initialize the KeyPairGenerator object

The KeyPairGenerator class provides a method named initialize() this method is used to
initialize the key pair generator. This method accepts an integer value representing the key
size.

Step 3: Generate the KeyPairGenerator

You can generate the KeyPair using the generateKeyPair() method of the KeyPairGenerator
class.

Step 4: Get the public key

You can get the public key from the generated KeyPair object using the getPublic() method.

Step 5: Create a Cipher object

The getInstance() method of Cipher class accepts a String variable representing the required
transformation and returns a Cipher object that implements the given transformation.

Step 6: Initialize the Cipher object

The init() method of the Cipher class accepts two parameters

 An integer parameter representing the operation mode (encrypt/decrypt)

 Key object representing the public key

Step 7: Add data to the Cipher object

The update() method of the Cipher class accepts a byte array representing the data to be
encrypted and updates the current object with the data given.

Dept. Of CSE 2019-20 Page 12


Software Development Encryption-Decryption

Step 8: Encrypt the data

The doFinal() method of the Cipher class completes the encryption operation.

Step 9: Initialize the Cipher object for decryption

To decrypt the cypher encrypted in the previous steps you need to initialize it for decryption.

Step 10: Decrypt the data

Finally, Decrypt the encrypted text using the doFinal() method.

Figure 5.2 Decrypting Data Code

Dept. Of CSE 2019-20 Page 13


Software Development Encryption-Decryption

CHAPTER 6

RESULTS
As the user wants to encrypt or decrypt the data or the file first the user needs to open the
application. As the application is open the first thing which is displayed is the index page which
will be telling the user about the operations which can be done in this application.

Figure 6.1 Index/About Page

Dept. Of CSE 2019-20 Page 14


Software Development Encryption-Decryption

Next, after viewing the about page the user should log in to the application. Only the user can
have access to login who has been registered before, while new users must register first to use
the application.

Figure 6.2 Registration Page

Dept. Of CSE 2019-20 Page 15


Software Development Encryption-Decryption

Figure 6.3 Login Page

Figure 6.4 Code For Encryption

Dept. Of CSE 2019-20 Page 16


Software Development Encryption-Decryption

Figure 6.5 Code For Decryption

The Sample text is T. John Institute of Technology so the output which means
encrypt ion output and decrypt ion output looks like the below figures:

Figure 6.6 Output for the Text

Dept. Of CSE 2019-20 Page 17


Software Development Encryption-Decryption

CHAPTER 7

CONCLUSION
As we toward a society where automated information resources are increased and cryptography
will continue to increase in importance as a security mechanism. Electronic networks for
banking, shopping, inventory control, benefit and service delivery, information storage and
retrieval, distributed processing, and government applications will need improved methods for
access control and data security. The information security can be easily achieved by using
Cryptography technique. This application which is developed in this internship project is best
for both encrypting the data as well as decrypting the data. This application can be used by
anyone across the world. The only thing to be done is to create the account/signup for the
application. In this application the security is good. In this application, the main advantage is
the user can view the history of the files or text which has been encrypted or decrypted by the
user.

Dept. Of CSE 2019-20 Page 18


Software Development Encryption-Decryption

REFERENCES
1. A Simple Encryption and Decryption System.
2. Protection of Data Stored in Transparent Database System using Encryption.
3. A data encryption application: Development Proposal.
4. The Benefits and Risks of Privacy and Security in the Era of Digital Health: Health
National Service (SNS) of Portugal.
5. Hardware Data Encryption Complex Based on Programmable Microcontrollers.
6. https://thesai.org
7. https://gpgtools.tenderapp.com
8. https://cheapsslsecurity.com/p
9. https://www.guru99.com
10. https://medium.com/@monetha
11. https://www.researchgate.net/publication/282027337 [1].
12. https://www.tutorialspoint.com/java_cryptography/java_cryptography_encrypting_data.
htm

13. https://www.tutorialspoint.com/java_cryptography/java_cryptography_decrypting_data.
htm

Dept. Of CSE 2019-20 Page 19

You might also like