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

ABSTRACT

Steganography is the art of hiding information in some other. There can be various file

formats which can be used for this technique, but images are the most popular because of

their use. For hiding the secret message or information different techniques are used some are

easy and some are complex. Also, the techniques are chosen according to the fact that

different applications have different requirements. For example, some applications require

large secret message to be hidden while some require absolute invisibility. This project hides

the secret message within the image and also hides an image inside other image. The message

to be embedded inside the image is in .txt format. The application generates a secure and less

distorted steno image. At sender side, sender encodes the message into the image using the

application’s encode button, as an output senders get a steno image. This steno image is sent

to the receiver who retrieves the secret information. For the process to happen the receiver

must have the same application for retrieval.


CHAPTER 1

INTRODUCTION

Data and information hiding is very important as far as security is concerned and as the data

transmission is increasing rapidly so does the attacks over the network. In such scenarios it is

must to have some algorithms or techniques that can make sure that the secret data sent over

the network is secure. Through data hiding we can secure our data from hackers or intruders.

There are various ways of hiding data from unauthorized users like Cryptography,

Watermarking and Steganography. These techniques ensure that embedded information into

digital content cannot be easily detected. Cryptography is a technique with some protocol

between sender and receiver where both of the parties agree on some encryption keys to

communicate. These keys can be private or public. There are five primary functions of

cryptography Key exchange, Integrity, non-repudiation, authentication and confidentiality.

The unauthorized users can see the coded data but they cannot derive any meaningful

information by just seeing that coded data. In this cryptography we start with plain text. Plain

text is changed to cipher text using encryption algorithms. And finally, decryption is done to

get back the same plain text. The types include – secret key cryptography, public key

cryptography and hash functions.

Watermarking is a process in which the information is hidden into image or signals (videos or

audios). This hidden information verifies the owner. There are two types of watermarking

performed – visible and invisible watermarking. Watermarking can be performed on text,

images, audio and videos.


Steganography is a Greek word which means concealed writing. The word steganos means

covered and graphia means writing. Thus, steganography is not only the art of hiding data but

also hiding the fact of transmission of secret data over a network. Steganography hides the

secret data in another file in such a way that only the recipient knows the existence of

message.

Today’s most of the people transmit the data in the form of text, images, video, and audio

over the medium. Steganography usually deals with the way of hiding the secret data inside

other data file. These other data files may be anything like, image, audio, video etc. It

maintains secrecy between the communicating parties. Specifically talking about image

steganography, secrecy is achieved by embedding data into the cover image and generating a

stego-image. There are different types of steganography techniques each having their own

merits and demerits.

Steganography main aim is to hide information inside a cover data in such a way that

intruders are not able to detect the presence of the information. Unlike watermarking,

steganography is not intended to prevent the hidden information by opponents or changing

the hidden message, but it emphasizes on making the secret information undetectable.

There are various types of steganography that are used to hide the secret information into

another information or signal. These are -:

A. Image Steganography

In this steganography technique image is used as cover image to hide the secret message.

There are various image formats that are used like BMP, JPEG, TIFF, GIF, etc. and
techniques used are LSB, spread spectrum, these techniques come under spatial domain

techniques. Another category is Transform domain which hides message in significant area of

the cover image. DFT, DWT, DCT, etc. are some of the techniques used under transform

domain.

B. Audio Steganography

The sender implants hidden information of any kind utilizing a key in a cover file to create a

stego file, in such a way, that an intruder can't distinguish the presence of the hidden

message. In many schemes strategy for audio steganography is performed by modifying the

LSB. Along with LSB some more techniques are used like error diffusion, minimum error

replacement and temporal masking effect.

C. Video Steganography

Videos are commonly an assortment of pictures and sounds, so the greater part of the

introduced methods on image and audio can be applied to videos as well. The favorable

circumstances of video are the amount of information that can be covered up inside is very

large and also the way that it is a moving stream of images and audios. The video

steganography is combination of image and audio steganography.

A digital image is described using a 2-D matrix of the color intestines at each grid point (i.e.

pixel). Typically gray images use 8 bits, whereas colored utilizes 24 bits to describe the color

