ENHANCED SECURITY USING
ELLIPTIC CURVE CRYPTOGRAPHY (ECC)
IN CLOUD
ENHANCED SECURITY USING ELLIPTIC CURVE CRYPTOGRAPHY IN CLOUD
DEPARTMENT OF INFORMATION TECHNOLOGY
Batch-13
Review-03
Under the Esteemed Guidance Of
Ms.B.Sai Deepthi, M.Tech,
Assistant professor
Team Members
P.P.S.V.V.YASWANTH SIVA KUMAR - 21T95A1206
K.VIJAY KUMAR - 20T91A1211
N.RAMESH - 21T95A1205
M.JEEVAN - 20T91A1222
GIET ENGINEERING COLLEGE
Accredited by NAAC, Affiliated to JNTUK, Kakinada, Chaitanya Knowledge City,
Velugubanda , Rajamahendravaram – 533 296,Andhra Pradesh, India.
2023-2024
CONTENTS
• Abstract
• Introduction
• Existing System with Limitations
• Proposed system with Advancements
• Requirements software and hardware
• Modules
• UML Diagrams
• Codes
• Conclusion
• Reference
Abstract
Cloud Computing is storing and accessing data and
programs over the Internet instead of personal computers. Its
flexibility, cost- effectiveness, and dynamically re-allocation of
resources as per demand make it desirable., it has also created
security challenges such as information leakage, account
hijacking and denial of service. The proposed work is to develop
a Software as a Service application to prevent information
leakage by providing multifactor authentication, risk assessment,
encryption using enhanced elliptic curve cryptography
Introduction
The project "Enhanced Security Using Elliptic
Curve Cryptography in Cloud "aims to enhance the
security of cloud computing environments by
leveraging the power of ECC. This provides a
comprehensive review of the project's objectives, the
significance of ECC in cloud security, and the key
aspects covered . the security posture of cloud-based
systems and fostering secure data communication in
the cloud.
Existing System with Limitations
The existing system for security in cloud computing relies on the widely
adopted Advanced Encryption Standard (AES) algorithm. AES has been
extensively used and proven to provide strong encryption for securing data in
the cloud. However, the AES-based system does have certain disadvantages that
need to be addressed. These include larger key sizes, increased computational
overhead.
Computational Overhead
Key Size
Key Distribution
Lack of Forward Secrecy
Side-Channel Attacks
Proposed System with Advancements
All existing algorithms require large size of keys generation and
management which took heavy computation time and resources which may
increase cloud usage cost and to overcome from this problem ECC (elliptic
curve cryptography) algorithm, which is lighter to generate keys and take less
computation time and resources to encrypt or decrypt data.
Faster Performance Bandwidth Efficiency
Strong Security with Shorter Keys.
Lower Storage Requirements Scalability
Energy Efficiency
Security in Resource-Constrained Devices
Requirements:
Software and Hardware
Software Specifications
Operating System : Windows 10 or 11, Linux.
Programming Languages : Python-3.7.0
IDE : Jupyter Notebook 5.4.0,Visual Studio code.
Hardware Dependencies
Processor : intel i3
Ram : 4 gb
Hard disk : 256gb
Modules
• Upload File and Encrypt File Using AES
• File Uploading and Encrypting
• Encrypt File Using AES
• Encrypt File Using ECC and Compute
• Encrypt File Using ECC
• Compute Encryption Time
• Outsource File to Cloud
• Outsource File to Cloud
• Cloud Storage
• Download File and Comparison Graph
• Download File
• Comparison Graph
• Upload File and Encrypt File Using AES
File Uploading and Encrypting
Encrypt File Using AES
• Encrypt File Using ECC and Compute
• Encrypt File Using ECC
• Compute Encryption Time
•Outsource File to Cloud
• Outsource File to Cloud
• Cloud Storage
• Download File and Comparison Graph
• Download File
• Comparison Graph
UML Diagrams
UML stands for Unified Modeling Language. UML is a standardized general-purpose
modeling language in the field of object-oriented software engineering. The standard is
managed, and was created by, the Object Management Group.
The Unified Modeling Language is a standard language for specifying, Visualization,
Constructing and documenting the artifacts of software system, as well as for business
modeling and other non-software systems.
The UML is a very important part of developing objects oriented software and the
software development process. The UML uses mostly graphical notations to express the
design of software projects.
Use case diagram
A use case diagram in the Unified Modeling
Language (UML) is a type of behavioral
diagram defined by and created from a Use-
case analysis.
Class diagram
The class diagram is used to refine the use case diagram and define a detailed design of the
system. The class diagram classifies the actors defined in the use case diagram into a set of
interrelated classes.
Object diagram
The object diagram is a special kind of class diagram. An object is an instance of
a class. This essentially means that an object represents the state of a class at a given point
of time while the system is running. The object diagram captures the state of different
classes in the system and their relationships or associations at a given point of time.
State diagram
A state diagram, as the name suggests,
represents the different states that objects in
the system undergo during their life cycle.
Objects in the system change states in
response to events. In addition to this, a state
diagram also captures the transition of the
object's state from an initial state to a final
state in response to events affecting the
system.
Activity diagram
The process flows in the system are captured in
the activity diagram. Similar to a state diagram,
an activity diagram also consists of activities,
actions, transitions, initial and final states, and
guard conditions.
Sequence diagram
A sequence diagram represents
the interaction between different objects
in the system. The important aspect of a
sequence diagram is that it is time-
ordered. This means that the exact
sequence of the interactions between the
objects is represented step by step.
Different objects in the sequence diagram
interact with each other by passing
"messages".
Collaboration diagram
A collaboration diagram groups together the interactions between different
objects. The interactions are listed as numbered interactions that help to trace the
sequence of the interactions. The collaboration diagram helps to identify all the
possible interactions that each object has with other objects.
Codes
Cloud Server :
This is a python based cloud server which accept input file from user and then save in
its storage space. Any time user can send request to download particular file and cloud will
respond to user with that file. All files send to this cloud will be encrypted using ECC.
Cloud User :
Cloud user will upload file and then encrypt using ECC and then send or
outsource to cloud for storage. Any time user can send request to cloud for file download
and then decrypt it.
For Cloud Server:
For Cloud User
Conclusion
In conclusion, this project highlights the significance of
Elliptic Curve Cryptography (ECC) as a robust and resource-efficient
encryption technique for enhancing data security in cloud
environments. Through a comprehensive comparison with the
Conventional AES algorithm, ECC demonstrates its ability to
provide swift encryption and decryption while minimizing
computation costs. This project underscores ECC's potential to
mitigate security concerns associated with cloud storage, making it
a valuable addition to the arsenal of data protection methods,
ensuring the confidentiality and integrity of sensitive information
in cloud-based applications.
Reference: Publications
https://ieeexplore.ieee.org/document/9751865
https://www.youtube.com/watch?v=xlwdHxR70N4
Thank You