ISMreport
ISMreport
There are several image encryption methods currently out there, but few require the automation
of the secret key generation process utilise an unsupervised learning mechanism. In this project,
we are attempting to develop a novel encryption system for images using deep auto-encoders,
where the pixel values of the images are taken as the initial feature vectors. The project is
proposed to be implemented in two ways, to work with greyscale values, as well as RGB values
using a convolutional neural network (CNN). The auto-encoder generates a latent space based on
the initial features, that while having few visual similarity with the same, serves as a low
memory encryption system for the images. The secret key here is the model generated by the
auto-encoder, which comprise the architecture and weights of the neural network, and will be
possessed beforehand by the end users.
2. PROBLEM STATEMENT
1.1 Idea
There are several image encryption techniques currently out there, but few involve the
automation of the secret key generation process using an unsupervised learning mechanism. In
this project, we tried to find the hidden text in the image by encryption and decryption using
deep autoencoders.The aim of an autoencoder is to find out a representation for a group of
knowledge, typically for dimensionality reduction, by training the network to ignore signal
noise. Here we are trying to implement 3 frameworks which are prep network , hide network
and reveal network .They work together and give the expected result.
1.2 Scope
Autoencoders are special types of neural networks that are based on a feedforward system, the
input is same as the output. This process involves compressing the input into its bare minimum
lower dimensional code and, reconstruct the file to produce the output. So what we get is a
summary of the input data also known as latent-space representation. In this freed up space we
can add some data that can be hidden in the file and recovered later on. Autoencoders usually
consist of encoder, code and decoder. The encoder compresses the input and produces the code,
the decoder, reconstructs the input only using this code as shown in Fig 1.1.
1.3 Novelty
The network has a recognition for natural images, it is able to recognise what parts get
redundant and which data can be sacrificed to make space to hide data. It saves space all over
the input image and saves up many small pockets of data, resulting in quite a bit of space to
store secrets. As the parameters are randomised, i.e. what is considered redundant/not useful,
they are generated by the training model, therefore the possibilities become endless. This sort of
a system can only have its data extracted by the decoder that is trained along with the encoder.
The paper proposed a new steganographic method. This was based on grey-level
modification for rgb colour images using image transposition. The secret key and secret
information are encrypted using multiple encryption algorithms and are hidden in the
host image pixels. The input is also transposed before data hiding. Image transposition
is done along with bit-shuffling, bitxoring, stego key-based encryption, and grey-level
modification. This introduces five different security levels to the proposed scheme,
increasing the system's security five fold.
Limitations:
Work Summary:
The goal of this paper was to propose and evaluate a new network based anomaly
detection system that extracts behaviors from snapshots of the provided network and
uses deep autoencoders to detect anomalous network traffic. The devices being
monitored were mostly IoT devices on the system network. To check this method, nine
samples are planted in the commercial IoT devices in a lab. They are infected with
IoT-based botnets, Mirai and BASHLITE. The results showed that the proposed
method’s ability to accurately and instantaneously detect the attacks as they were being
launched from the compromised IoT devices which were part of the botnet.
Limitations:
● The difference in the FPR score upon analysis of the various IoT devices
causes high traffic.
● Devices with multiple functions may be subject to categorization errors as it
may be difficult to obtain its normal behaviour.
● Difficulty in capturing normal traffic behaviour varies among IoT devices,
based on its capabilities.
Work Summary:
This paper refers to the knowledge in the field of cryptography application . It mentions
developing a cipher algorithm for encryption of images of m*n size by mixing the RGB
pixel values. The algorithm simplified encryption and cleaned up image encryption
based on RGB pixel values. This algorithm was implemented using MATLAB.
Limitations:
Limitations:
Work Summary:
This paper discusses the study of several layers of features in color images and how
these features are used to start deep autoencoders. These images are then coded in short
binary codes and semantic hashing using 28 codes is performed to retrieve images
similar to the query image with a non-‘n’ time difficulty. 8 improvements in the
accuracy of the mentioned system, the use of 256 binary codes for better matching is
discussed.
Limitations:
● Instead of using a new idea, the paper focused on the basic features of
mapping using autoencoder functions.
● Depending on the results of the retrieval, direct search across the database
yielded better results than the standard euclidean method.
● The novel feature of the paper, the spectral codes, made the metrics the
worst distance.
Work Summary:
This paper emphasizes the use of autoencoders as a productive learning model for
cyber security activities. It exploits the well-known fact that autoencoders can produce
hidden representations of features with good semantic similarities by taking vectors of
objects from cyber security situations and creating hidden presentations with semantic
similarities and beginnings embedded within them. One of the benefits of this method
is to reduce the memory requirement as a result of the reduction in size brought about
by autoencoders. The function uses publicly available data sets for network anomaly
intrusion detection and malware programming to create improvements in previous
results.
Limitations:
● While the autoencoder method produces better results than the vector of the first
element, there may be very simple methods that can be developed equally well.
● This approach creates a fundamental similarity to the actual aspects of
segregation, and because of its unregulated nature, more discriminatory
segregation will no longer work equally well.
1.5 Dataset
The data set which we used for a project contains different images which in turn helps us to
encode, combine and then decode the image. The dataset comprises around 1200 images which
are stored in array format. At the time of running the project it select any two random images
and does the operation.
In this project, we have used the jupyter notebook for compilation. The training and testing part
is done in Anaconda navigator using python. We have used libraries like keras and tensorflow
for the project.
The result which we are expecting via this project is that we can obtain a higher accuracy of
finding missing data through an image with the help of autoencoders which leads to the
encoding and decoding part of the image. We are also trying to plot some graphs for testing and
training sets to understand the working of the project properly.
3. ARCHITECTURE
void taskConv2D(int float A[M+U-1][N+V-1], int float H[U][V], out float C[M][N]);
The output image, C, it is computed from the input image, A and the convolutional mask, H.
After this we are encoding the image and trying to hide one image in another and with this will
get an output which we will store to perform decode operation on and then we'll decoded it to
get the hidden image
Here c and s are the cover and secret images respectively, and β is how to weigh their
reconstruction errors
To make sure that the network we are using do not plainly encode the secret image in the LSBs
, we are adding a small amount of noise to the output of the second network(eg. into the
generated container image) while training
After the training part , we divided the trained model into two part first one is hide network and
the second one is reveal network ( we removed noisy layer ). The hide network precise of two
inputs correlated to secret and cover image and one output while is correlated to the container
image.The reveal network clutches the container image as input and decode(reveals) the secret
image as output.
Here basically sender is the one using the hide network and the one receiver is using is Reveal
network.The receiver has all the access only to the container image.In addition to the normal
autoencoder hiding mechanism , we are also encrypting out secret image for the sake of
security. Therefore , Both sender and receiver gets a symmetric key for encrypting and
decrypting the shuffled secret image.The encryption is mostly executed by the sender on the
input secret image. Where as the decryption part is executed by the receiver on the final
decoded image.
In last the image are enhanced by applying Non-local means Denoising algorithm and Unsharp
Masking(USM) filter.
4. IMPLEMENTATION
3.1 Autoencoders
3.3 Methodology
The methodology used in this project involves the implementation of an autoencoder via a
convolutional neural network with the help of the keras and tensorflow libraries in python, to a
large image dataset. The key idea here is to create a model, that is, the architecture and weights
that can transform any image into its corresponding latent space, a visually similar form of the
image that occupies far less memory than the original. This latent space serves as an encrypted
form of the image and can be transmitted to the other party via any public channel. On the other
side, the user should have the decoder model for the corresponding encoder, which, in the case
of this project is symmetric and the exact opposite of the encoder model. The entire process of
training this model is done in the following steps:
● Importing the dataset
● Cleaning the data
● Setting up the libraries
● Training the model using the conv2d, max pooling and upsampling functions
● Create the corresponding decoder model.
● Test against a subset of the dataset.
3.44Algorithm
a) Conv2D
b) MaxPooling2D
c) UpSampling2D
a) Conv2D
Conv2D basically applies a mask to a 2Dimage, as per concepts it is very similar to blurring in
Computer Graphics. The prototype of a Sequoia task which implements a Conv2D is as follows:
void task Conv2D(in float A[M+U-1][N+V-1], in float H[U][V], out float C[M][N]); the input
image A is converted to output image C, and the convolution mask, H, according to the
expression given in Fig 3.2.
c) UpSampling2D
It is the process in which 0 valued samples are inserted between original samples to kind off
increase the sampling rate. It adds spectral images to the real or rather original signal, which are
based on multiples of original sampling rate. In our system, we have done the upsampling using
the inbuilt Keras upsampling 2D method to increase the dimentionality for the feature vectors
for further more processing
CNN has always shown how it learns different real life structures that correspond to the
computational world or rather the logical features. The level of abstraction also gets increased
and upscales as we go deep into the networks.ConvNet is the solution to all these problems that
we mentioned above. It has a very good idea about the similarities or patterns that are seen of
natural images, and thus it can simply identify areas that are same or redundant and thus more
pixels can be hidden in there. The total space that we save here can hep us hide more and more
information. And the privacy layer drops in as the architecture and weights can be changed and
randomized, thus no one can get into the system to see what image is being processed as that
person won’t have same weights that we placed.
4. RESULT AND DISCUSSION
4.1 Implementation with Coding
4.2 Results
Input images with the first being cover image and the second one is thesecret image
4.3 Mapping the results with problem statement and existing systems
CONCLUSIONS
Thus we would like to conclude our beautiful work here. We made a new and unique
Convolutional Neural Network based ED architecture i.e. using autoencoders and decoders for
natural image steganography. Compared to other already present architectures and methods,
which only considered image in the form of a binary matrix like structure, our algorithm
directly takes in a image as a payload, performs Conv2D on it and encodes it robustly. This
thing that we have made in a team of five, we consider it to be pretty novel and we are among
the first, we should say to introduce such novelty in this sector. Various experiments with a large
dataset, with empirically examining them through various different statistics and loss curves,
have made it possible for us, to efficiently produce an output.
FUTURE WORK
The future of our project is bright as steganography can further be applied to videos too.. As our
architecture is dependent on an unsupervised learning method, it is not dependent on a particular type od
information. More forms of unlabelled data can be considered for our architecture to work on. Also it
can further be applied to audio too and the functionality of this piece of art can further be investigated.
Passwords can also be eliminated to face IDs in the future and steganography is going to help us achieve
this by encrypting and decrypting our images when the pass on the web, in the Big Data World!
References
[1] Muhammad, Khan, et al. "Secure image steganography using cryptography and image
transposition." arXiv preprint arXiv:1510.04413 (2015).
[2] Meidan, Yair, et al. "N-baiot—network-based detection of iot botnet attacks using deep
autoencoders." IEEE Pervasive Computing 17.3 (2018): 12-22.
[3] Kester, Quist-Aphetsi. "Image Encryption based on the RGB PIXEL Transposition and
Shuffling." International Journal of Computer Network & Information Security 5.7 (2013).
[4] Pu, Yunchen, et al. "Variational autoencoder for deep learning of images, labels and
captions." arXiv preprint arXiv:1609.08976 (2016).
[5] Krizhevsky, A. and Geoffrey E. Hinton. “Using very deep autoencoders for content-based
image retrieval.” ESANN (2011).
[6] M. Yousefi-Azar, V. Varadharajan, L. Hamey and U. Tupakula, "Autoencoder-based feature
learning for cyber security applications," 2017 International Joint Conference on Neural
Networks (IJCNN), 2017, pp. 3854-3861, doi: 10.1109/IJCNN.2017.7966342.