model, such as RGB model. Bytes of pixels are sufficient to hold one message byte. And the

remaining bits in the pixel remain the same. Steganography plays a crucial role in securing a

secret message from unauthorized access by the changing the least significant bits in the

pixel. This approach of modifying the least significant bits is known as LSB technique.
The LSB technique falls under spatial domain techniques, as they are simple and easy to

implement. The Least Significant Bit (LSB) is one of the main techniques in spatial domain

image Steganography. The concept of LSB Embedding is simple. It exploits the fact that the

level of precision in many image formats is far greater than that perceivable by average

human vision. Therefore, a modified image with some small variations in its colors will be

indistinguishable from the actual one by a human being. In conventional LSB technique, this

requires eight bytes of pixels to store 1byte of secret data.


CHAPTER 2

SYSTEM ANALYSIS

EXISTING SYSTEM

The existing system in Image steganography, technique of hiding the data within the image

called as cover image. It is done to prevent the secret message from unauthorized user. These

cover images are called as Stego image which carry the confidential or secret message. The

terminologies used in image steganography are:

a. Secret Message: This is the message which is to be hidden into the cover image.

b. Cover Image: This is the image which is going to contain the secret message.

c. Embedding Algorithm: This is the actual technique which is used to hide the secret

message into the cover image.

d. Stego Image: This is the output image when the embedding algorithm is applied. This

is the image which is sent by sender.

Firstly, in encoding part (or hiding messages part), the secret message is encrypted with

secret key, and then the encoding of the secret message takes place using various image

steganography techniques. The output of the encoding part is taken, and is sent to the

receiver.

Decoding process (extracting message part) is performed at receiver side. In decoding part,

message from the encrypted image (called as Stego image) is obtained by performing reverse

of the technique used for encoding and then, the message is decrypted to obtain the original
message using the secret key. The secret key used here must be same as the one which was

used to encode the message.

PROPOSED SYSTEM

The proposed system here is Object Oriented Analysis. Object Oriented Analysis is basically

the decomposition of the problem into its component parts and establishing a logical model to

describe the system functions. The proposed method is to develop an android application for

image steganography which uses LSB technique to hide the secret message within the cover

image. And the reverse of the algorithm is applied to extract the secret message. Most of the

applications developed only hide the text inside the images. Moreover, in those applications,

the text size allowed is not more than few words.

In this proposed work we can hide long text messages inside the cover images, and can also

hide image inside another image. Also using these two features we can embed the secret

message inside an image and then again hide that stego image inside a cover image. Some

features of the application are as follows:


 Less distorted stego image

 Use of secret key

 Hiding text inside cover image

 Hiding image inside cover image

This above figure shows the process which takes place at sender side. Here the embedding of

the message takes place. Along with the secret message we can also take an image to hide

into a cover image. The output of the embedding process gives image known to be stego

image. The secret key used here plays an important role in the whole process. The format of

the stego image is same as that of the cover image used. And also, the stego image generated

here has less distortion due to which it is not very easy to detect just by seeing the stego

image. After the embedding process, the message retrieval phase takes place. Firstly, the

image, called the stego image is sent to the receiver. The receiver uses the same key which

was used to encrypt the message. The key used here works as condition checking. If the key

used in the decoding part matches with the key used in the encoding part then the secret

message or secret image, hidden inside the cover image will be retrieved otherwise not. The

below figure shows the decoding phase:


LITERATURE SURVEY

Alhusban [1] suggested an approach to secret its embedment via the insertion of Kashida

between letters (pointed or un-pointed letters). During the embedding process, two tables are

used to determine how to add Kashida in 4 possible combinations of a pair of secret bits (00,

01, 10, 11). The rules defined in the first table govern the first half of words in the cover text,

[26] Dhande, Krutika, and Rutuja Channe. "A Brief Review on Reversible Data Hiding in

Encrypted Image." 2019 International Conference on Communication and Signal Processing

(ICCSP). IEEE, 2019. while the rules in the second table govern the second half of words.

However, the hiding of secret bits in this method depends on the insertion of Kashida

