Chandigarh school of
business
Jhanjeri, Mohali-140307
Department of Computer Applications
Minor Project On
Text encryption using
various algorithms
B.Sc. in Cyber Security
Submitted By :
Rohit Kumar ( Roll No. - 2236160)
Under The Guidance Of
Ms. Simranjit Ma’am
S.No Contents Page No
1 INTRODUCTION 1
2 PROBLEM DEFINITION 2,3
3 AIMS AND OBJECTIVES 4
4 SCOPE AND BEST PRACTICES 5
5 FEATURES 6
6 ENCRYPTION ALGORITHMS 7
7 TOOLS AND LIBRARIES 8
8 MODULES/COMPONENTS 9
9 EXPECTED OUTPUTS 10
10 APPLICATIONS 11
12 CONCLUSION 12
Table Of Content
INTRODUCTION
In the last few years the security and integrity of the data is the most
important concern. Now a day’s almost all the data is transferred over the
computer networks and it has increased the attacks over the network.
Before transmitted data it has to be encrypted and store so that it cannot be
attacked by various attackers. Encryption is a process of hiding the data,
where it converts the original text into cipher text. Encryption uses different
algorithm to encrypt the data into different form. Cryptographic Algorithm
uses a set of keys with the different characters for both encryption and
decryption. By using key the plain text is converted to the cipher text and
decryption is done by converting back the plaintext from the cipher text.
Cryptography is a process of transmitting and storing data in a form that it is
read only by authorised users. Cryptography is a science of protection of
data by encoding it into unreadable form. It is useful way of protecting the
important sensitive information by using mathematical form algorithm for
both encryption and decryption process. The encryption and decryption
process depend on the key value. The strength of the algorithm is how
difficult it is to determine the key value and get the original text . The
algorithm is majorly divided into two types symmetric and asymmetric
depending on the keys. If same keys are used for both encrypting and
decrypting then it is called symmetric algorithm. Symmetric algorithm is
further divided into stream and block ciphers. A stream cipher is done on
the single byte of data, where as the block a cipher is done on the block of
data. Asymmetric algorithm uses two different keys one for encryption and
both for decryption. The key should be kept secret so that the message
should be not be decrypted. The purpose of cryptography is to provide
Authentication (proving the one’s identity), Non-repudiation (the receiver
should know the sender should not be faking), Integrity (data should be
correct, accuracy, and trustworthiness), and Privacy/confidentiality
(message is read by only the intended receiver).
The project focuses on implementing text encryption techniques using
various encryption algorithms in Python. Encryption is essential for securing
sensitive information from unauthorized access, and it plays a critical role in
data transmission over insecure channels.
PROBLEM DEFINITION
Existing System
The variation in the characteristics of the multimedia data such as
correlation among the pixels and high redundancy of the image. Therefore,
there were some limits where same techniques cannot be used for
protection all type of multimedia data. The traditional encryption
algorithms may not use to encryption the image directly because of these
reasons:
As the size of image will be not same as the text it may varies. Hence
the traditional encryption algorithm may take longer time to encrypt
and decrypt the image compare to text.
There is condition which says that the text encryption both decrypted
and original text must be equal but it can be never true for the image.
For decryption of image the small distortion is also accepted by the
human perceptive.
Computational time is high in exiting system.
High computing power is required.
For networking Systems it is not efficient.
Security is also a major issue.
Proposed System
There should be a reliable storage and transmission of digital image
where it has been served such as multimedia systems, medical and
military imaging systems. The security of image is the most critical
problem, due to increase in the growth of internet, cell phones and
multimedia technology in the society. This project is to propose a
secure encryption and decryption form by using AES algorithm. The
AES algorithm is widely used in the applications of daily life, such as
smart cards, cell phones, automated teller machines and WWW
servers. AES encrypts a plaintext to a cipher text, which can be
decrypted to the original plaintext by using common private key. The
cipher text is made very different form so that it should not have any
idea of the original plain text. For encryption and decryption, the AES
encrypt the Thing in different form using the key which should have
no idea of original form. After decrypting it, it should be in the
original form. The encryption of anything like text, image any data
should be strong so that it should not be known by the intruders.
AIM AND OBJECTIVES
The model for encryption and decryption of any text is designed with the some
objectives:
The primary objective is to create a Python-based application
that encrypts and decrypts text using multiple encryption
algorithms.
This will enhance the understanding of how different
encryption techniques work and provide a comparative analysis
of their security and efficiency.
SCOPE AND BEST PRACTICES
The project will be added with a variety of algorithms for implementation,
focusing on widely used ones.
The project will cover symmetric (AES, DES) and asymmetric encryption
algorithms (RSA), as well as hashing functions (SHA-256, MD5) for data
integrity checks.
Key management: importance of securely storing key.
Regular updates: keeping this project algorithm up to dates against new
vulnerabilities.
Awareness: Educating others about secure practices.
Features
The Text encryption using symmetric algorithms (AES, DES).
Text encryption using asymmetric algorithms (RSA).
Hashing text data using hashing algorithms (SHA-256, MD5).
Decryption of the encrypted text.
Graphical User Interface (GUI) for ease of use.
Analysis of encryption and decryption speed and security levels.
ENCRYPTION ALGORITHMS
AES (Advanced Encryption Standard): A symmetric encryption algorithm widely
used in securing data due to its speed and security.
DES (Data Encryption Standard): An older symmetric encryption algorithm that
provides less security compared to AES but is still useful for learning.
RSA (Rivest–Shamir–Adleman): A public-key cryptosystem used for secure data
transmission.
SHA-256 (Secure Hash Algorithm 256-bit): A hashing algorithm that converts
text into a fixed-size string of characters, used for data integrity verification.
MD5 (Message Digest Algorithm 5): A widely used but less secure hashing
function.
TOOLS AND LIBRARIES
Python Cryptography Library (cryptography): For implementing cryptographic
algorithms.
PyCryptodome: A self-contained Python library that supports both
cryptographic operations and hashing functions.
Tkinter/Flask (Optional): To create a GUI or web interface for the application.
MODULES/COMPONENTS
User Interface: Allows the user to input text, select the encryption algorithm,
and display the encrypted or hashed text.
Encryption Engine: Contains the logic for each encryption and decryption
process, depending on the algorithm chosen.
Hashing Engine: Provides the functionality to hash text using different
algorithms like SHA-256 and MD5.
Performance Analysis: Compares the encryption times, decryption times, and
security levels for different algorithms.
EXPECTED OUTPUT
The Python application will encrypt text using the selected algorithm and allow
decryption where applicable. Additionally, it will hash text and display
performance metrics, such as the time taken for encryption/decryption and the
security level of each algorithm.
APPLICATIONS
Secure text-based communication.
File encryption for sensitive data.
Data integrity checks using hashing.
Data protection : encryption in mails , files, and database.
Secure communication : HTTPS,VPNs, and secure messaging apps.
Cryptocurrency : uses of encryption in blockchain technology.
CONCLUSION
This project provides a comprehensive understanding of various encryption
algorithms and how to implement them using Python. It will also highlight the
practical differences in speed and security between different algorithms.
It also provides a practical understanding of text encryption through hands on
implementation in python along with exploring multiple algorithms, users will
gain insights into effective data protection strategies contributing to enhanced
cybersecurity awareness.