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 . |