between characters that are not connected, meaning that most of the unconnected characters

cannot be used. Furthermore, this method overlooks many characters as their nature implies

that they cannot match a case for Kashida insertion. Hence, this method has a payload of < 2

%.

Punidha et al. [2] used the concept of integer wavelet transform for sending audio speech

signals through the steganography technique. The authors used the well-known Haar wavelet

method with the integer wavelet transform for hiding secret messages. The authors used

various objective parameters, such as signal-to-noise ratio, MSE, PSNR, and structural

similarity index to evaluate the performance of the proposed method. The LL band of wavelet

was used to store the data inside the image while the Daubechies method, along with the

Haar, was used for comparison purposes. The algorithm with the Daubechies method

performed better in comparison to the Haar wavelet method.


Vardhan et al. [3] proposed a reversible steganography technique that was based on the

wavelet transform. They used the integer wavelet transform method on the encrypted digital

images. The authors also performed mapping of integers with the cumulative density

functions. Further, they used the sub-band of the encrypted image to store the secret message

inside the cover image. The authors used the concept of histogram shifting for performing the

steganography. The proposed method was compared with the other known steganography

methods like logistic mapping and least significant methods. From the results, it was clear

that the proposed method outperformed the other methods.

Yin et al. [4] performed steganography using reversible data hiding. The study performed

steganography in encrypted digital images with the classification permutation. The

permutation method used the XOR encryption and then data was embedded into the most

significant bit of the encrypted image. With this approach, the visual quality of the recovered

original image was very good. The authors compared the proposed algorithm with the other

known methods of reversible data hiding like the Zhang method and Wu method. With the

results, it was shown that the proposed method showed lossless recovery of the original

image even when the embedding rate was higher.

Manikandan et al. [5] used the concept of encryption for obtaining the image and message

from the stego image using the reversible data hiding technique. The authors performed the

research on medical digital images. They saved the data of patients into the concerned

medical images of the same patient and the advantage of it was that there was no need of

sending patient data into another file. The main aim of the proposed method was to get good

data embedding capacity and the method should have a low bit error rate in comparison to

other methods. In the encryption mechanism, the authors used three keys to share data
between sender and receiver. From the results, it was shown that the proposed method had

good embedding capacity and took less time of execution.

Dhande et al. [6] proposed a reversible steganography method that was based on an

encryption mechanism. The main utilization of the proposed algorithm was for the gray scale

digital images which could hide the images in the cover image with the help of a suitable

encryption mechanism. The authors used two keys for performing steganography. One key

was used for hiding the data and another for encrypting the data. The authors used the

advanced encryption standard method for performing the encryption in the digital images

while the least significant method of steganography was used to get the accuracy and

efficiency in the proposed approach.

Marella et al. [7] utilized the well-known least significant method for secret data hiding in the

human faces. Authors tried to store the message into the various texture features of the human

face, like eye, nose, and mouth. First, the authors tried to find the maximum region available

out of various texture features of the face. Then, they tried to save the secret messages in

those free spaces. Authors first used encryption to encrypt the message which had to be

hidden in the image. From the results, it was shown that the proposed algorithm could store

the data in the facial features of the human face, and it was not easy to detect the presence of

some hidden data inside the digitally encrypted image.

Elharrouss et al. [8] utilized k-least significant bit of cover image to perform steganography.

Authors stored one image inside the other cover image. First, at the sending side, the most

significant bit was selected which could be stored in the cover image, and in this way, a

complete secret image was hidden in the cover image. On the decoding side, the authors used
the concept of region detection. Here, an algorithm is used to search the various regions

where the data of the secret image was hidden. Peak signal to noise ratio was used as an

objective parameter. The proposed algorithm however performed below the expected level.

Rafiqi et al. [9] proposed an image steganography technique that was based on the use of the

Grey Scale Co-occurrence Matrix. The authors used the well-known principal component

analysis to detect edges so that information can be stored in them. Authors performed

encryption on text data before hiding it into the cover image. Various objective parameters

like peak signal to noise ratio, mean square error, and entropy were used for the performance

