SlideShare una empresa de Scribd logo
1 de 11
Reversible Data Hiding in Encrypted Images by Reserving
Room Before Encryption
ABSTRACT
Recently, more and more attention is paid to reversible data hiding (RDH) in encrypted images, since it
maintains the excellent property that the original cover can be losslessly recovered after embedded data is
extracted while protecting the image content’s confidentiality. All previous methods embed data by reversibly
vacating room from the encrypted images, which may be subject to some errors on data extract ion and/or
image restoration. In this paper, we propose a novel method by reserving room before encryption with a
traditional RDH algorithm, and thus it is easy for the data hider to reversibly embed data in the encrypted
image. The proposed method can achieve real reversibility, that is, data extraction and image recovery are free
of any error. Experiments show that this novel method can embed more than 10 times as large payloads for the
same image quality as the previous methods, such as for PSNR dB.
Architecture
GLOBALSOFT TECHNOLOGIES
IEEE PROJECTS & SOFTWARE DEVELOPMENTS
IEEE FINAL YEAR PROJECTS|IEEE ENGINEERING PROJECTS|IEEE STUDENTS PROJECTS|IEEE
BULK PROJECTS|BE/BTECH/ME/MTECH/MS/MCA PROJECTS|CSE/IT/ECE/EEE PROJECTS
CELL: +91 98495 39085, +91 99662 35788, +91 98495 57908, +91 97014 40401
Visit: www.finalyearprojects.org Mail to:ieeefinalsemprojects@gmail.com
Existing System
In this Existing System, since losslessly vacating room from the encrypted images is relatively difficult
and sometimes inefficient, why are we still so obsessed to find novel RDH techniques working directly for
Encrypted Images? The method in compressed the encrypted LSBs to vacate room for additional data by finding
syndromes of a parity-check matrix, and the side information used at the receiver side is also the spatial
correlation of decrypted images. All the three methods try to vacate room from the encrypted images directly.
However, since the entropy of encrypted images has been maximized, these techniques can only achieve small
payloads generate marked image with poor quality for large payload and all of them are subject to some error
rates on data extraction and/or image restoration.
Disadvantage
X. Low error rate
X. Data extraction and image restoration problem
Proposed System
In proposed method can achieve real reversibility, that is, data extraction and image recovery are free of
any error. If we reverse the order of encryption and vacating room, i.e., reserving room prior to image
encryption at content owner side, the RDH tasks in encrypted images would be more natural and much easier
which leads us to the novel framework, “reserving room before encryption (RRBE)”
Advantage
Not only does the proposed method separate data extraction from image decryption but also achieves
excellent performance in two different prospects:
 Real reversibility is realized, that is, data extraction and image recovery are free of any error.
 For given embedding rates, the PSNRs of decrypted image containing the embedded data are
