Wubie Engdew Hailu
Wubie Engdew Hailu
Steganography
January, 2020
MSc Thesis Faculty of Electrical and Computer Engineering
Design and Implementation of Authentication Algorithm for Medical
Steganography
A thesis submitted to the school of Research and Postgraduate Studies of Bahir Dar
Institute of Technology, BDU in partial fulfillment of the requirements for the degree
of
Computer Engineering
January, 2020
Declaration
I, the undersigned, declare that the thesis comprises my own work performed under
the supervision of Dr. Henock Mulugeta and Mr. Eneyachew Tamir. In compliance
with internationally accepted practices, I have acknowledged and refereed all
materials used in this work. I understand that non-adherence to the principles of
academic honesty and integrity, misrepresentation/ fabrication of any
idea/data/fact/source will constitute sufficient ground for disciplinary action by the
University and can also evoke penal action from the sources which have not been
properly cited or acknowledged.
This thesis has been submitted for examination with my approval as a university
Advisor and Co-Advisor.
© 2020
Student:
________________________________________________________________________
Name Signature Date
The following graduate faculty members certify that this student has successfully presented
the necessary written final thesis and oral presentation in partial fulfillment of the thesis
requirements for the Degree of Master of Science in Computer Engineering
Approved By:
Advisor:
________________________________________________________________________
Name Signature Date
External Examiner:
________________________________________________________________________
Name Signature Date
Internal Examiner:
________________________________________________________________________
Name Signature Date
Chair Holder:
________________________________________________________________________
Name Signature Date
Faculty Dean:
________________________________________________________________________
Name Signature Date
Dedicated
To
My father Ato Engdew Hailu and My Mother W/ro Kassa Ayele
I would like to express my gratitude to my principal advisor Dr. Henock Mulugeta and my
co-advisor Mr. Eneyachew Tamir, who has continually expressed their belief in my
abilities. I thankful for being given the opportunity to carry out my thesis proposal under
their supervision. Over the course of this journey, they have inspired and guided me in the
right direction and made this thesis proposal what it is today. I am grateful for their time,
ideas and enthusiasm that helped me a lot since I started my research activity and
contributed to the achievements of the thesis.
I grateful to my friends for their support and entertaining fun throughout this journey. I
also wish to extend my thanks to the Faculty of Electrical and Computer Engineering and
all the members of this Faculty for their cheering direction and for providing a good quality
education which has enabled me to grow and develop professionally.
Specially, I would like to thank Bahir Dar University, Bahir Dar Institute of Technology
for giving me the scholarship to study my postgraduate study.
Finally, my Brother Tiruneh, we really miss you. We suddenly lost you. We will never
forget you. May his soul Rest in peace.
5.3.2. Throughput.......................................................................................................... 67
Today, the utilization of technology to enhance the quality of life is becoming a standard
attribute of modern society. When the technology is oriented to improve the Quality of Life
(QoL), it is referred to as the IoT. It allows individuals and objects in the physical world as
well as information and virtual environments to act with one another, therefore realizing
sensible environments such as smart transport systems, smart cities, smart healthcare, and
smart energy as a part of a prosperous digital society (Jayavardhana Gubbi, 2013; Noha,
Nahla, Abdelmageid, & Fatma, 2018).
It is also a new paradigm that provides a collection of the latest services for the next wave
of technological innovations. IoT applications are nearly limitless whereas enabling a
seamless integration of the cyber-world with the physical world. However, despite the large
Healthcare is one of the most important application areas of IoT. It provides opportunities
for many medical applications like mobile and remote health monitoring. The rising price
of healthcare and the prevalence of chronic diseases around the world urgently demand the
transformation of healthcare from a hospital centered system to a person-centered
environment, with a spotlight on citizens’ illness management also as their well-being. The
IoT revolution is redesigning the latest healthcare with promising technological, economic,
and social prospects. Healthcare is one of the most important application areas of IoT
(Čolaković & Hadžialić, 2018).
Medical care and healthcare represent one among the foremost attractive application areas
for the IoT (Moosavi, et al., 2015). The IoT has the potential to offer rise to several medical
applications like remote health monitoring, fitness programs, chronic diseases, and elderly
care. Compliance with treatment and medication at home and by health care suppliers is
another necessary potential application. Therefore, various medical devices, sensors, and
diagnostic and imaging devices are often viewed as smart devices or objects constituting a
core part of the IoT. IoT-based health care services are expected to reduce costs, increase
the standard of life, and enrich the user’s expertise.
Sensitive information like financial transactions, medical and private records is transmitted
through public communication facilities. the safety of the sensitive information poses an
excellent threat by an unintended recipient. Cryptographic and Steganographic techniques
help in ensuring the security of such sensitive information.
Cryptography or cryptology combines Greek words kryptós, meaning "hidden, secret"; and
graphein, means "writing", or -Logia, "study", respectively is the practice and study of
techniques for secure communication in the presence of third parties called adversaries
(Shery Elizabeth Thomas, 2012). A cryptographic system applies encryption on the data
and produces an encrypted output which can be meaningless to an unintended user who
has no knowledge of the key. Knowledge of the key is essential for decryption.
Encryption is a well-known procedure for secured data transmission as it achieves certain
security effects, but makes the secret messages unreadable and unnatural or meaningless.
These unnatural messages usually attract unintended observers’ attention. This is the
reason why a new security approach called steganography comes up (Grasha & Murugan,
2013).
Steganography is the art of hiding the existence of data in another transmission medium
such as image, audio, and video files to achieve secret communication (Phad Vitthal S. B.
Cryptography and steganography are not capable of protecting the data alone. To improve
information security and to keep up the secrecy and privacy of information, steganography,
and cryptography alone are not sufficient. Cryptography can be used where steganography
is inefficient and steganography can be used where cryptography is inefficient. Thus, a new
approach of combining both techniques has been proposed by many researchers for secure
storage and transmission of data. The target of cryptography is data protection and the
purpose of steganography is secret communication. Cryptography converts the data into
ciphertext that can be in an unreadable format to the normal user where steganography
hides the existence of message by embedding data into some other digital media (Shristi
Mishra, 2015).
Nowadays many medical images and patient information are transferred between different
parties to be reviewed and evaluated by physicians who are geographically apart. Any
illegal modification during this information during transmission may result in wrong
assumptions and wrong diagnosis. Therefore, the security of medical data and patient
information has always been a major concern (Salameh, 2018).
In order to prevent the private medical data in the internet of things (IoT) field, the search
for the optimal encryption algorithm is a must. Electronic sensors are used to collect
medical information from the patient's body getting its transmission to the healthcare
system securely. it's essential to make sure trust and data secrecy from the starting point-
sensors throughout the medical treatment to prevent any unauthorized access or unneeded
interruption. Thus, data encryption from the beginning sensors is necessary but facing all
limitations in computing complexity, power consumption and communication bandwidth
(Norah, Basem, & Adnan, 2017). In addition to that, the biggest problem facing most
security measures is that the encryption algorithm consumes lots of time, this may result in
In this thesis, we developed a security system that combines DNA cryptography and LSB
steganography techniques to provide a secure distribution and authentication for patient
information to the other party over the un-secure channel to protect it against attackers.
Here the secret medical data is first converted to their ascii value representation then
encoded to DNA bases. Steganography hides the existence of medical information by
hiding it in image so it can maintain the integrity of the information.
➢ Decrypt cipher text using the same One-Time Pad key used at encryption before
The medical sensors are considered as an easy target to exploit where its affect is very
catastrophic reaching murderous life death problems. The inaccessibility to patient record
at the ideal time can prompt death toll and also well degrade the level of health care services
rendered by the medicinal professionals. Among other sectors such as academic, banking
and finance, medical sector is not an exception in experiencing cyber-attack as patient
health data are also stored and shared electronically through the internet. The intrusion and
stealing of patient data automatically affect the service offered at the health care centers
and thus, poses threat to life of the patient.
Chapter Two
2. Literature Review
2.1. Cloud Computing
Cloud computing is defined by the National Institute of Standards and Technology
(NIST) as : “Cloud computing is a model for enabling convenient, on-demand network
access to a shared pool of configurable computing resources (e.g., networks, servers,
storage applications and services) that can be rapidly provisioned and released with
minimal management effort or service provider interaction” (Wid Akeel Awadh, 2019).
It is a set of Information Technology (IT) services that are provided to a customer over a
network on a leased basis and with the ability to scale up or down their service requirements.
Usually cloud computing services are delivered by a third-party provider who owns the
infrastructure. Its advantages to mention but a few include scalability, resilience, flexibility,
efficiency and outsourcing non-core activities (Shade, Awudele, & F, 2014).
Cloud computing is a rapidly maturing technology that has given rise to a lot of recent
innovations. As a delivery model for IT services, its capacity to stimulate growth by
providing ready-made environments for various forms of development is unparalleled. Its
very nature, however makes it open to a variety of security issues that can affect both the
providers and consumers of these cloud services. Cloud computing, also known as on-
demand computing, is a form of internet-based computing that allows end users to share
information and resources (Worlanyo, A Survey of Cloud Computing Security: Issues,
Challenges and Solutions, 2015).
Cloud computing can be quickly provisioned and released with negligible management
exertion or service provider interaction. Even though organizations get many benefits of
cloud computing services, many organizations are slow in accepting cloud computing
service model because of security concerns and challenges associated with the management
of this technology. Security, being the major issues, which hinder the growth of cloud
Cloud Computing (CC) is fast becoming well known in the computing world as the latest
technology. CC enables users to use resources as and when they are required. Mobile
Cloud Computing (MCC) is an integration of the concept of cloud computing within a
mobile environment, which removes barriers linked to the mobile devices’ performance.
Nevertheless, these new benefits are not problem-free entirely. Several common problems
encountered by MCC are privacy, personal data management, identity authentication, and
potential attacks. The security issues are a major hindrance in the mobile cloud
computing’s adaptability (Mojtaba Alizadeh, 2014).
Cloud Computing is defined as a technology which uses the internet and central remote
servers to maintain data and other applications. This technology allows for efficient
computing by centralized data storage, processing and bandwidth (Rathi, M, M, & T, 2015).
The present “cloud-based internet of things (IoT) frameworks” are facing the challenges
because of digital improvement from the “Artificial Intelligence, Tactile Internet, IoT,
Virtual Reality, and 5G provisions”. These require “low latency access” that is normally
attained by moving computation towards the edge of the network. The IoT sensors used to
generate the data management is the main issue faced when deploying an IoT framework.
These services might be poised to take benefit of the complimentary profits in both
structures. In the current smart world, smart deployment, interrelated gadgets will be
assessed to reach 50 billion units by 2020. Information from “cars, hospitals, newly-
connected factories, homes, communities, and more” is probable to develop from “1.1
Zetta bytes per year from 2016 to 2.3 Zetta bytes per year by 2020”. There is a developing
advancement in IoT methodology with new applications and opportunities evolving in
industries like “smart home, manufacturing, healthcare, and agriculture (Raghavendran,
2018 ).
The Cloud Computing model has three main deployment models which are (Shade,
Awudele, & F, 2014):
Private cloud
A private cloud is a new term that some vendors have recently used to describe offerings
that emulate cloud computing on private networks. Only the organization and designated
stakeholders may have access to operate on a specific Private cloud.
There are a number of areas that are at risk of being compromised and hence must be
secured when it comes to cloud computing. Each area represents a potential attack vector
or source of failure. By risk analysis, five key such areas have been identified (Čolaković
& Hadžialić, 2018), (Wencheng Sun, 2018):
Health care is one of the most important application areas of IoT. It provides opportunities
for several medical applications such as mobile and remote health monitoring. IoT is then
a new technological trend gaining new computing and communications paradigms. Within
this new trend, there are intelligent devices that have a digital entity and are ubiquitously
interconnected on a network and to the global Internet. Everyday objects may integrate
intelligence and the ability to sense, interpret and react to their environment, combining the
Internet with emerging technologies such as Radio frequency Identification (RFID), real-
time location and embedded sensors (Kiran & Mina, 2018).
The Internet of Things (IoT) makes smart objects the ultimate building blocks in the
development of cyber-physical smart pervasive frameworks. The IoT has a variety of
application domains, including health care. The IoT revolution is redesigning modern
health care with promising technological, economic, and social prospect. Therefore,
introducing automation is conceivable in nearly every field. The IoT provides appropriate
solutions for a wide range of applications such as smart cities, traffic congestion, waste
management, structural health, security, emergency services, logistics, retails, industrial
control, and health care. IoT-based health care services are expected to reduce costs,
increase the quality of life, and enrich the user’s experience. From the perspective of
healthcare providers, the IoT has the potential to reduce device downtime through remote
IoT has been shown as a big potential for qualifying and improving healthcare services;
such as monitoring at anytime and anyplace. These services acquire various bio-signals
using different sensors, including electroencephalogram (EEG), electrocardiogram (ECG),
electrical signal of the heart, electromyogram (EMG), electrical signal of muscles,
Respiratory Rate (RR), and body motion. The collected information from these sensors can
be processed, stored, or broadcast to a remote device (e.g. Cloud server). Healthcare uses
IoT for real-time tracking of patients and medical devices (Noha, Nahla, Abdelmageid, &
IoT-based health care systems involve a number of technologies that allow IoT devices to
obtain data from the physical world and broadcast to cloud server; such as wireless medical
sensors, Radio Frequency Identification (RFID), Cloud Computing, Near Field
Communication (NFC), Big data, Integrated IPv6 core network, Wi-Fi, ZigBee, Bluetooth,
two-dimensional code equipment.
Perception Layer: In this layer, devices and medical sensors are connected together for
patients. It is responsible for converting patient’s data into signals that can be transmitted
in networks and read by medical applications. This layer needs Standardized plug and-play
mechanisms to configure heterogeneous devices. Moreover, it needs secure channels to
digitize and transfer data between other layers.
Management layer: This layer enables the IoT healthcare applications to work with
heterogeneous devices without consideration to a specific hardware platform. In addition,
this layer processes the data which received from the Application layer, manages the
overall IoT health care system, makes decisions, and delivers the required services over the
network wire protocols.
Security Layer: There are vast amounts of sensitive patient’s data crossing the IoT
healthcare network every minute. Monitoring and controlling these data and the underlying
layers are achieved at this layer of IoT network. This layer is extremely important for IoT,
it's responsible for data handling, data administration, service subscriptions, data transfer,
data access control, and identity protection. Moreover, this layer should achieve the IoT
high-level security requirements which are: (1) Data Confidentiality: It ensures that the
exchanged messages can be understood only by the intended entities. (2) Data Integrity: It
ensures that the exchanged messages were not altered/tampered with by a third party. (3)
Authentication: It ensures that the entities involved in any operation are who they claim to
be. A masquerade attack or an impersonation attack usually targets this requirement where
an entity claims to be another entity. (4) Availability: It ensures that the service is not
interrupted. Denial-of-service attacks target this requirement as they cause service
disruption. (5) Authorization: It ensures that entities have the required control permissions
to perform the operation they request to perform. (6) Freshness: It ensures that the data is
fresh. Replay attacks target this requirement where an old message is replayed in order to
return an entity into an old state. (7) Non-Repudiation: It ensures that an entity can’t deny
an action that it has performed. (8) Forward and Backward Secrecy: Forward secrecy
ensures that when an entity leaves the network, it will not understand the communications
that are exchanged after its departure. Backward secrecy ensures that any new entity that
Application Layer: Healthcare providers and patients can interact with devices and query
for interesting data and different services via this layer by using healthcare application. It
also provides an interface to the management Layer where high-level analysis and reports
can be produced. This layer performs complex and enormous computational needs so it is
hosted on powerful devices. In other words, this layer provides a common set of services
that enables a healthcare application to interface with potentially any device without
understanding a priori the specifics and internals of that device. Moreover, patients’ data
must be secured during transfer, accessing, and storing (Noha, Nahla, Abdelmageid, &
Fatma, 2018).
The IoT network for healthcare (IoThNet) is an important component of the Healthcare
IoT. It provides strength to the IoT, aids in the communication of health information, and
permits personalized communication in healthcare. These IoT-based healthcare
applications and devices are predicted to be packed with important information, including
personal health care information. Furthermore, these kinds of devices can be connected to
the global information network—access will be available anywhere and anytime. However,
There are many applications and aspects of security. One essential aspect for secure
communications is that of cryptography. Cryptography scrambles the secret message to
protect it from attacks and is related to aspects of information security such as
confidentiality, data integrity, entity authentication, and data origin authentication
(Stallings, 2006), (Phad Vitthal S. B. R., 2012).
Cryptography is about constructing and analyzing protocols that prevent third parties or
the public from reading private messages; aspects of information security such as data
confidentiality, data integrity, authentication, and non -repudiation are central to modern
cryptography. Modern cryptography exists at the intersection of the disciplines of
mathematics, computer science, electrical engineering, communication science, and
physics. Applications of cryptography include electronic commerce, chip-based payment
cards, digital currencies, computer passwords, and military communications (Nayana
Banjan, 2018).
1. Symmetric Algorithm or Private Key: Uses a single key for both encryption and
decryption.
2. Asymmetric or public key Algorithm: Uses one key for encryption and another
for decryption example RSA
3. Hash Functions: Uses a mathematical transformation to irreversibly encrypt
information.
Private Key cryptography algorithms, such as DES, 3DES, and AES use the same key of
the sender and receiver to encrypt the plaintext and decrypt the cipher text. Private Key
cryptography is more suitable for the encryption of a large amount of data. Public key
cryptography, such as the RSA or Elliptic Curve algorithms, uses different keys for
encryption and decryption.
Public key cryptography is an asymmetric scheme that uses a pair of keys, uses a public
key for encryption process of secretes data, and a corresponding private, or secret key for
decryption process. In this practice pair of keys required for the process. It is
computationally infeasible to deduce the private key from the public key. Anyone who has
a public key can encrypt information, but cannot decrypt it. Only the person who has the
corresponding private key can decrypt the information (Mehndiratta, 2017), (Ahmed AL-
Shaaby, 2017).
DNA stands for Deoxyribo Nucleic Acid which, represents the genetic blueprint of living
creatures. Every cell in the human body has a complete set of DNAs. DNA is a double
helical structure with two strands running anti parallel, each is made of building blocks
called nucleotides. Three components make up a nucleotide: Four Bases, a deoxyribose
sugar and a phosphate group. Each nucleotide contains a single base and there are four
kinds of bases, which are adenine (A) and thymine (T) or cytosine (C) and guanine (G),
DNA cryptography is the latest cryptographic methods where the natural process of DNA
formation has been used to encrypt information and then retrieve them by decrypting it.
The biological structure of DNA is such that once information has been coded into the
basic forms of the four nitrogen bases, the process of protein formation. The DNA
Cryptography can be used as the strong algorithm for data security as its cracking time and
key generation are so designed that it seems the time taken to decrypt the ciphered data is
quite impossible for a life time.
(Grasha & Murugan, 2013), introduced the first trial of DNA based Cryptography in which
a substitution method using libraries of distinct one-time pads, each of which defines a
2.5. Steganography
Steganography is the practice of concealing a file, message, image, or video within another
file, message, image, or video. The word steganography combines the Greek words
Steganos, meaning "covered, concealed, or protected", and graphein meaning "writing". It
is a technique which is used to hide the existence of the message. Possible carriers, which
are mostly used are images, audio-visual, manuscript (Nagpal, 2018).
Robustness: The term robustness stands for the difficulty of removing hidden information
from a stego-object. While removal of secret data might not be a problem as serious as its
detection, robustness is a desirable property when the communication channel is distorted
by random errors (channel noise) or by systematic interference with the aim to prevent the
use of steganography. The amount of distortion can be further specified by specific (e.g.,
parameters of the noise source) or generic (e.g., peak signal-to-noise ratio, PSNR)
distortion measures.
Image steganography: Digital images are popular over the Internet because they are
mostly used as the cover object for steganography. In this type, a secret message is hidden
in a digital image using an algorithm through a secret key to create a stego image.
Generally, pixel intensities are used to hide secret information (N. Sandeep, 2018)
The purpose of the Diffie-Hellman protocol is used to enable two users to exchange a
secret key securely that can then be used for subsequent encryption of messages. It is a
cryptographic protocol that allows two parties that have no prior knowledge of each other
to establish together a shared secret key over an insecure communications channel. the
Diffie-Hellman algorithm has two attractive features: The first Secret keys are created only
when needed. There is no need to store secret keys for a long period of time, exposing them
to increased vulnerability. The second one is to exchange requires no preexisting
infrastructure other than an agreement on the global parameters (Li, 2010).
The NIST Test Suite is a statistical package consisting of 15 tests that were developed to
test the randomness of (arbitrarily long) binary sequences produced by either hardware or
software based cryptographic random or pseudorandom number generators. These tests
Researchers Sajisha K S and Dr. Sheena Mathew (Sajisha & Sheena, 2017) observed that
DNA is explored as a new carrier for data security since it achieves maximum protection
and powerful security with high capacity and low modification rate.
The authors Norah Alassa, Basem Alkazemi and Adnan Gutub (Norah Alassaf, 2017)
proved that in order to protect the private medical information in the IoT field, the search
for the optimal encryption algorithm is a must. Electronic sensors are used to collect
medical data from the patient's body getting its transmission to the healthcare system
securely. It is essential to ensure trust and data secrecy from the initial point-sensors
throughout the medical treatment to prevent any unauthorized access or unneeded
interruption. Thus, data encryption from the beginning sensors is necessary but facing all
limitations in computing complexity, power consumption and communication bandwidth.
The high need of energy, memory and computation requirements of the traditional
algorithms like RSA and AES, emphasized the need to adapt DNA Cryptography to secure
medical information that are stored in remote server where it is used for medical therapy,
testing and further analysis. Medical sensors are small devices that collect information from
the patient and send to the central server. They are resource constrained like low memory,
low computation and low energy used. To secure information from these sensors and
remote server a combination of DNA cryptography algorithm and steganography Least
Significance Bit (LSB) authentication algorithm is proposed in this research.
In this system design, first sender and receiver share one-time pad key using Diffie and
Hellman algorithm, the message will be encrypted using DNA Cryptographic algorithm
and then the encrypted message (not the plain data) is embedded inside a cover image using
LSB steganography. One-time pad key is used for encrypting and decrypting the plain text.
The combination of these two methods will enhance the security of the data embedded.
The resulting stego-image can be transmitted without revealing that secret information is
being exchanged. Furthermore, even if an attacker were to defeat the steganographic
technique to detect the message from the stego-object, he or she would still require the
cryptographic decoding method to decipher the encrypted message.
The Graphical User Interface (GUI) is developed using Matlab 2018a for sharing key, data
encryption and then embedding the cipher text in a cover image. The developed application
will show to input two prime numbers in order to generate public key and secret key, they
are used later for creating secret channel to share one-time pad key. Then plain text and
one-time pad key coded into DNA bases, namely A, C, G and T. Cipher text produced from
DNA cryptography embedded into image using LSB Steganography. Finally, a stego-
image will be produced and send to receiver over unsecure environment. The proposed
architecture mainly consists of the following modules:
➢ Key Sharing/Distribution
➢ Secret Key Generation
➢ Encryption Module
➢ Steganography Module
One Time Pad cryptography has been used because it is perfectly random scheme.
According to Otto Kugler, the CEO of MILS electronics, “One Time Pad encryption is that
the only proven unbreakable encryption method”. The input has been taken within the sorts
of alphabets, numeric or the other special character. The OTP keys can also be any of those
forms. one-time Pad encryption could be a very simple, yet completely unbreakable cipher
method. it's been used for many years in mils electronic cipher systems for encrypting our
customers’ sensitive data. Over the years, we've perfected the implementation of one Time
Pad encryption into our products. Today, our high level of automation, high capacity
storage media, continuous key protection and large one-time Pads offer our customers
outstanding message security without sacrificing convenience. The One Time Pad
encryption method is a binary additive stream cipher, where a stream of truly random keys
➢ It is an unbreakable cipher.
➢ The key is exactly same as the length of message which is encrypted.
➢ The key is made up of random symbols.
➢ key is used one time only and never used again for any other message to be
encrypted.
➢ To encrypt plain text data, the sender uses a key string equal in length to the plain
text. The key is used by mixing (XOR-ing) bit by bit, always a bit of the key with
a bit of the plain text to create a bit of cipher text.
➢ This cipher text is then sent to the recipient.
➢ At the recipient’s end, the encoded message is mixed (XOR-ed) with the duplicate
copy of the One Time Key and the plain text is restored
Least significant bit (LSB) is the most commonly used type of insertion scheme used
currently in digital steganography. This method is probably the easiest way of hiding
information in an image and yet it is surprisingly effective (Shamim & Kattamanchi, 2016).
This embedding method is based on the fact that the least significant bits in an image can
be thought of as random noise, and consequently they become not responsive to any change
on the image. Lossless compression techniques are employed in this thesis work in order
to maintain the original image data exactly. The encrypted message to be hidden in the true
color image is already in integer forms and subsequently converted into streams of 8-bit
binary digit. Then each pixel is converted into 8-bit binary value. As image comprises of
pixel contribution from Red, Green and Blue components and each pixel has numbers from
the color components (for 24-bit image each of red, green and blue pixel has 8 bit). At 8
bits of the color number, if we change least significant bits, our visual system cannot detect
changes in pixel and thus it is possible to replace message bits with image pixel bit.
The LSB of the Red color are used to determine whether each cipher bits will substitute
the LSB of the Blue or Green color. The algorithm to hide the cipher text in the cover image
will be:
The cipher text is extracted from the Stego-image which is previously created during
embedding process using the same secret key 2. The user inputs the stego-image to the
extraction algorithm in the developed GUI and secret key in order to extract the cipher text.
The first public key scheme was invented by Diffie and Hellman. Though it could not be
used to send messages, it could establish secret keys for use in secret key cryptosystems. a
public-key distribution scheme that cannot be used to exchange an arbitrary message rather
it can establish a common key known only to the two participants where value of key
depends on the participants (and their private and public key information) based on
exponentiation in a finite field (modulo a prime or a polynomial) (Stallings, 2006).
➢ The pair of numbers (q, α) is public.
➢ This pair of numbers may be used for several runs of the protocol.
➢ These two numbers may even stay the same for a large number of users for a long
period of time.
➢ Subsequently, A and B use the algorithm described below to calculate their public
keys that are then made available by each party to the other:
We will denote A’s and B’s private keys by XA and XB.
Chapter Four
4. Test and Analysis of the New Algorithm
4.1. Overview
It is necessary to perform various tests after the completion of the design and
implementation of the algorithm to validate its operation. The Functionality test and
repeated tests will be performed on the new algorithm to validate its operation.
It depends mainly on the plain text size. It verifies that the decrypted text is identical to
the original plain text.
The following table shows different encryption times and their respective plain text size of
the new developed algorithm and AES LSB algorithm.
Time in New Algorithm 0.029 0.031 0.032 0.034 0.103 0.166 0.198
Seconds
AES- LSB 4.5 7.2 10.1 11.5 14.2 16.2 20.5
Through New Algorithm 1402.5 8103.2 11750.2 14729.3 6073.7 4520.4 11235.9
put
AES- LSB 277.33 348.89 372.28 435.48 440.56 463.21 487.80
The above figure 5.6 shows throughput of AES LSB and the new algorithm for varying
data size. Throughput of the New developed algorithm is greater than that of AES LSB
because of the new algorithm encryption time is less as shown in the above.
E (joules) = V*I*T
Where V is the average voltage consumed by the processor, I is the average current
consumed by the processor, and T the encryption time.
Energy New Algorithm 142.5 463.2 575.2 729.3 973.7 1020.4 1135.9
in Joule AES- LSB 238.95 382.32 536.31 610.65 754.02 860.22 1088.55
The stego-image is analyzed by studying the distortion and/or similarity between the cover
and stego-image statistically. Distortion between two different images is measured by
considering the most commonly used performance measurement metrics PSNR and MSE
(Ansari, 2019). If a distortion occurs after the stego-analysis is implemented on the stego-
image then it is perceived that the image may contain the hidden data otherwise not. The
PSNR is used to measure invisibility of the hidden message and to analyze the quality of
the embedded texture image, with respect to the original or cover image. Some other
performance metrics considered in data hiding are (Shristi Mishra, 2015): Encryption
Time, Throughput, and Utilization factor.
Size in byte 1936 1248 2512 3760 5008 6256 7504 10000
Time in Sec 0.925 1.549 3.678 6.867 10.103 13.281 18.776 18.962
5.3.2. Throughput
It measures the total number of bytes of the secret message successfully hidden to stego-
image within a given period of time. It is given by the following formula.
Throughput =𝑛u𝑚𝑏er of bytes hidden in the cover images
Embedding time
Size in byte 1936 1248 2512 3760 5008 6256 7504 10000
Time in Sec 2092.97 805.68 682.98 547.55 495.69 471.05 399.65 527.37
Where,
M-Total number of rows
N-Total number of columns
(i, j)- (rows, columns)
x- cover Image
y- stego Image
Size in byte 1936 1248 2512 3760 5008 6256 7504 10000
PSNR Value 68.32 66.93 65.35 62.18 60.40 57.92 56.25 53.67
A higher PSNR value indicates that the reconstruction is of higher quality. The signal in
this case is the original data, and the noise is the error due to hiding.
The functional test and repeated tests show that the developed encryption algorithm and
steganography algorithm can properly encrypt the plain text and hide the cipher text in
cover image. It was tested for different plain texts and different one-time pad keys. The
cipher text was embedded in different cover images. Finally, the cipher text was extracted
from the stego-image using the developed extraction algorithm and the cipher text is
decrypted using the DNA cryptography decryption algorithm. For all cases, the decrypted
plain text is exactly the same as that of the original plain text.
Now a day a lot of images are transmitted through internet and shared among different
peoples through the social network. So, it is possible to transfer valuable information
through the internet without giving any clues by imbedding the information in images with
very small (acceptable) distortion as shown by the PSNR test. Even if the attackers can be
able to extract the information from the image it is encrypted using strong encryption
algorithm. The performance of the new encryption algorithm measured by: encryption
time, throughput, and energy consumption are almost better than AES LSB algorithm.
Aithal, V. P., & S., D. P. (2017). Cloud Computing Security Issues- Challenges and
Opportunities. International Journal of Management, Technology and Social Sciences,
34-42.
Basu, S., Bardhan, A., Gupta, K., Saha, P., Pal, M., Bose, M., . . . Sarkar, P. (2018). Cloud
Computing Security Challenges & Solutions-A survey. IEEE 8th Annual Computing and
Communication Workshop and Conference, 347-356.
Beenish Anam, K. S., Hossain, A., & Dahal, K. (2010). Review on the Advancements of DNA
Cryptography. Innovation, Networking and Knowledge exchange.
Čolaković, A., & Hadžialić, M. (2018). Internet of Things (IoT): A Review of Enabling.
Computer Networks, 27-39.
EBassham, L. (2010). Statistical Test Suite for Random and Pseudorandom Number Generators
for Cryptographic Applications. NIST Special Publication 800-22 Revision 1a-A.
Fazal Noorbasha, S. M. (2019). FPGA Based DNA Cryptography System for Medical Image
Data Analysis Process. International Journal of Innovative Technology and Exploring
Engineering (IJITEE), 128-131.
G. Thamilarasu, A. O. (2016). Securing Wireless Body Area Networks: Challenges , Review and
Recommendations. IEEE International Conference on Computational Intelligence and
Computing Research (ICCIC), 1-7.
Hassan Al-Mahdi, M. A. (2019). Design and Analysis of DNA Encryption and Decryption
Techniques Based on Asymmetric Cryptographic System. International Journal of
Advanced Computer Science and Applications, 499-506.
Hemachandran, S. A. (2012). High Capacity data hiding using LSB Steganography and
Encryption . in International Journal of Database Management System , 57-68.
Kiran Dewangan, M. M. (2018). A Review: Security of IOT Based Healthcare System. CCET
JOURNAL OF SCIENCE AND ENGINEERING EDUCATION, 25-28.
Mohapatra, R. V. (2017). A Secure Three-Party Authentication Protocol for Wireless Body Area
Networks. IEEE 3rd International Conference on Sensing, Signal Processing and Sec
urity (ICSSS), 99-103.
Moosavi, S. R., Gia, T. N., Rahmani, A.-M., Nigussie, E., Virtanen, S., Isoaho, J., & Tenhunen,
H. (2015). SEA: A Secure and Efficient Authentication and Authorization
Architecturefor IoT-Based Healthcare Using Smart Gateways. 6th International
Conferenceon Ambient Systems, Networks and Technologies, 452 – 459.
Nayana Banjan, P. D. (2018). Medical Data Security using combination of Cryptography and
Steganography with AES-LSB algorithm. International Journal of Advanced Research in
Electronics and Communication Engineering (IJARECE), 673-677.
Phad Vitthal S., B. R. (2012). A Novel Security Scheme for Secret Data using Cryptography and
Steganography . I.J. Computer Network and Information Security, 36-42.
Phad Vitthal S., B. R. (2012). A Novel Security Scheme for Secret Data using Cryptography and
Steganography . I.J. Computer Network and Information Security, 36-42.
PriaBharti, R. (2012). A New Hybrid Approach Crypsteg of Data Hiding in Images Using
Cryptography and Steganography . International Journal of Engineering and Innovative
Technology (IJEIT) , 88-93.
Rathi, G., M, A., M, D., & T, K. (2015). Healthcare Data Security in Cloud Computing.
International Journal of Innovative Research in Computer and communication
Enginneering, 1807-1815.
S. M. Riazul Islam, D. K.-S. (2015). The Internet of Things for Health Care: A Comprehensive
Survey. Institute for Information and communications, 678-708.
Salameh, J. N. (2018). A Secure Transmission Approach for Medical Images and Patient’s
Information by Using Cryptography and Steganography. International Journal of
Computer Science and Network, 289-303.
Shade, O. K., Awudele, O., & F, I. (2014). Cloud Computing Security Issues and Challenges.
International Journal of Computer Networks, 247-255.
Syed Tauhid Ullah Shah, H. Y. (2019). Internet of Things-Based Healthcare: Recent Advances
and Challenges. Applications of Intelligent Technologies in Healthcare, EAI/Springer
Innovations in Communication and Computing, 153-162.
Terec, R. V., Mircea, F., Alboaie, L., & Chiorean, L. (2011). DNA Security using Symmetric and
Asymmetric Cryptography. IJNCAA, 34-51.
Wencheng Sun, e. a. (2018). Security and Privacy in the Medical Internet of Things: A Review.
Security and Communication Networks, 1-9.
Worlanyo, E. (2015 ). A Survey of Cloud Computing Security: Issues, Challenges and Solutions .
Recent Advances in Networking , 2-12.
Worlanyo, E. (2015). A Survey of Cloud Computing Security: Issues, Challenges and Solutions.
Recent Advances in Networking, 2-12.
Appendices
Appendix A
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
end
ha = power(e,j);
ha = mod(ha,h);
hb = power(d,k);
hb = mod(hb,h);
set(handles.ka_edit_tag,'string',num2str(ha));
msgbox('ka==kb');
set(handles.ka_kb_match_edit,'string','Sender and Receiver Authenticated Each Other' );
file2
msgbox('a is prime');
end
if qq == 0
% to evaluate
xa = randi([1 q-1]); %take random value of Xa sender
xb = randi([1 q-1]); %take random value of Xb Reciever
setappdata(0,'Values_of_q',q);
setappdata(0,'Values_of_xa',xa);
setappdata(0,'Values_of_xb',xb);
ya = power(a,xa);
ya = mod(ya,q);
set(handles.public_sender_edit,'string',num2str(ya));
yb = power(a,xb);
yb = mod(yb,q);
set(handles.sender_public_edit,'string',num2str(yb));
setappdata(0,'Values_of_ya',ya);
setappdata(0,'Values_of_yb',yb);
%Steganography part
%Embedding of cover image and DNA Cipher text
function embedding_radiobutton_Callback(hObject, eventdata, handles)
global cover_image
global cipher_text
global stegoimage
text=cipher_text; %Integer Value of cipher text
cipher_text=getappdata(0,'Values_of_outputdnabases');
cover_image=getappdata(handles.cover_image_radiobutton,'values_of_Cover_image');
L=length(text);
tic
textb= dec2bin(text,8);
for i=1:L
textbst(8*i-7:8*i)=textb(i,1:8);%convert the cipher text in to stream of bits
end
imgrgb=cover_image;
[row,col,p]=size(imgrgb);
stego_image=getappdata(handles.embedding_radiobutton,'values_of_stego_image');
imgrgb=stego_image;
[row,col]=size(imgrgb);
imagesc(imgrgb);
ciptemp=(binaryVectorToDecimal(reshape(textbst,8,2)')');
cip=[cip1,ciptemp];
cip1=ciptemp;
cipherint1(2*e-1:2*e)=ciptemp;
e=e+1;
time=toc;
cipherint=cipherint1;
ciphertxt=char(cipherint);
msgbox({['Time Elapsed for Extracting Cipher Text is
',num2str(time),'Seconds']},'NewDeciphering');
set(handles.ciphertext,'String',ciphertxt);
inputdnabases=char();
key=getappdata(0,'Values_of_boutput');
key = double(get(handles.onetime_pad_edit,'String'));
inputdnabases=getappdata(0,'Values_of_outputdnabases');
inputdnabases = double(get(handles.DNA_cipher_text_edit,'String'));
num = length(inputdnabases);
row=size(key,1);
for n=1:1:num
if(inputdnabases(n)==65)
bxor(n+n-1)=0;
bxor(n+n)=0;
else if (inputdnabases(n)==84)
bxor(n+n-1)=0;
bxor(n+n)=1;
else if (inputdnabases(n)==67)
bxor(n+n-1)=1;
bxor(n+n)=0;
else
bxor(n+n-1)=1;
bxor(n+n)=1;
end
end
end
end