evaluation of the proposed algorithm. From the experiments, it was clear that the value of

peak signal to noise ratio and mean square error was better in comparison to other methods.
CHAPTER 3

SYSTEM SPECIFICATIONS

SYSTEM REQUIREMENTS

HARDWARE REQUIREMENTS

COMPONENT SPECIFICATION
CPU Intel Dual Core 2.4 GHz or Later
RAM 2GB DDR2
Hard Disk 160 GB
Display Wide VGA (Video Graphics Array)
Input Keyboard and Mouse
Optional Devices Android Phone (Oreo or higher)

SOFTWARE REQUIREMENTS

COMPONENT SPECIFICATION
Front End Android
Back End SQLite
IDE Android Studio
Language Java
Platform Windows 7 or later

SOFTWARE DESCRIPTION

ANDROID

The Android software development kit (SDK) includes a comprehensive set of development

tools. These include a debugger, libraries, a handset emulator based on QEMU,

documentation, sample code, and tutorials. Currently supported development platforms

include computers running Linux (any modern desktop Linux distribution), Mac OS X 10.5.8
or later, and Windows 7 or later. As of March 2015, the SDK is not available on Android

itself, but software development is possible by using specialized Android applications.

Until around the end of 2014, the officially supported integrated development environment

(IDE) was Eclipse using the Android Development Tools (ADT) Plugin, though IntelliJ

IDEA IDE (all editions) fully supports Android development out of the box, and NetBeans

IDE also supports Android development via a plugin. As of 2015, Android Studio, made by

Google and powered by IntelliJ, is the official IDE; however, developers are free to use

others, but Google made it clear that ADT was officially deprecated since the end of 2015 to

focus on Android Studio as the official Android IDE.

Additionally, developers may use any text editor to edit Java and XML files, then use

command line tools (Java Development Kit and Apache Ant are required) to create, build and

debug Android applications as well as control attached Android devices (e.g., triggering a

reboot, installing software package(s) remotely).

Enhancements to Android's SDK go hand in hand with the overall Android platform

development. The SDK also supports older versions of the Android platform in case

developers wish to target their applications at older devices. Development tools are

downloadable components, so after one has downloaded the latest version and platform, older

platforms and tools can also be downloaded for compatibility testing.

Android applications are packaged in .apk format and stored under /data/app folder on the

Android OS (the folder is accessible only to the root user for security reasons). APK package

contains .dex files (compiled byte code files called Dalvik executables), resource files, etc.
ANDROID DEBUG BRIDGE

The Android Debug Bridge (ADB) is a toolkit included in the Android SDK package. It

consists of both client and server-side programs that communicate with one another. The

ADB is typically accessed through the command-line interface, although numerous graphical

user interfaces exist to control ADB.

JAVA STANDARDS

Obstacles to development include the fact that Android does not use established Java

standards, that is, Java SE and ME. This prevents compatibility between Java applications

written for those platforms and those written for the Android platform. Android only reuses

the Java language syntax and semantics, but it does not provide the full class libraries and

APIs bundled with Java SE or ME. However, there are multiple tools in the market from

companies such as Myriad Group and UpOnTek that provide Java ME to Android conversion

services.

ANDROID STUDIO

Android Studio is the official integrated development environment (IDE) for the Android

platform. It was announced on May 16, 2013 at the Google I/O conference. Android Studio

was in early access preview stage starting from version 0.1 in May 2013, then entered beta

stage starting from version 0.8 which was released in June 2014. The first stable build was

released in December 2014, starting from version 1.0.

Based on JetBrains' IntelliJ IDEA software, Android Studio is designed specifically for

Android development.[8] It is available for download on Windows, macOS and Linux, and
replaced Eclipse Android Development Tools (ADT) as Google's primary IDE for native

Android application development.

FEATURES

New features are expected to be rolled out with each release of Android Studio. The

following features are provided in the current stable version:

 Gradle-based build support


 Android-specific refactoring and quick fixes
 Lint tools to catch performance, usability, version compatibility and other problems
 ProGuard integration and app-signing capabilities
 Template-based wizards to create common Android designs and components
 A rich layout editor that allows users to drag-and-drop UI components, option to