significantly improved; and for the acceptable PSNR, the range of embedding rates is greatly
enlarged.
Modules
1. Encrypted Image Generation
a) IMAGE PARTITION
b) SELF REVERSIBLE EMBEDDING
2. Data Hiding In Encrypted Image
3. Data Extraction and Image Recovery
4. Data Extraction and Image Restoration
Modules Description
Encrypted Image Generation
In this module, to construct the encrypted image, the first stage can be divided into three steps:
c) IMAGE PARTITION,
d) SELF REVERSIBLE EMBEDDING followed by image encryption.
At the beginning, image partition step divides original image into two parts and then, the LSBs of are reversibly
embedded into with a standard RDH algorithm so that LSBs of can be used for accommodating messages; at
last, encrypt the rearranged image to generate its final version.
a) IMAGE PARTITION
The operator here for reserving room before encryption is a standard RDH technique, so the goal of
image partition.
b) SELF REVERSIBLE EMBEDDING
The goal of self-reversible embedding is to embed the LSB-planes of into by employing
traditional RDH algorithms. We simplify the method in to demonstrate the process of self-embedding.
Data Hiding In Encrypted Image
In this module, a content owner encrypts the original image using a standard cipher with an encryption
key. After producing the encrypted image, the content owner hands over it to a data hider (e.g., a database
manager) and the data hider can embed some auxiliary data into the encrypted image by losslessly vacating
some room according to a data hiding key. Then a receiver, maybe the content owner himself or an authorized
third party can extract the embedded data with the data hiding key and further recover the original image from
the encrypted version according to the encryption key.
Data Extraction and Image Recovery
In this module, Extracting Data from Encrypted Images to manage and update personal information of
images which are encrypted for protecting clients’ privacy, an inferior database manager may only get access to
the data hiding key and have to manipulate data in encrypted domain. When the database manager gets the data
hiding key, he can decrypt and extract the additional data by directly reading the decrypted version. When
requesting for updating information of encrypted images, the database manager, then, updates information
through LSB replacement and encrypts up dated information according to the data hiding key all over again. As
the whole process is entirely operated on encrypted domain, it avoids the leakage of original content.
Data Extraction and Image Restoration
In this module, after generating the marked decrypted image, the content owner can further extract the
data and recover original image.
Reversible Data Hiding (RDH) – Compression Algorithm
private void Encrypt_btn_Click(object sender, EventArgs e)
{
pictureBox1.Image = Image.FromFile(EnImage_tbx.Text);
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
saveToImage = saveFileDialog1.FileName;
}
else
return;
if (EnImage_tbx.Text == String.Empty || EnFile_tbx.Text ==
String.Empty)
{
MessageBox.Show("Encrypton information is incomplete!nPlease
complete them frist.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
if (8 * ((height * (width / 3) * 3) / 3 - 1) < fileSize +
fileNameSize)
{
//MessageBox.Show("File size is too large!nPlease use a larger
image to hide this file.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
//return;
}
fileContainer = File.ReadAllBytes(loadedFilePath);
EncryptLayer();
//SqlConnection con = new SqlConnection(constring);
//con.Open();
//SqlCommand cmd2 = new SqlCommand("update Embedding set
saveimagepath='" + saveToImage + "' where id1='" + int2 + "' and autid='" + auid1
+ "'", con);
//cmd2.ExecuteNonQuery();
//SqlCommand cmd1 = new SqlCommand("update Embedding set
loadimagepath='" + EnImage_tbx.Text + "',loadfilepath='" + EnFile_tbx.Text + "'
where id1='" + int2 + "' and autid='" + auid1 + "'", con);
//cmd1.ExecuteNonQuery();
//con.Close();
//MessageBox.Show("your file is ready to split the packets ,click
packets sending!!!");
}
private void EncryptLayer()
{
toolStripStatusLabel1.Text = "Encrypting... Please wait";
Application.DoEvents();
long FSize = fileSize;
Bitmap changedBitmap = EncryptLayer(8, loadedTrueBitmap, 0, (height *
(width / 3) * 3) / 3 - fileNameSize - 1, true);
FSize -= (height * (width / 3) * 3) / 3 - fileNameSize - 1;
if (FSize > 0)
{
for (int i = 7; i >= 0 && FSize > 0; i--)
{
changedBitmap = EncryptLayer(i, changedBitmap, (((8 - i) *
height * (width / 3) * 3) / 3 - fileNameSize - (8 - i)), (((9 - i) * height *
(width / 3) * 3) / 3 - fileNameSize - (9 - i)), false);
FSize -= (height * (width / 3) * 3) / 3 - 1;
}
}
changedBitmap.Save(saveToImage);
toolStripStatusLabel1.Text = "Encrypted image has been successfully
saved.";
EncriptionDone = true;
AfterEncryption = Image.FromFile(saveToImage);
this.Invalidate();
}
private Bitmap EncryptLayer(int layer, Bitmap inputBitmap, long
startPosition, long endPosition, bool writeFileName)
{
Bitmap outputBitmap = inputBitmap;
layer--;
int i = 0, j = 0;
long FNSize = 0;
bool[] t = new bool[8];
bool[] rb = new bool[8];
bool[] gb = new bool[8];
bool[] bb = new bool[8];
Color pixel = new Color();
byte r, g, b;
if (writeFileName)
{
FNSize = fileNameSize;
string fileName = justFName(loadedFilePath);
//write fileName:
for (i = 0; i < height && i * (height / 3) < fileNameSize; i++)
for (j = 0; j < (width / 3) * 3 && i * (height / 3) + (j / 3)
< fileNameSize; j++)
{
byte2bool((byte)fileName[i * (height / 3) + j / 3], ref
t);
pixel = inputBitmap.GetPixel(j, i);
r = pixel.R;
g = pixel.G;
b = pixel.B;
byte2bool(r, ref rb);
byte2bool(g, ref gb);
byte2bool(b, ref bb);
if (j % 3 == 0)
{
rb[7] = t[0];
gb[7] = t[1];
bb[7] = t[2];
}
else if (j % 3 == 1)
{
rb[7] = t[3];
gb[7] = t[4];
bb[7] = t[5];
}
else
{
rb[7] = t[6];
gb[7] = t[7];
}
Color result = Color.FromArgb((int)bool2byte(rb),
(int)bool2byte(gb), (int)bool2byte(bb));
outputBitmap.SetPixel(j, i, result);
}
i--;
}
//write file (after file name):
int tempj = j;
for (; i < height && i * (height / 3) < endPosition - startPosition +
FNSize && startPosition + i * (height / 3) < fileSize + FNSize; i++)
for (j = 0; j < (width / 3) * 3 && i * (height / 3) + (j / 3) <
endPosition - startPosition + FNSize && startPosition + i * (height / 3) + (j /
3) < fileSize + FNSize; j++)
{
if (tempj != 0)
{
j = tempj;
tempj = 0;
}
byte2bool((byte)fileContainer[startPosition + i * (height /
3) + j / 3 - FNSize], ref t);
pixel = inputBitmap.GetPixel(j, i);
r = pixel.R;
g = pixel.G;
b = pixel.B;
byte2bool(r, ref rb);
byte2bool(g, ref gb);
byte2bool(b, ref bb);
if (j % 3 == 0)
{
rb[layer] = t[0];
gb[layer] = t[1];
bb[layer] = t[2];
}
else if (j % 3 == 1)
{
rb[layer] = t[3];
gb[layer] = t[4];
bb[layer] = t[5];
}
else
{
rb[layer] = t[6];
gb[layer] = t[7];
}
Color result = Color.FromArgb((int)bool2byte(rb),
(int)bool2byte(gb), (int)bool2byte(bb));
outputBitmap.SetPixel(j, i, result);
}
long tempFS = fileSize, tempFNS = fileNameSize;
r = (byte)(tempFS % 100);
tempFS /= 100;
g = (byte)(tempFS % 100);
tempFS /= 100;
b = (byte)(tempFS % 100);
Color flenColor = Color.FromArgb(r, g, b);
outputBitmap.SetPixel(width - 1, height - 1, flenColor);
r = (byte)(tempFNS % 100);
tempFNS /= 100;
g = (byte)(tempFNS % 100);
tempFNS /= 100;
b = (byte)(tempFNS % 100);
Color fnlenColor = Color.FromArgb(r, g, b);
outputBitmap.SetPixel(width - 2, height - 1, fnlenColor);
return outputBitmap;
}
private void byte2bool(byte inp, ref bool[] outp)
{
if (inp >= 0 && inp <= 255)
for (short i = 7; i >= 0; i--)
{
if (inp % 2 == 1)
outp[i] = true;
else
outp[i] = false;
inp /= 2;
}
else
throw new Exception("Input number is illegal.");
}
private byte bool2byte(bool[] inp)
{
byte outp = 0;
for (short i = 7; i >= 0; i--)
{
if (inp[i])
outp += (byte)Math.Pow(2.0, (double)(7 - i));
}
return outp;
}
private string justFName(string path)
{
string output;
int i;
if (path.Length == 3) // i.e: "C:"
return path.Substring(0, 1);
for (i = path.Length - 1; i > 0; i--)
if (path[i] == '')
break;
output = path.Substring(i + 1);
return output;
}
private string justEx(string fName)
{
string output;
int i;
for (i = fName.Length - 1; i > 0; i--)
if (fName[i] == '.')
break;
output = fName.Substring(i + 1);
return output;
}
SYSTEM REQUIREMENT SPECIFICATION
HARDWARE REQUIREMENTS
System : Pentium IV 2.4 GHz.
Hard Disk : 80 GB.
Monitor : 15 VGA Color.
Mouse : Logitech.
Ram : 512 MB.
SOFTWARE REQUIREMENTS
Operating system : Windows 7 Ultimate (32-bit) OS
Front End : Visual Studio 2010
Coding Language : C#.NET
Database : SQL Server 2008
CLOUING
DOMAIN: WIRELESS NETWORK PROJECTS

