Nothing Special   »   [go: up one dir, main page]

Cryptography in Cloud Computing

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 19

\documentclass[conference]{IEEEtran}

\IEEEoverridecommandlockouts

% The preceding line is only needed to identify funding in the first footnote. If that is unneeded, please
comment it out.

\usepackage{cite}

\usepackage{amsmath,amssymb,amsfonts}

\usepackage{algorithmic}

\usepackage{graphicx}

\usepackage{textcomp}

\usepackage{xcolor}

\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em

T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}

\begin{document}

\title{Cryptography in Cloud Computing\\

\author{\IEEEauthorblockN{Roopa H M}

\IEEEauthorblockA{\textit{Assistant professor,} \\

MCA department\\

\textit{RNS Institute of Technology}\\

Bangalore, India \\

roopahm@rnsit.ac.in}

\and

\IEEEauthorblockN{Lokesha S}
\IEEEauthorblockA{\textit{MCA department} \\

\textit{RNS Institute of Technology}\\

Bangalore, India \\

mca.lokesh24@gmail.com}

\and

\IEEEauthorblockN{Hemanth Kumar G}

\IEEEauthorblockA{\textit{Assistant professor,} \\

MCA department\\

\textit{RNS Institute of Technology}\\

Bangalore, India \\

\maketitle

\textbf{Abstract:}

Cloud cryptography is a field of study that focuses on developing secure and efficient cryptography
techniques for use in a cloud computing environments. The goal of cloud cryptography is to provide
strong security guarantees while minimizing the overhead associated with cryptography operation
associated in the cloud. This typically involves designing new encryption, decryption, and key
management schemes that are optimized for use in distributed computing environments. Key challenges
in cloud cryptography include protecting data confidentiality and integrity, preventing unauthorized
access to sensitive information, and ensuring the availability of cryptography resources. As cloud
computing continues to become more prevalent, the need for robust and efficient cloud cryptography
solutions will only continue to grow.
\textbf{keyword:}

Cloud computing, cloud cryptography, data security, cryptography techniques, encryption, decryption,
key management, algorithms.

\section{\textbf{Introduction}}

Cloud cryptography is an essential aspect of securing data in the cloud environment. The cloud
provides organizations with a flexible and cost-effective way to store and process data, but it also
introduces new security challenges. The shared responsibility model of cloud security means that both
the cloud service provider and the client are responsible for ensuring the security and privacy of data.
Cryptography provides a powerful set of tools for securing data in the cloud, including encryption,
decryption, and key management.

The purpose of this paper is to provide an introduction to cloud cryptography, including the basic
principles of cryptography, the different cryptography algorithms used in cloud computing, and the
challenges associated with implementing cryptography in the cloud. We will discuss the role of cloud
service providers in ensuring the security of their clients' data, as well as the need for standards and
regulations to govern the use of cryptography in the cloud. Additionally, we will explore some of the
recent developments and emerging trends in cloud cryptography, such as homomorphic encryption
and secure multi-party computation.

Overall, this paper aims to provide readers with a solid understanding of the key concepts and issues
involved in securing data in the cloud using cryptography.

\section{\textbf{Cloud Computing}}

Cloud computing is usually described in one of two ways. Either based on the deployment model,
or on the service that the cloud is offering. Based on a deployment model, we can classify cloud

as:
\begin{itemize}

\item public

\item private

\item hybrid,

\item community cloud

\end{itemize}

\begin{figure}[h]

\centering

\includegraphics[width=

0.45\textwidth]{images.png}

\caption{}

\label{fig:my_label}

\end{figure}

There are four types of clouds available .

\textbf{ Private Cloud :} A private cloud can be accessed by a single group or a single organization It is
managed by a third party or organization . The private cloud is highly secure and flexibility so the
private cloud is often used by larger organizations or the government sectors .

\textbf{Public Cloud:} A public cloud can be accessed by any user with an internet connection and want
to pay as per their usage the files are hosted by a third party.

Example Amazon , window Azure Service Platform and sales force .

\textbf{Community Cloud :} A community cloud will be accessed by two or more organization that
has similar cloud requirements
\textbf{Hybrid Cloud : }A hybrid is the combination of two or more cloud (public , private , and
community )

\section{\textbf{Data Security in Cloud}}

The numerous benefits that come with cloud computing have enticed many organizations and
governments agencies to move their sensitive data to the cloud . This avails an opportunity for attackers
to also exploit the vulnerabilities in cloud computing and breach the security of the cloud. Fuelled by
different agendas, they can hurt organizations through data theft, perform man- in-middle attacks, and
compromise the integrity of data . Cloud giants like Google, Amazon, and Microsoft have adopted
various measures to protect data stored on their cloud platforms by their clients . But data should be
protected against unauthorized access in all three data states (data at rest, data in transition, and data
being processed). Some organizations are aware of these security issues and encrypt their sensitive data
before migrating it to the cloud. And this provides another level of security from the client’s side for
their data in transit.

\section{\textbf{Cryptograph}y}

Cryptography is the practice of securing communication from third-party interference. It involves the
use of mathematical algorithms to convert plaintext (i.e., readable) information into ciphertext (i.e.,
unreadable) format. This process is called encryption. The reverse process, i.e., converting ciphertext
back to plaintext, is called decryption.

Cryptography has been used since ancient times to protect sensitive information. In modern times, it is
used extensively to protect electronic communication, such as emails, online transactions, and digital
signatures.

Cryptography is divided into two main categories: symmetric key cryptography and public key
cryptography. In symmetric key cryptography a single key is used for both encryption and decryption. In
contrast, public key cryptography uses two different keys: a public key for encryption and a private key
for decryption.
Cryptography has become increasingly important in today's digital world, as cybercrime and online
attacks have become more sophisticated. Cryptography is used in a wide range of applications, from
secure web browsing to secure messaging to secure financial transactions.

In cloud cryptography, there are two types of encryption algorithms. These are: symmetric and
asymmetric encryption algorithm.

\subsection{\textbf{Symmetric Encryption Algorithm }}

\begin{figure}[h]

\includegraphics[width=

0.4\textwidth]{images2.png}

\caption{symmetric encryption algorithm}

\label{fig:my_label}

\end{figure}

Symmetric encryption is a type of encryption that uses the

same key for both encrypting and decrypting data. This means

that the sender and the receiver of the encrypted data must have

access to the same secret key in order to decrypt the data.

Symmetric encryption algorithms operate on blocks of data

and typically use a mathematical function, called a cipher,to transform the plaintext data into
ciphertext. The most

commonly used symmetric encryption algorithms include Advanced

Encryption Standard (AES), Data Encryption Standard

(DES), and Triple DES.

The strength of symmetric encryption lies in its simplicity

and efficiency. Because the same key is used for encryption


and decryption, symmetric encryption is generally faster and

requires less processing power than asymmetric encryption,

which uses separate keys for encryption and decryption.

However, the main weakness of symmetric encryption is

that the secret key must be securely shared between the sender

and receiver. If an attacker is able to obtain the key, they

can easily decrypt the data. Therefore, it is crucial to protect

the secret key using secure key management techniques, such

as key distribution, key rotation, and key destruction.. Here

are a few examples of commonly used symmetric encryption

algorithms:

\begin{itemize}

\item \textbf{

Advanced Encryption Standard (AES):

\textbf{

\end{itemize}

Advanced Encryption Standard (AES) is a widely-used encryption

algorithm that is used to secure sensitive data. It

was developed by Belgian cryptographers Joan Daemen and

Vincent Rijmen, and it became the official encryption standard

of the United States government in 2002.

AES is a symmetric-key algorithm, which means that the

same key is used for both encryption and decryption of data.


The algorithm uses a fixed block size of 128 bits and supports

key sizes of 128, 192, and 256 bits.The AES algorithm

operates by dividing the plaintext data into 128-bit blocks and

applying a series of mathematical operations, called rounds,

to transform the data into ciphertext. The number of rounds

used depends on the key size: 10 rounds for 128-bit keys, 12

rounds for 192-bit keys, and 14 rounds for 256-bit keys.

The strength of AES lies in its ability to provide a high

level of security with relatively small key sizes. AES has been

extensively studied and tested, and it is widely considered to be

one of the most secure encryption algorithms available today.

\begin{itemize}

\item Data Encryption Standard (DES):

\end{itemize}

Data encryption algorithm is a method of encoding data to

protect it from unauthorized access.This algorithm uses a 56-

bit key and is no longer considered secure enough for most

applications. It has been replaced by the more secure Triple

DES (3DES) algorithm, which uses three separate 56-bit keys.

\begin{itemize}

\item Blowfish:

\end{itemize}

This encryption algorithm uses variable-length keys (ranging

from 32 to 448 bits) and is known for its fast encryption

and decryption speed. It is often used in password storage


and in VPNs (Virtual Private Networks).It was designed by

Bruce Schneier in 1993 as a replacement for the older Data

Encryption Standard (DES) algorithm. It uses a variablelength

key, ranging from 32 bits to 448 bits, making it highly

flexible and adaptable to a wide range of security requirements.

Blowfish operates on 64-bit blocks of data and uses a Feistel

network structure, where the input data is divided into two

halves, each of which is processed through a series of rounds using a different subkey generated from
the main key. Blowfish

uses a total of 16 rounds for encryption and decryption.

One of the key features of Blowfish is its speed. It is faster

than many other symmetric encryption algorithms, including

DES, while providing a high level of security. Blowfish is

also considered to be very secure, with no known successful

attacks against it. Blowfish has been widely adopted for use

in various applications, including in file encryption, email

encryption, and secure communication protocols. However, in

recent years, its popularity has declined due to the emergence

of newer and more advanced encryption algorithms, such as

AES. Nonetheless, Blowfish remains a strong option for those

seeking a flexible and efficient encryption algorithm.

\begin{itemize}

\item Twofish:

\end{itemize}

Twofish is a symmetric-key block cipher encryption algorithm

that was designed by Bruce Schneier, John Kelsey, Doug


Whiting, David Wagner, Chris Hall, and Niels Ferguson in

1998 as a candidate for the Advanced Encryption Standard

(AES). Although it was not selected as the AES winner,

Twofish is still considered a strong encryption algorithm.

Like Blowfish, Twofish uses a variable-length key, ranging

from 128 bits to 256 bits, making it highly flexible and

adaptable to different security requirements.

Twofish operateson 128-bit blocks of data and uses a Feistel network structurewith a total of 16 rounds
for encryption and decryption.

One of the unique features of Twofish is its use of a precomputed key-dependent S-boxes and a key-
dependent MDS matrix, which provides high resistance to known attacks suchas differential
cryptanalysis and linear cryptanalysis. Twofish also includes a key whitening step to increase the security
of the cipher.

Twofish has been widely adopted for use in various applications,

including in disk encryption, file encryption, and

network security protocols. Although it has not gained as much

popularity as other symmetric encryption algorithms such as

AES, Twofish is still considered to be a strong and secure

encryption algorithm.

\begin{itemize}

\item RC4:

\end{itemize}

This encryption algorithm is commonly used in wireless networksand in secure web browsing. However,
it has been foundto have vulnerabilities and is no longer considered secureenough for most applications.
RC4 operates by generating apseudorandom key stream based on a secret key, which is thenXORed with
the plaintext to produce the ciphertext.

The keystream is generated using a variable-length key, ranging from

40 bits to 2048 bits, making it highly flexible and adaptable

to different security requirements.

One of the key features of RC4 is its simplicity and speed.

It is a relatively fast encryption algorithm, making it wellsuited

for use in applications that require fast encryption and

decryption.

Overall, symmetric encryption algorithms are often faster

and more efficient than asymmetric encryption algorithms, but

they require that the same key be used for both encryption

and decryption, which can be a security risk if the key is

compromised.

\subsection{\textbf{Asymmetric Encryption Algorithm}}

\begin{figure}[h]

\centering

\includegraphics[width=
0.4\textwidth]{images4.png}

\caption{Asymmetric Encryption Algorithm}

\label{fig:my_label}

\end{figure}

Asymmetric encryption, also known as public-key encryption,

uses two different but mathematically related keys: a public key and a private key.

The public key is used to encrypt

data, and the private key is used to decrypt it.In asymmetric

encryption, the public key is used to encrypt the data, and the

private key is used to decrypt it. This means that anyone can

use the public key to encrypt data, but only the owner of the

private key can decrypt it.

The most commonly used asymmetric encryption algorithm

is the RSA algorithm, named after its inventors, Ron Rivest,

Adi Shamir, and Leonard Adleman. Other popular asymmetric

encryption algorithms include Diffie-Hellman, Elliptic Curve

Cryptography (ECC), and Digital Signature Algorithm (DSA).

The strength of asymmetric encryption lies in its ability to

provide secure communication without the need for a shared

secret key. However, asymmetric encryption is generally

slower and requires more processing power than symmetric

encryption.
Asymmetric encryption is often used in combination with

symmetric encryption, where the symmetric key is encrypted

using asymmetric encryption and then used to encrypt the data

using symmetric encryption. This approach is known as hybrid

encryption and provides the benefits of both symmetric and

asymmetric encryption.

Here are a few examples of commonly used asymmetric

encryption algorithms:

\begin{itemize}

\item RSA:

\end{itemize}

RSA (Rivest–Shamir–Adleman) is a widely-used public key encryption algorithm. It was invented in 1977
by Ron Rivest, Adi Shamir, and Leonard Adleman. RSA is based on the mathematical concepts of
modular arithmetic and the difficulty of factoring large prime numbers.

In RSA, each user has a pair of keys: a public key and a private key. The public key is used for encrypting
messages, while the private key is used for decrypting them. The security of RSA is based on the fact
that it is difficult to factor the product of two large prime numbers, which are used to generate the
public and private keys.

To use RSA encryption, the sender first obtains the recipient's public key. The sender then encrypts the
message using the public key, and sends it to the recipient. The recipient can then use their private key
to decrypt the message.

RSA is widely used for secure communication over the internet, including for secure web browsing
(HTTPS), email encryption, and secure messaging. It is also used in digital signatures, where the sender
signs a message using their private key to verify their identity, and the recipient uses the sender's public
key to verify the signature.
\begin{itemize}

\item Elliptic Curve Cryptography (ECC)\textbf{: }

\end{itemize}

ECC (Elliptic Curve Cryptography) is a type of public key cryptography that is based on the mathematics
of elliptic curves. ECC provides a way to securely encrypt data and to create digital signatures.

In ECC, each user has a pair of keys: a private key and a public key. The public key is derived from the
private key and can be shared freely, while the private key is kept secret. The security of ECC is based on
the difficulty of solving certain mathematical problems related to elliptic curves.

ECC is popular in situations where low computational power and bandwidth are important, such as in
mobile devices and wireless networks. It is often used in protocols such as TLS (Transport Layer Security)
and SSL (Secure Sockets Layer) for secure communication over the internet. It is also used in digital
signatures and in secure messaging applications.

Compared to other public key cryptography systems like RSA, ECC can provide similar levels of security
with smaller key sizes, which can lead to faster encryption and decryption times, as well as lower power
consumption on devices.

\begin{itemize}

\item Digital Signature Algorithm (DSA):

\end{itemize}

DSA (Digital Signature Algorithm) is a public key cryptography algorithm used for digital signatures. It
was developed by the National Institute of Standards and Technology (NIST) in 1991 and is used for
authenticating the identity of a sender and ensuring the integrity of the message.
In DSA, each user has a public key and a private key. The private key is used to sign messages, and the
public key is used to verify the signature. The security of DSA is based on the difficulty of computing
discrete logarithms in a finite field.

To sign a message using DSA, the sender first generates a hash of the message using a cryptographic
hash function. They then use their private key to sign the hash, producing a digital signature. The
recipient can then use the sender's public key to verify the signature by re-computing the hash of the
message and checking that it matches the signed hash in the signature.

DSA is commonly used in applications where digital signatures are required, such as electronic
transactions and secure messaging. It is also used in combination with other cryptographic algorithms,
such as AES (Advanced Encryption Standard), for secure communication over the internet.

\begin{itemize}

\item Diffie-Hellman (DH)\textbf{:}

\end{itemize}

This is a key exchange algorithm that is often used in conjunction with other encryption algorithms to
generate a shared secret key. It is used in secure web browsing, secure email, and other applications.

Overall, asymmetric encryption algorithms are considered more secure than symmetric encryption
algorithms, but they are typically slower and less efficient. As a result, they are often used in
combination with symmetric encryption algorithms to provide both security and efficiency.

\section{\textbf{PROPOSED ALGORITHM}}

The proposed algorithm is for encrypting data at the client- side before transmitting it for storage in the
cloud. This will convert plaintext into ciphertext and prevent data theft through man-in-the-middle
attacks. That is, even if an attacker can intercept the data, he would not be able to read the actual data
or get any reasonable meaning from it.
\subsection{Encryption Algorithm}

\begin{itemize}

\item Convert the character to its ASCII code

\end{itemize}

\begin{itemize}

\item Convert the ASCII code to its equivalent 8-bit binary number. If it is not equal to 8 bits, add
preceding 0s.

\end{itemize}

\begin{itemize}

\item Find the 1s complement of the last 4 bits.

\end{itemize}

\begin{itemize}

\item Convert the generated binary code to an ASCII character and transmit it to the cloud.

\end{itemize}

\begin{itemize}

\item Example: Let say we want to send E over the cloud. First, we convert plain-text E to its ASCII
code i.e., 69. We then convert the 69 to its 8-bit binary number. 69 in binary is 1000101 but since it’s not
equal to 8 bits, we add 1 preceding 0 to get 01000101. We then find 1s complement of the last 4 bits.
This will give us 01001010. Finally, we convert this 8-binary number to its ASCII code character, J.

\end{itemize}

\subsection{Decryption Algorithm}

\begin{itemize}

\item Find the ASCII code of the character.

\end{itemize}

\begin{itemize}

\item Convert the ASCII code to binary. Add preceding 0s if not equal to 8 bits.
\end{itemize}

\begin{itemize}

\item Reverse the last 4 bits of the generated 8-bit binary value.

\end{itemize}

\begin{itemize}

\item Convert the generated binary value to ASCII code.

\end{itemize}

The original character is the character that matches the ASCII code.

Using the above example to convert the cipher-text to plain-text.

First, convert the cipher-text ‘J’ to ASCII code i.e. 74. 74 is then converted to binary to get 1001010 but
since its not equal to 8 bits, we add a preceding 0 to get 01001010. We then reverse the last 4 bits to get
01000101 and convert this binary value to its ASCII equivalent. The original plain-text is the character
that matches the ASCII code generated.

\section*{\textbf{Conclusion}}

Cloud cryptography provides a range of services to ensure the security and privacy of data and
applications in cloud computing environments. These services include encryption, key management,
access control, identity and authentication, digital signatures, and tokenization. By leveraging these
services, organizations can protect their sensitive data and applications from unauthorized access and
ensure that only authorized users and devices can access cloud resources. Cloud cryptography is a
critical component of cloud computing and is essential for building secure and trustworthy cloud-based
systems

\section*{\textbf{References}}

\begin{enumerate}

\item M. Armbrust et al., "A view of cloud computing," Communications of the ACM.

\item D. Boneh and V. Shoup, "Cryptography in the cloud," Communications of the ACM.

\item NIST, "Recommendations for key management – Part 1: General (Revision 3)," NIST Special
Publication 800-57, 2016.

\item ISO/IEC, "Information technology – Security techniques – Code of practice for information
security controls.
\item C.Wang, S.Jajodia, and X. S Wang, "Privacy-preserving public auditing for data storage security in
cloud computing," IEEE Transactions on Computers.

\item A. Singh and V. Kumar, "Securing cloud computing environment using cryptography,"
International Journal of Computer Applications.

\item M. A. Vouk, “Cloud computing - Issues, research and implementations,” Proc. Int. Conf.
Inf. Technol. Interfaces, ITI, pp. 31–40, 2008.

\item P. S. Wooley, “Identifying Cloud Computing Security Risks,” Contin. Educ., vol. 1277, no.
February, 2011.

\item S. Subashini and V. Kavitha, “A survey on security issues in service delivery models of
cloud computing,” J. Netw. Comput. Appl., vol. 34, no. 1, pp. 1–11, Jan. 2011.

\item Cloud Performance Evaluation: Hybrid Load Balancing Model Based on Modified Particle
Swarm Optimization and Improved Metaheuristic Firefly AlgorithmsJune 2020International Journal of
Advanced Science and Technology 29(5):12315-12331, Advin Manhar.

\item C. Modi, D. Patel, B. Borisaniya, A. Patel, and M. Rajarajan, “A survey on security issues and
solutions at different layers of Cloud computing,” J. Supercomput., vol. 63, no. 2, pp. 561–592, 2013.

\item V. J. Winkler, “Securing the Cloud,” Cloud Comput. Secur. Tech. tactics. Elsevier., 2011.

\item A. U. Khan, M. Oriol, M. Kiran, M. Jiang, and K. Djemame, “Security risks and their
management in cloud computing,” 4th IEEE Int. Conf. Cloud Comput. Technol. Sci. Proc., pp. 121–
128, 2012.

\item T. Mather, S. Kumaraswamy, and S. Latif, “Cloud Security and Privacy,” p. 299, 2009.

\item F. Yahya, V. Chang, J. Walters, and B. Wills, “Security Challenges in Cloud Storage,” pp. 1–
6, 2014.

\end{enumerate}
\end{document}

You might also like