preview layouts on multiple screen configurations[13]
 Support for building Android Wear apps
 Built-in support for Google Cloud Platform, enabling integration with Firebase Cloud
Messaging (Earlier 'Google Cloud Messaging') and Google App Engine[14]
 Android Virtual Device (Emulator) to run and debug apps

XAMPP

XAMPP is a free and open source cross-platform web server solution stack package

developed by Apache Friends, consisting mainly of the Apache HTTP Server, MariaDB

database, and interpreters for scripts written in the PHP and Perl programming languages.

XAMPP stands for Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) and Perl (P). It

is a simple, lightweight Apache distribution that makes it extremely easy for developers to

create a local web server for testing and deployment purposes. Everything needed to set up a

web server – server application (Apache), database (MariaDB), and scripting language (PHP)

– is included in an extractable file. XAMPP is also cross-platform, which means it works

equally well on Linux, Mac and Windows. Since most actual web server deployments use the
same components as XAMPP, it makes transitioning from a local test server to a live server

extremely easy as well.

The term XAMPP is an apparent acronym. However, there is no official acronym expansion

specified on the Apache Friends website. Their homepage header reads “XAMPP Apache +

MariaDB + PHP + Perl”, indicating that this abbreviation is a recursive acronym.

MySQL was replaced with MariaDB on 2015-10-19 and beginning with XAMPP versions

5.5.30 and 5.6.14, effectively altering the meaning of the acronym.

FEATURES

XAMPP is regularly updated to the latest releases of Apache, MariaDB, PHP and Perl. It also

comes with a number of other modules including OpenSSL, phpMyAdmin, MediaWiki,

Joomla, WordPress and more. Self-contained, multiple instances of XAMPP can exist on a

single computer, and any given instance can be copied from one computer to another.

XAMPP is offered in both a full and a standard version (Smaller version).

USAGE

Officially, XAMPP's designers intended it for use only as a development tool, to allow

website designers and programmers to test their work on their own computers without any

access to the Internet. To make this as easy as possible, many important security features are

disabled by default. XAMPP has the ability to serve web pages on the World Wide Web. A

special tool is provided to password-protect the most important parts of the package.
XAMPP also provides support for creating and manipulating databases in MariaDB and

SQLite among others.

Once XAMPP is installed, it is possible to treat a localhost like a remote host by connecting

using an FTP client. Using a program like FileZilla has many advantages when installing a

content management system (CMS) like Joomla or WordPress. It is also possible to connect

to localhost via FTP with an HTML editor.

PHP is a server-side scripting language designed primarily for web development but also

used as a general-purpose programming language. Originally created by Rasmus Lerdorf in

1994,[4] the PHP reference implementation is now produced by The PHP Development

Team.[5] PHP originally stood for Personal Home Page,[4] but it now stands for the recursive

acronym PHP: Hypertext Preprocessor.[6]

PHP

PHP code may be embedded into HTML or HTML5 markup, or it can be used in

combination with various web template systems, web content management systems and web

frameworks. PHP code is usually processed by a PHP interpreter implemented as a module in

the web server or as a Common Gateway Interface (CGI) executable. The web server

software combines the results of the interpreted and executed PHP code, which may be any

type of data, including images, with the generated web page. PHP code may also be executed

with a command-line interface (CLI) and can be used to implement standalone graphical

applications.
The standard PHP interpreter, powered by the Zend Engine, is free software released under

the PHP License. PHP has been widely ported and can be deployed on most web servers on

almost every operating system and platform, free of charge.

The PHP language evolved without a written formal specification or standard until 2014,

leaving the canonical PHP interpreter as a de facto standard. Since 2014 work has gone on to

create a formal PHP specification.

PHP 7

During 2014 and 2015, a new major PHP version was developed, which was numbered

PHP7. The numbering of this version involved some debate. While the PHP 6 Unicode

experiment had never been released, several articles and book titles referenced the PHP 6

name, which might have caused confusion if a new release were to reuse the name. After a

vote, the name PHP 7 was chosen.