Más contenido relacionado

La actualidad más candente

Image encryption using aes key expansion
Image encryption using aes key expansionImage encryption using aes key expansion
Image encryption using aes key expansion
Sreeda Perikamana
 
Image encryption
Image encryptionImage encryption
Image encryption
rakshit2105
 
REAL TIME DATA TRANSFER VIA VIDEO USING REVERSIBLE DATA HIDING TECHNIQUE
REAL TIME DATA TRANSFER VIA VIDEO USING REVERSIBLE DATA HIDING TECHNIQUEREAL TIME DATA TRANSFER VIA VIDEO USING REVERSIBLE DATA HIDING TECHNIQUE
REAL TIME DATA TRANSFER VIA VIDEO USING REVERSIBLE DATA HIDING TECHNIQUE
International Journal of Technical Research & Application
 

La actualidad más candente (20)

DATA HIDING IN ENCRYPTED H.264 VIDEO FORMAT
DATA HIDING IN ENCRYPTED H.264 VIDEO FORMATDATA HIDING IN ENCRYPTED H.264 VIDEO FORMAT
DATA HIDING IN ENCRYPTED H.264 VIDEO FORMAT
 
Secured Reversible Data Hiding In Encrypted Images Using Hyper Chaos
Secured Reversible Data Hiding In Encrypted Images Using Hyper ChaosSecured Reversible Data Hiding In Encrypted Images Using Hyper Chaos
Secured Reversible Data Hiding In Encrypted Images Using Hyper Chaos
 
Reversible data hiding using histogram shifting method
Reversible data hiding using histogram shifting methodReversible data hiding using histogram shifting method
Reversible data hiding using histogram shifting method
 
F1803063236
F1803063236F1803063236
F1803063236
 
DIP Using Image Encryption and XOR Operation Affine Transform
DIP Using Image Encryption and XOR Operation Affine TransformDIP Using Image Encryption and XOR Operation Affine Transform
DIP Using Image Encryption and XOR Operation Affine Transform
 
Reversible Watermarking based on Histogram Shifting Modification:A Review
Reversible Watermarking based on Histogram Shifting Modification:A ReviewReversible Watermarking based on Histogram Shifting Modification:A Review
Reversible Watermarking based on Histogram Shifting Modification:A Review
 
Image encryption using aes key expansion
Image encryption using aes key expansionImage encryption using aes key expansion
Image encryption using aes key expansion
 
Data encryption using LSB matching algorithm and Reserving Room before Encryp...
Data encryption using LSB matching algorithm and Reserving Room before Encryp...Data encryption using LSB matching algorithm and Reserving Room before Encryp...
Data encryption using LSB matching algorithm and Reserving Room before Encryp...
 
(Sample) image encryption
(Sample) image encryption(Sample) image encryption
(Sample) image encryption
 
Learnable Image Encryption
Learnable Image EncryptionLearnable Image Encryption
Learnable Image Encryption
 
Image encryption
Image encryptionImage encryption
Image encryption
 
Data Hiding Techniques
Data Hiding TechniquesData Hiding Techniques
Data Hiding Techniques
 
