Research Article

Improved Encrypted-Signals-Based Reversible Data Hiding Using Code Division Multiplexing and Value Expansion

Algorithm 1

Preprocess and signal encryption phase
Input:An original image with a size of , the number of spreading sequences , the expanded
parameter , and public key .
Output:The encrypted unit .
Step  1:Obtain the separated signals from the original pixel , , which can be
calculated in Section 3.1. Define the embedded vector , and each pixel unit is represented
as .
Step  2:Modify to be by formula (14) for preventing overflow.
Step  3:Encrypt by and generate an encrypted unit .
Data embedding phase
Input:The encrypted unit , the number of spreading sequences , the expanded parameter , public key , and
secret bits.
Output:Marked unit .
Step  1:Divide secret bits into two parts and , where contains secret bits and contains the
remaining bits.
Step  2:Transform secret bits , in to using formula (9), and then obtain
the compound sequence for each unit .
Step  3:Encrypt by and denote it as .
Step  4:Embed into using CDM. By formula (10), obtain a new vector .
Step  5:Encode secret bits in to . is the decimal of for each unit .
Step  6:Encrypt by and denote it as .
Step  7:Embed into using VE. By formula (15), obtain a new signal . Then,
generate a marked unit .
Data extraction and image recovery phase
Input:The marked unit , the number of spreading sequences , the expanded parameter , and private key .
Output:Secret bits and the original image.
Step  1:Decrypt using to generate .
Step  2:Extract secret bits from by formulas (9) and (12).
Step  3:Obtain by extracting LSBs of .
Step  4:Calculate by formula (16) and recover by formula (17).
Step  5:Recover the original image by calculating .