The foundation of PHP 7 is a PHP branch that was originally dubbed PHP next generation

(phpng). It was authored by Dmitry Stogov, Xinchen Hui and Nikita Popov, and aimed to

optimize PHP performance by refactoring the Zend Engine to use more compact data

structures with improved cache locality while retaining near-complete language

compatibility. As of 14 July 2014, WordPress-based benchmarks, which served as the main

benchmark suite for the phpng project, showed an almost 100% increase in performance.

Changes from phpng are also expected to make it easier to improve performance in the

future, as more compact data structures and other changes are seen as better suited for a

successful migration to a just-in-time (JIT) compiler. Because of the significant changes, the

reworked Zend Engine is called Zend Engine 3, succeeding Zend Engine 2 used in PHP 5.
Because of major internal changes in phpng, it must receive a new major version number of

PHP, rather than a minor PHP 5 release, according to PHP's release process. Major versions

of PHP are allowed to break backward-compatibility of code and therefore PHP 7 presented

an opportunity for other improvements beyond phpng that require backward-compatibility

breaks, including wider use of exceptions, reworking variable syntax to be more consistent

and complete, and the deprecation or removal of various legacy features.

PHP 7 also introduced new language features, including return type declarations for

functions, which complement the existing parameter type declarations, and support for the

scalar types (integer, float, string, and boolean) in parameter and return type declarations.

MySQL

MySQL is an open-source relational database management system (RDBMS). Its name is a

combination of "My", the name of co-founder Michael Widenius' daughter, and "SQL", the

abbreviation for Structured Query Language. The MySQL development project has made its

source code available under the terms of the GNU General Public License, as well as under a

variety of proprietary agreements. MySQL was owned and sponsored by a single for-profit

firm, the Swedish company MySQL AB, now owned by Oracle Corporation. For proprietary

use, several paid editions are available, and offer additional functionality.

MySQL is a central component of the LAMP open-source web application software stack

(and other "AMP" stacks). LAMP is an acronym for "Linux, Apache, MySQL,

Perl/PHP/Python". Applications that use the MySQL database include: TYPO3, MODx,

Joomla, WordPress, phpBB, MyBB, and Drupal. MySQL is also used in many high-profile,
large-scale websites, including Google (though not for searches), Facebook, Twitter, Flickr,

and YouTube.
CHAPTER 4

SYSTEM DESCRIPTION

The process of hiding the information in other information without altering is known as

Steganography. It is the art of hiding message inside a multimedia block. Attacks, misuse or

unauthorized access of information is of great concern today which makes the protection of

documents through digital media is a priority problem. Digital images are widely used in

order to store the information. For hiding secret information in images, there exists a large

variety of techniques. Some applications may require absolute invisibility of secret

information, while some require large secret message to be hidden. This project report

intends to give an overview of image Steganography, its uses and techniques. It also attempts

to identify the requirements of a good steganography algorithm and briefly reflects on which

steganographic techniques are more suitable for which applications.

SCOPE OF THE PROJECT

This project is developed for hiding information in any image file. The scope of the project is

implementation of steganography tools for hiding information includes any type of

information file and image files and the path where the user wants to save Image and

extruded file.

OBJECTIVE

The goal of steganography is covert communication. So, a fundamental requirement of this

steganography system is that the hider message carried by stego-media should not be sensible

to human beings. This project has following objectives:

 To product security tool based on steganography techniques.


 To explore techniques of hiding data using encryption module of this project

 To extract techniques of getting secret data using decryption module.

MODULES

Sender Side

Receiver Side

SENDER SIDE

The Sender side consists of cryptographic and steganography stages. This method starts with

cryptographic then steganography.

CRYPTOGRAPHY STAGE

In encryption stage, we use RSA (Rivest Shamir Adelson) algorithm. This technique takes

two prime numbers. The Encryption can be done using the Plain Text and with “e” values

which was generated using the two prime numbers. Then we will get a cipher text, which is

communicated to the receiving end for decryption. This encrypted data will be used in

steganography stage.

STEGANOGRAPHY STAGE:

In stenography stage, we use LSB (Least Significant Bit) algorithm with some modification