Reversible Data Hiding in Encrypted color images by Reserving Room before Enc...
Reversible Data Hiding in Encrypted color images by Reserving Room before Enc...Reversible Data Hiding in Encrypted color images by Reserving Room before Enc...
Reversible Data Hiding in Encrypted color images by Reserving Room before Enc...
 
Securing Image Steganogarphy Based on Visual Cryptography And Integer Wavelet...
Securing Image Steganogarphy Based on Visual Cryptography And Integer Wavelet...Securing Image Steganogarphy Based on Visual Cryptography And Integer Wavelet...
Securing Image Steganogarphy Based on Visual Cryptography And Integer Wavelet...
 
“Multimedia Steganography with Cipher Text and Compression ppt.
“Multimedia Steganography with Cipher Text and Compression ppt.“Multimedia Steganography with Cipher Text and Compression ppt.
“Multimedia Steganography with Cipher Text and Compression ppt.
 
REAL TIME DATA TRANSFER VIA VIDEO USING REVERSIBLE DATA HIDING TECHNIQUE
REAL TIME DATA TRANSFER VIA VIDEO USING REVERSIBLE DATA HIDING TECHNIQUEREAL TIME DATA TRANSFER VIA VIDEO USING REVERSIBLE DATA HIDING TECHNIQUE
REAL TIME DATA TRANSFER VIA VIDEO USING REVERSIBLE DATA HIDING TECHNIQUE
 
Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Science
 
Survey on Different Image Encryption Techniques with Tabular Form
Survey on Different Image Encryption Techniques with Tabular FormSurvey on Different Image Encryption Techniques with Tabular Form
Survey on Different Image Encryption Techniques with Tabular Form
 
Image encryption and decryption using aes algorithm
Image encryption and decryption using aes algorithmImage encryption and decryption using aes algorithm
Image encryption and decryption using aes algorithm
 
Using SBR Algorithm To Hide The Data Into The JPEG Image
Using SBR Algorithm To Hide The Data Into The JPEG ImageUsing SBR Algorithm To Hide The Data Into The JPEG Image
Using SBR Algorithm To Hide The Data Into The JPEG Image
 

Destacado

Password based circuit breaker control to ensure electric
Password  based  circuit breaker  control to  ensure electricPassword  based  circuit breaker  control to  ensure electric
Password based circuit breaker control to ensure electric
Praveen Kumar V
 
global wireless e-voting
global wireless e-votingglobal wireless e-voting
global wireless e-voting
sahiba javid
 

Destacado (14)

PPT steganography
PPT steganographyPPT steganography
PPT steganography
 
Dropbox
DropboxDropbox
Dropbox
 
Global Wirelesse Voting Machine
Global Wirelesse Voting MachineGlobal Wirelesse Voting Machine
Global Wirelesse Voting Machine
 
globel wireless e votingSlides
globel wireless e votingSlidesglobel wireless e votingSlides
globel wireless e votingSlides
 
Ubuntu OpenStack Introduction
Ubuntu OpenStack IntroductionUbuntu OpenStack Introduction
Ubuntu OpenStack Introduction
 
Password based circuit breaker control to ensure electric
Password  based  circuit breaker  control to  ensure electricPassword  based  circuit breaker  control to  ensure electric
Password based circuit breaker control to ensure electric
 
global wireless e-voting
global wireless e-votingglobal wireless e-voting
global wireless e-voting
 
MULTIPLE CROP CUTTING MACHINE
   MULTIPLE CROP CUTTING MACHINE   MULTIPLE CROP CUTTING MACHINE
MULTIPLE CROP CUTTING MACHINE
 
Microcontroller based digital code lock report 2
Microcontroller based digital code lock report 2Microcontroller based digital code lock report 2
Microcontroller based digital code lock report 2
 
Outsourcing And Cloud Computing
Outsourcing And Cloud ComputingOutsourcing And Cloud Computing
Outsourcing And Cloud Computing
 
Global wireless e voting powerpoint presentation
Global wireless e voting powerpoint presentationGlobal wireless e voting powerpoint presentation
Global wireless e voting powerpoint presentation
 
GLOBAL WIRELESS E-VOTING FULL REPORT FOR SEMINAR
GLOBAL WIRELESS E-VOTING FULL REPORT FOR SEMINARGLOBAL WIRELESS E-VOTING FULL REPORT FOR SEMINAR
GLOBAL WIRELESS E-VOTING FULL REPORT FOR SEMINAR
 
Implementing agile iterative project delivery approach and achieving business...
Implementing agile iterative project delivery approach and achieving business...Implementing agile iterative project delivery approach and achieving business...
Implementing agile iterative project delivery approach and achieving business...
 
Global wireless e-voting
Global wireless e-votingGlobal wireless e-voting
Global wireless e-voting
 

Similar a Reversible data hiding in encrypted images by reserving room before encryption

Az2419511954
Az2419511954Az2419511954
Az2419511954
IJMER
 
Steganography - Anup Palarapwar
Steganography - Anup PalarapwarSteganography - Anup Palarapwar
Steganography - Anup Palarapwar
ANUP PALARAPWAR
 

Similar a Reversible data hiding in encrypted images by reserving room before encryption (20)

K041068072
K041068072K041068072
K041068072
 
Reversible Data Hiding In Encrypted Images And Its Application To Secure Miss...
Reversible Data Hiding In Encrypted Images And Its Application To Secure Miss...Reversible Data Hiding In Encrypted Images And Its Application To Secure Miss...
Reversible Data Hiding In Encrypted Images And Its Application To Secure Miss...
 
