Engineering, Technology & Applied Science Research Vol. 7, No. 4, 2017, 1781-1785
1781
www.etasr.com Harba: Secure Data Encryption Through a Combination of AES, RSA and HMAC
Secure Data Encryption Through a Combination of
AES, RSA and HMAC
Eman Salim Ibrahim Harba
Computer Unit and Internet
College of Arts, University of Baghdad
Baghdad, Iraq
emanharba_121212@coart.uobaghdad.edu.iq
Abstract—Secure file transfer based upon well-designed file
encryption and authorization systems expend considerable effort
to protect passwords and other credentials from being stolen.
Transferring and storing passwords in plaintext form leaves
them at risk of exposure to attackers, eavesdroppers and
spyware. In order to avoid such exposure, powerful
encryption/authentication systems use various mechanisms to
minimize the possibility that unencrypted credentials will be
exposed, as well as be sure that any authentication data that does
get transmitted and stored will be of minimal use to an attacker.
In this paper we proposed a method to protect data transferring
by three hybrid encryption techniques: symmetric AES
algorithm used to encrypt files, asymmetric RSA used to encrypt
AES password and HMAC to encrypt symmetric password
and/or data to ensure a secure transmitting between server-client
or client-client from verifying in-between client and server and
make it hard to attack by common attacked methods.
Keywords: Cryptography; Data Encryption; AES; RSA; HMAC
I. INTRODUCTION
Key based encryption can be categorized into two types:
symmetric key and asymmetric key [1]. The algorithms of
symmetric-key, known as one-key, single-key, and private key
encryption are a type of cryptography that uses a public and
private algorithm to implement encryption/decryption.
Commonly used symmetric algorithms include Blowfish, DES,
TEA, TDES, IDEA, CAST5, AES (Rijndael), RC6, Two Fish,
MARS and Serpent. The asymmetric key algorithms, also
referred to as public key encryption, use two keys, one called
the public key and on called the private key. Common
asymmetric algorithms include: RSA, PGP, SSH and SSL [2].
In addition to the previous two types of encryption, there is a
third type called hash which focuses on securing
authentication. However traditional algorithms of this kind
(such as SHA and MD5) have gradually become obsolete. In
spite of their improvements, once an attacker is able to get a
hash and successfully provide it to the authentication server, he
can assume whatever security identity is associated with this
hash [3]. To protect stored hashes, various tool have been
proposed typically based on using LSA (Local Security
Authority). Several works focus on enhancing hashing security,
mainly employing Message Authentication Code commonly
known as MAC. Typically, MAC is used between two sides
that share a secret key in order to verify transferred data. This
method is known as HMAC (Hash-based Message
Authentication Code) [4].
HMAC provides the client and server with a private and
public key. The public key is known, while the private key is
known only in the specific server and client. The client
generates a specific hash or HMAC for each request via
combing the hashing and request data together with a private
key and then transmitting it as portion of a request to server.
When the server receives this request it will regenerate a
unique HMAC. The client authorization is based on the
comparison of the two HMACs. This technique is usually
known as secret handshake [3]. The reason that makes HMAC
safer compared to MAC is that the message and the key are
hashed in separate steps. The sender appends an authentication
tag to the data calculated as a function of shared key and the
data. At the receiver side, the receiver recomputes and
compares the authorization tag on the message received [4]. An
effective wireless application protocol called WTLS has been
presented in [5]. In [5], HMAC has been used in WTLS to
support the unique demands for verification with security of
high-level strength. The presented design is based upon used
hash function type SHA-1. The results of the implementation
of both the SHA-1 and HMAC are compared with other
relevant studies, and it is shown that the proposed system
performs better. In [2], authors provided an extensive
comparison analysis of several existing symmetric
cryptographic algorithms based upon their limitation,
scalability, reliability, security, flexibility and their
architecture. Through that analysis it was noticed that AES
algorithm perform the best in terms of encryption performance,
flexibility, security and memory usage. Although the other
algorithms were also competent, most of them had a tradeoff
between memory usage and the time required for encryption.
In [6], authors implemented image and text encryption
along with decryption. The text encryption uses 128-bit key
size and also plaintext. Every word or space is changed into an
8-bit sequence. Thus, maximum overall 16 positions are
identified by this code. AES encryption algorithm in CFB
mode is used for image encryption. The PKCS5Padding
method is used. Results verify the superior speed of AES. In
[1], authors presented a comparison study of encryption
standards AES, DES and RSA considering different parameters