to hide information (encrypted data from cryptography stage) inside a cover. In our

experiment, we use the image as cover to present our method, but this method can be applied

to other files such as audio, and video.

Input= Message + Two Prime Numbers

Output= Encrypted Message.


The general LSB method used to hide secret information into a file; the last bit in each pixel

or sample or frame used sequentially to hide one of the binary stream bits Encryption of the

cover image.

Input= Encrypted Message + Secret key+ cover image.

Output= Stego-Image.

RECEIVER SIDE

Receiver side consists of steganography and cryptography stages. In receiver side we will

first extract embedded data then decrypt it.

STEGANOGRAPHY STAGE

In the receiver side, we start with steganography then cryptography. We will use the same

steps which are used in sender side.

Input= Stego-Image+ Secret Key

Output= Encrypted Message.

CRYPTOGRAPHY STAGE

In cryptography stage, we use the data which is extracted from stego file and use RSA. We

will use the same steps which are used in sender side. The Decryption can be done using the

Encrypted message, receivers private key and senders public key.

Input= Encrypted Message + 2 Prime Numbers.

Output= Plain Text.

Now the Plain Text is in the form of Base-64. After getting the plain text apply Base64

conversion to change the Plain-text to given input, which can be Image.


ALGORITHM

Plaintext is taken from a specified file and then encrypted using RSA Algorithm.

Encryption and decryption are of following form for same plaintext M and ciphertext C.

C = (M^e) modn

M = (C^d)modn

M = ((M^e)^d)modn

M = (M^ed)modn

Both sender and receiver must know the value of n.

The sender knows the value of e, and the receiver knows the value of d.

Thus, this is a public key encryption algorithm with a public key of PU = {c, n} and private

key of PR= {d, n}.


CHAPTER 5

SYSTEM TESTING

Before applying method to design effective test cases, a software engineer must understand the

basic principles that guide software testing. Davis (DAV95) suggests a set of testing principles

which have been adapted for use in this book.

 All tests should be traceable to customer requirements.

 Test should be planned long before testing begins.

 Test pare to principle applets to software testing.

 Testing should begin “in the small” and progress towards testing “in the page”

 Exhaustive testing is not possible.

UNIT TESTING

Unit testing focuses on verification errors on the smallest unit of software design-the module.

Using the procedural design description as a guide, important control paths are tested to

uncover errors within the boundary of the module. The module interface is tested to ensure that

the information properly flows into and out of the program unit under test. Boundary

conditions are tested to ensure that the module operates properly at the boundaries established

to limit of restrict processing.

INTEGRATION TESTING

Integration testing is a systematic technique for constructing the program structure while

conducting test to uncover errors associated with interfacing. The objective is to take unit

tested modules and build a program structure that has been dictated by design.
WHITE BOX TESTING

White box testing is some time is called glass box testing, is a test case design that uses a

control structure of the procedural design to drive the test cases. Using white-box testing

methods, the software engineer can drive test cases that

 Guarantee that logical decisions are on the true and false sides

 Exercise all logical decisions are on the true and false sides

 Execute all loops at their boundaries and within their operational bounds

 Exercise internal data structure to assure the validity

ACCEPTANCE TESTING

Finally, when the software is completely built, a series of acceptance tests are conducted to

enable the client to validate all requirements. The user conducts these tests rather than the

system developer, which can range from informal test drive to a planned and systematically

executed series of tests. These acceptance tests are conducted over a period of weeks or

months, there by uncovering cumulative errors that might degrade the system order time. In

this process alpha testing and beta testing are used to uncover the errors that only the end user

seems able to find.

ALPHA TESTING

The customer conducts the alpha test at the developer’s site. The client notes the errors and

usage problems and gives report to the developer. Alpha tests are conducted in a control

environment.

BETA TESTING
The beta testing is conducted at one or more customer’s sites by the end users of the software.

Unlike the alpha testing, the developer is not present. Therefore a beta test is a “live”

application of the software in the environment that cannot be developed by the developer. The

customer records all the problems encountered during the beta testing and reports these to the