Az2419511954
Az2419511954Az2419511954
Az2419511954
 
A010520107
A010520107A010520107
A010520107
 
Reversible Data hiding in Encrypted Images using Deep Neural Network and MSB ...
Reversible Data hiding in Encrypted Images using Deep Neural Network and MSB ...Reversible Data hiding in Encrypted Images using Deep Neural Network and MSB ...
Reversible Data hiding in Encrypted Images using Deep Neural Network and MSB ...
 
A secured data transmission system by reversible data hiding with scalable co...
A secured data transmission system by reversible data hiding with scalable co...A secured data transmission system by reversible data hiding with scalable co...
A secured data transmission system by reversible data hiding with scalable co...
 
Fast and Secure Transmission of Image by using Byte Rotation Algorithm in Net...
Fast and Secure Transmission of Image by using Byte Rotation Algorithm in Net...Fast and Secure Transmission of Image by using Byte Rotation Algorithm in Net...
Fast and Secure Transmission of Image by using Byte Rotation Algorithm in Net...
 
IRJET- Encryption and Authentication of Image by using Data Hiding
IRJET- Encryption and Authentication of Image by using Data HidingIRJET- Encryption and Authentication of Image by using Data Hiding
IRJET- Encryption and Authentication of Image by using Data Hiding
 
IRJET- High Capacity Reversible Data Hiding in Encrypted Images by MSB Predic...
IRJET- High Capacity Reversible Data Hiding in Encrypted Images by MSB Predic...IRJET- High Capacity Reversible Data Hiding in Encrypted Images by MSB Predic...
IRJET- High Capacity Reversible Data Hiding in Encrypted Images by MSB Predic...
 
New Framework of Reversible Data Hiding in Encrypted JPEG Bitstreams.pdf
New Framework of Reversible Data Hiding in Encrypted JPEG Bitstreams.pdfNew Framework of Reversible Data Hiding in Encrypted JPEG Bitstreams.pdf
New Framework of Reversible Data Hiding in Encrypted JPEG Bitstreams.pdf
 
Image Encryption in java ppt.
Image Encryption in java ppt.Image Encryption in java ppt.
Image Encryption in java ppt.
 
AN INNOVATIVE IDEA FOR PUBLIC KEY METHOD OF STEGANOGRAPHY
AN INNOVATIVE IDEA FOR PUBLIC KEY METHOD OF STEGANOGRAPHYAN INNOVATIVE IDEA FOR PUBLIC KEY METHOD OF STEGANOGRAPHY
AN INNOVATIVE IDEA FOR PUBLIC KEY METHOD OF STEGANOGRAPHY
 
Secure Image Hiding Algorithm using Cryptography and Steganography
Secure Image Hiding Algorithm using Cryptography and SteganographySecure Image Hiding Algorithm using Cryptography and Steganography
Secure Image Hiding Algorithm using Cryptography and Steganography
 
Non-Separable Histogram Based Reversible Data Hiding Approach Using Inverse S...
Non-Separable Histogram Based Reversible Data Hiding Approach Using Inverse S...Non-Separable Histogram Based Reversible Data Hiding Approach Using Inverse S...
Non-Separable Histogram Based Reversible Data Hiding Approach Using Inverse S...
 
Data Steganography for Optical Color Image Cryptosystems
Data Steganography for Optical Color Image CryptosystemsData Steganography for Optical Color Image Cryptosystems
Data Steganography for Optical Color Image Cryptosystems
 
ICIECA 2014 Paper 20
ICIECA 2014 Paper 20ICIECA 2014 Paper 20
ICIECA 2014 Paper 20
 
Implementation for Data Hiding using Visual Cryptography
Implementation for Data Hiding using Visual Cryptography           Implementation for Data Hiding using Visual Cryptography
Implementation for Data Hiding using Visual Cryptography
 
Steganography - Anup Palarapwar
Steganography - Anup PalarapwarSteganography - Anup Palarapwar
Steganography - Anup Palarapwar
 
Uncompressed Image Steganography using BPCS: Survey and Analysis
Uncompressed Image Steganography using BPCS: Survey and AnalysisUncompressed Image Steganography using BPCS: Survey and Analysis
Uncompressed Image Steganography using BPCS: Survey and Analysis
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 

Más de IEEEFINALYEARPROJECTS

Más de IEEEFINALYEARPROJECTS (20)

Scalable face image retrieval using attribute enhanced sparse codewords
Scalable face image retrieval using attribute enhanced sparse codewordsScalable face image retrieval using attribute enhanced sparse codewords
Scalable face image retrieval using attribute enhanced sparse codewords
 
Scalable face image retrieval using attribute enhanced sparse codewords
Scalable face image retrieval using attribute enhanced sparse codewordsScalable face image retrieval using attribute enhanced sparse codewords
Scalable face image retrieval using attribute enhanced sparse codewords
 
Reversible watermarking based on invariant image classification and dynamic h...
Reversible watermarking based on invariant image classification and dynamic h...Reversible watermarking based on invariant image classification and dynamic h...
Reversible watermarking based on invariant image classification and dynamic h...
 
Reversible data hiding with optimal value transfer
Reversible data hiding with optimal value transferReversible data hiding with optimal value transfer
Reversible data hiding with optimal value transfer
 
Query adaptive image search with hash codes
Query adaptive image search with hash codesQuery adaptive image search with hash codes
Query adaptive image search with hash codes
 
Noise reduction based on partial reference, dual-tree complex wavelet transfo...
Noise reduction based on partial reference, dual-tree complex wavelet transfo...Noise reduction based on partial reference, dual-tree complex wavelet transfo...
Noise reduction based on partial reference, dual-tree complex wavelet transfo...
 
Local directional number pattern for face analysis face and expression recogn...
Local directional number pattern for face analysis face and expression recogn...Local directional number pattern for face analysis face and expression recogn...
Local directional number pattern for face analysis face and expression recogn...
 
An access point based fec mechanism for video transmission over wireless la ns
An access point based fec mechanism for video transmission over wireless la nsAn access point based fec mechanism for video transmission over wireless la ns
An access point based fec mechanism for video transmission over wireless la ns
 
Towards differential query services in cost efficient clouds
Towards differential query services in cost efficient cloudsTowards differential query services in cost efficient clouds
Towards differential query services in cost efficient clouds
 
Spoc a secure and privacy preserving opportunistic computing framework for mo...
Spoc a secure and privacy preserving opportunistic computing framework for mo...Spoc a secure and privacy preserving opportunistic computing framework for mo...
Spoc a secure and privacy preserving opportunistic computing framework for mo...
 
Secure and efficient data transmission for cluster based wireless sensor netw...
Secure and efficient data transmission for cluster based wireless sensor netw...Secure and efficient data transmission for cluster based wireless sensor netw...
Secure and efficient data transmission for cluster based wireless sensor netw...
 
Privacy preserving back propagation neural network learning over arbitrarily ...
Privacy preserving back propagation neural network learning over arbitrarily ...Privacy preserving back propagation neural network learning over arbitrarily ...
Privacy preserving back propagation neural network learning over arbitrarily ...
 
Non cooperative location privacy
Non cooperative location privacyNon cooperative location privacy
Non cooperative location privacy
 
Harnessing the cloud for securely outsourcing large
Harnessing the cloud for securely outsourcing largeHarnessing the cloud for securely outsourcing large
Harnessing the cloud for securely outsourcing large
 
Geo community-based broadcasting for data dissemination in mobile social netw...
Geo community-based broadcasting for data dissemination in mobile social netw...Geo community-based broadcasting for data dissemination in mobile social netw...
Geo community-based broadcasting for data dissemination in mobile social netw...
 
Enabling data dynamic and indirect mutual trust for cloud computing storage s...
Enabling data dynamic and indirect mutual trust for cloud computing storage s...Enabling data dynamic and indirect mutual trust for cloud computing storage s...
Enabling data dynamic and indirect mutual trust for cloud computing storage s...
 
Dynamic resource allocation using virtual machines for cloud computing enviro...
Dynamic resource allocation using virtual machines for cloud computing enviro...Dynamic resource allocation using virtual machines for cloud computing enviro...
Dynamic resource allocation using virtual machines for cloud computing enviro...
 
A secure protocol for spontaneous wireless ad hoc networks creation
A secure protocol for spontaneous wireless ad hoc networks creationA secure protocol for spontaneous wireless ad hoc networks creation
A secure protocol for spontaneous wireless ad hoc networks creation
 
Utility privacy tradeoff in databases an information-theoretic approach
Utility privacy tradeoff in databases an information-theoretic approachUtility privacy tradeoff in databases an information-theoretic approach
Utility privacy tradeoff in databases an information-theoretic approach
 