developers at regular intervals.

BLACK BOX TESTING:

Black box testing focuses on the functional requirements of the software. That is black box

testing enables the software engineer to drive a set of input conditions that will fully exercise

the requirements for a program.

Black box testing is not an alternative for white box testing techniques. Rather, it is a

complementary approach that is likely to uncover different class of errors.

Black box testing attempts to find errors in the following categories:

 Interface errors.

 Performances in data structures or external database access.

 Performance errors.

 Initialization and termination errors.

 Incorrect or missing functions.

All the above-mentioned errors were checked in the process of black.


CHAPTER 6

CONCLUSION

At the end, I would like to conclude that Image Steganography for hiding the secret

information can be very useful in private conversation so that the secret information cannot

be easily detected. The developed app adds more feature to the LSB technique used, making

the proposed work more robust and allowing high imperceptibility to the stego image. The

distortion in image is also negligible which shows the stego image is undetectable. Some of

the Advantages of the proposed work are:

 Execution time is fast.

 Cover image can hold large size text.

 Image can be hidden inside cover image along with the text.

 Works smoothly on different android versions.

FUTURE ENHANCEMENT

Future work of our research is to develop new version of Stego App that works on Apple

operating system. And enable the application to hide MB dimension of image in cover image.
BIBLIOGRAPHY

BOOKS REFERRED

 Head First Android Development: A Brain-Friendly Guide by David Griffiths and

Dawn Griffiths

 Android Cookbook by Ian Darwin

 Android App Development For Dummies by Michael Burton

 Android Studio Development Essentials by Neil Smith

 PHP: THE COMPLETE REFERENCE by Steven Holzner

 Learning MySQL by Seyed M. M. Tahaghoghi

WEBSITE REFERRED

 https://www.javatpoint.com/android-tutorial

 https://stackoverflow.com/

 https://www.tutorialspoint.com/android/index.htm

 https://developer.android.com/training/basics/firstapp
REFERENCES

[1] Ala'a, M., and Odeh Alnihoud. "AMeliorated KASHIDA-BASED APPROACH FOR

ARABIC TEXT STEGANOGRAPHY." Int. J. Comput. Sci. Inf. Technol.(IJCSIT)

9.2 (2017).

[2] Punidha, R. "Integer wavelet transform based approach for high robustness of audio

signal transmission." International Journal of Pure and Applied Mathematics 116.23

(2017): 295- 304.

[3] Vardhan, M. Vishnu, B. Rama Krishna, and V. Thanikaiselvan. "IWT Based Data

Hiding in Encrypted Images." 2018 Second International Conference on Electronics,

Communication and Aerospace Technology (ICECA). IEEE, 2018.

[4] Yin, Bangxu, et al. "Separable reversible data hiding in encrypted image with

classification permutation." 2017 IEEE Third International Conference on Multimedia

Big Data (BigMM). IEEE, 2017.

[5] Manikandan, Vazhora Malayil, and Vedhanayagam Masilamani. "An improved

reversible data hiding scheme through novel encryption." 2019 Conference on Next

Generation Computing Applications (NextComp). IEEE, 2019.

[6] Dhande, Krutika, and Rutuja Channe. "A Brief Review on Reversible Data Hiding in

Encrypted Image." 2019 International Conference on Communication and Signal

Processing (ICCSP). IEEE, 2019.

[7] Marella, Pranay, Jeremy Straub, and Benjamin Bernard. "Development of a Facial

Feature Based Image Steganography Technology." 2019 International Conference on

Computational Science and Computational Intelligence (CSCI). IEEE, 2019.

[8] Elharrouss, Omar, Noor Almaadeed, and Somaya Al-Maadeed. "An image

steganography approach based on k-least significant bits (kLSB)." 2020 IEEE


International Conference on Informatics, IoT, and Enabling Technologies (ICIoT).

IEEE, 2020.

[9] Rafiqi, Abdul Yabar. "Features Analysis and Extraction Techniques for the Image

Steganography." Turkish Journal of Computer and Mathematics Education

(TURCOMAT) 12.8 (2021): 2103-2109.

You might also like