Two tales of privacy in online social networks
Two tales of privacy in online social networksTwo tales of privacy in online social networks
Two tales of privacy in online social networks
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Reversible data hiding in encrypted images by reserving room before encryption

  • 1. Reversible Data Hiding in Encrypted Images by Reserving Room Before Encryption ABSTRACT Recently, more and more attention is paid to reversible data hiding (RDH) in encrypted images, since it maintains the excellent property that the original cover can be losslessly recovered after embedded data is extracted while protecting the image content’s confidentiality. All previous methods embed data by reversibly vacating room from the encrypted images, which may be subject to some errors on data extract ion and/or image restoration. In this paper, we propose a novel method by reserving room before encryption with a traditional RDH algorithm, and thus it is easy for the data hider to reversibly embed data in the encrypted image. The proposed method can achieve real reversibility, that is, data extraction and image recovery are free of any error. Experiments show that this novel method can embed more than 10 times as large payloads for the same image quality as the previous methods, such as for PSNR dB. Architecture GLOBALSOFT TECHNOLOGIES IEEE PROJECTS & SOFTWARE DEVELOPMENTS IEEE FINAL YEAR PROJECTS|IEEE ENGINEERING PROJECTS|IEEE STUDENTS PROJECTS|IEEE BULK PROJECTS|BE/BTECH/ME/MTECH/MS/MCA PROJECTS|CSE/IT/ECE/EEE PROJECTS CELL: +91 98495 39085, +91 99662 35788, +91 98495 57908, +91 97014 40401 Visit: www.finalyearprojects.org Mail to:ieeefinalsemprojects@gmail.com
  • 2. Existing System In this Existing System, since losslessly vacating room from the encrypted images is relatively difficult and sometimes inefficient, why are we still so obsessed to find novel RDH techniques working directly for Encrypted Images? The method in compressed the encrypted LSBs to vacate room for additional data by finding syndromes of a parity-check matrix, and the side information used at the receiver side is also the spatial correlation of decrypted images. All the three methods try to vacate room from the encrypted images directly. However, since the entropy of encrypted images has been maximized, these techniques can only achieve small payloads generate marked image with poor quality for large payload and all of them are subject to some error rates on data extraction and/or image restoration. Disadvantage X. Low error rate X. Data extraction and image restoration problem Proposed System In proposed method can achieve real reversibility, that is, data extraction and image recovery are free of any error. If we reverse the order of encryption and vacating room, i.e., reserving room prior to image
  • 3. encryption at content owner side, the RDH tasks in encrypted images would be more natural and much easier which leads us to the novel framework, “reserving room before encryption (RRBE)” Advantage Not only does the proposed method separate data extraction from image decryption but also achieves excellent performance in two different prospects:  Real reversibility is realized, that is, data extraction and image recovery are free of any error.  For given embedding rates, the PSNRs of decrypted image containing the embedded data are significantly improved; and for the acceptable PSNR, the range of embedding rates is greatly enlarged. Modules 1. Encrypted Image Generation a) IMAGE PARTITION b) SELF REVERSIBLE EMBEDDING 2. Data Hiding In Encrypted Image 3. Data Extraction and Image Recovery 4. Data Extraction and Image Restoration Modules Description Encrypted Image Generation In this module, to construct the encrypted image, the first stage can be divided into three steps: c) IMAGE PARTITION, d) SELF REVERSIBLE EMBEDDING followed by image encryption. At the beginning, image partition step divides original image into two parts and then, the LSBs of are reversibly embedded into with a standard RDH algorithm so that LSBs of can be used for accommodating messages; at last, encrypt the rearranged image to generate its final version. a) IMAGE PARTITION The operator here for reserving room before encryption is a standard RDH technique, so the goal of image partition. b) SELF REVERSIBLE EMBEDDING
  • 4. The goal of self-reversible embedding is to embed the LSB-planes of into by employing traditional RDH algorithms. We simplify the method in to demonstrate the process of self-embedding. Data Hiding In Encrypted Image In this module, a content owner encrypts the original image using a standard cipher with an encryption key. After producing the encrypted image, the content owner hands over it to a data hider (e.g., a database manager) and the data hider can embed some auxiliary data into the encrypted image by losslessly vacating some room according to a data hiding key. Then a receiver, maybe the content owner himself or an authorized third party can extract the embedded data with the data hiding key and further recover the original image from the encrypted version according to the encryption key. Data Extraction and Image Recovery In this module, Extracting Data from Encrypted Images to manage and update personal information of images which are encrypted for protecting clients’ privacy, an inferior database manager may only get access to the data hiding key and have to manipulate data in encrypted domain. When the database manager gets the data hiding key, he can decrypt and extract the additional data by directly reading the decrypted version. When requesting for updating information of encrypted images, the database manager, then, updates information through LSB replacement and encrypts up dated information according to the data hiding key all over again. As the whole process is entirely operated on encrypted domain, it avoids the leakage of original content. Data Extraction and Image Restoration In this module, after generating the marked decrypted image, the content owner can further extract the data and recover original image.
  • 5. Reversible Data Hiding (RDH) – Compression Algorithm private void Encrypt_btn_Click(object sender, EventArgs e) { pictureBox1.Image = Image.FromFile(EnImage_tbx.Text); if (saveFileDialog1.ShowDialog() == DialogResult.OK) { saveToImage = saveFileDialog1.FileName; } else return; if (EnImage_tbx.Text == String.Empty || EnFile_tbx.Text == String.Empty) { MessageBox.Show("Encrypton information is incomplete!nPlease complete them frist.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (8 * ((height * (width / 3) * 3) / 3 - 1) < fileSize + fileNameSize) { //MessageBox.Show("File size is too large!nPlease use a larger image to hide this file.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); //return; } fileContainer = File.ReadAllBytes(loadedFilePath); EncryptLayer(); //SqlConnection con = new SqlConnection(constring); //con.Open(); //SqlCommand cmd2 = new SqlCommand("update Embedding set saveimagepath='" + saveToImage + "' where id1='" + int2 + "' and autid='" + auid1 + "'", con); //cmd2.ExecuteNonQuery(); //SqlCommand cmd1 = new SqlCommand("update Embedding set loadimagepath='" + EnImage_tbx.Text + "',loadfilepath='" + EnFile_tbx.Text + "' where id1='" + int2 + "' and autid='" + auid1 + "'", con); //cmd1.ExecuteNonQuery(); //con.Close(); //MessageBox.Show("your file is ready to split the packets ,click packets sending!!!"); } private void EncryptLayer() { toolStripStatusLabel1.Text = "Encrypting... Please wait"; Application.DoEvents(); long FSize = fileSize; Bitmap changedBitmap = EncryptLayer(8, loadedTrueBitmap, 0, (height * (width / 3) * 3) / 3 - fileNameSize - 1, true); FSize -= (height * (width / 3) * 3) / 3 - fileNameSize - 1; if (FSize > 0) {
  • 6. for (int i = 7; i >= 0 && FSize > 0; i--) { changedBitmap = EncryptLayer(i, changedBitmap, (((8 - i) * height * (width / 3) * 3) / 3 - fileNameSize - (8 - i)), (((9 - i) * height * (width / 3) * 3) / 3 - fileNameSize - (9 - i)), false); FSize -= (height * (width / 3) * 3) / 3 - 1; } } changedBitmap.Save(saveToImage); toolStripStatusLabel1.Text = "Encrypted image has been successfully saved."; EncriptionDone = true; AfterEncryption = Image.FromFile(saveToImage); this.Invalidate(); } private Bitmap EncryptLayer(int layer, Bitmap inputBitmap, long startPosition, long endPosition, bool writeFileName) { Bitmap outputBitmap = inputBitmap; layer--; int i = 0, j = 0; long FNSize = 0; bool[] t = new bool[8]; bool[] rb = new bool[8]; bool[] gb = new bool[8]; bool[] bb = new bool[8]; Color pixel = new Color(); byte r, g, b; if (writeFileName) { FNSize = fileNameSize; string fileName = justFName(loadedFilePath); //write fileName: for (i = 0; i < height && i * (height / 3) < fileNameSize; i++) for (j = 0; j < (width / 3) * 3 && i * (height / 3) + (j / 3) < fileNameSize; j++) { byte2bool((byte)fileName[i * (height / 3) + j / 3], ref t); pixel = inputBitmap.GetPixel(j, i); r = pixel.R; g = pixel.G; b = pixel.B; byte2bool(r, ref rb); byte2bool(g, ref gb); byte2bool(b, ref bb); if (j % 3 == 0) { rb[7] = t[0]; gb[7] = t[1]; bb[7] = t[2]; } else if (j % 3 == 1) {
  • 7. rb[7] = t[3]; gb[7] = t[4]; bb[7] = t[5]; } else { rb[7] = t[6]; gb[7] = t[7]; } Color result = Color.FromArgb((int)bool2byte(rb), (int)bool2byte(gb), (int)bool2byte(bb)); outputBitmap.SetPixel(j, i, result); } i--; } //write file (after file name): int tempj = j; for (; i < height && i * (height / 3) < endPosition - startPosition + FNSize && startPosition + i * (height / 3) < fileSize + FNSize; i++) for (j = 0; j < (width / 3) * 3 && i * (height / 3) + (j / 3) < endPosition - startPosition + FNSize && startPosition + i * (height / 3) + (j / 3) < fileSize + FNSize; j++) { if (tempj != 0) { j = tempj; tempj = 0; } byte2bool((byte)fileContainer[startPosition + i * (height / 3) + j / 3 - FNSize], ref t); pixel = inputBitmap.GetPixel(j, i); r = pixel.R; g = pixel.G; b = pixel.B; byte2bool(r, ref rb); byte2bool(g, ref gb); byte2bool(b, ref bb); if (j % 3 == 0) { rb[layer] = t[0]; gb[layer] = t[1]; bb[layer] = t[2]; } else if (j % 3 == 1) { rb[layer] = t[3]; gb[layer] = t[4]; bb[layer] = t[5]; } else { rb[layer] = t[6]; gb[layer] = t[7]; }
  • 8. Color result = Color.FromArgb((int)bool2byte(rb), (int)bool2byte(gb), (int)bool2byte(bb)); outputBitmap.SetPixel(j, i, result); } long tempFS = fileSize, tempFNS = fileNameSize; r = (byte)(tempFS % 100); tempFS /= 100; g = (byte)(tempFS % 100); tempFS /= 100; b = (byte)(tempFS % 100); Color flenColor = Color.FromArgb(r, g, b); outputBitmap.SetPixel(width - 1, height - 1, flenColor); r = (byte)(tempFNS % 100); tempFNS /= 100; g = (byte)(tempFNS % 100); tempFNS /= 100; b = (byte)(tempFNS % 100); Color fnlenColor = Color.FromArgb(r, g, b); outputBitmap.SetPixel(width - 2, height - 1, fnlenColor); return outputBitmap; } private void byte2bool(byte inp, ref bool[] outp) { if (inp >= 0 && inp <= 255) for (short i = 7; i >= 0; i--) { if (inp % 2 == 1) outp[i] = true; else outp[i] = false; inp /= 2; } else throw new Exception("Input number is illegal."); } private byte bool2byte(bool[] inp) { byte outp = 0; for (short i = 7; i >= 0; i--) { if (inp[i]) outp += (byte)Math.Pow(2.0, (double)(7 - i)); } return outp; } private string justFName(string path) { string output; int i; if (path.Length == 3) // i.e: "C:" return path.Substring(0, 1);
  • 9. for (i = path.Length - 1; i > 0; i--) if (path[i] == '') break; output = path.Substring(i + 1); return output; } private string justEx(string fName) { string output; int i; for (i = fName.Length - 1; i > 0; i--) if (fName[i] == '.') break; output = fName.Substring(i + 1); return output; } SYSTEM REQUIREMENT SPECIFICATION HARDWARE REQUIREMENTS System : Pentium IV 2.4 GHz. Hard Disk : 80 GB. Monitor : 15 VGA Color. Mouse : Logitech. Ram : 512 MB. SOFTWARE REQUIREMENTS Operating system : Windows 7 Ultimate (32-bit) OS Front End : Visual Studio 2010 Coding Language : C#.NET Database : SQL Server 2008
  • 10.