Algorithm 1: Embedding process |
Input: Carrier image (CIm), Confidential image (SIm), and Initial key parameters () |
Output: Stego image (Stgo) |
P← CAQWs () // Operate CAQWs using initial key parameters |
[h, w, c] ← size (CIm) // Obtain the size of the carrier image |
D← resize (P, [h, w × c ]) // Resize the matrix P to the dimension of the cover image |
E← order (D) // Order the elements of D in decreasing order |
K= index (D, E) // Obtain the index of each element of D in E
|
ESIm ← expand (SIm) // Expand the 8-bit and dimensional confidential image SIm to a 2-bit image of h × w dimension. |
// Transform the expanded secret image ESIm and the carrier image CIm into vectors |
SVec← reshape (ESIm, 1, h × w × c) |
CVec← reshape (CIm, 1, h × w × c) |
// Embedding process |
for i←1 to h × w × c |
StgoVec(k(i))←Replace 2LSBs of CVec(k(i)) with 2bits of SVec(i); |
end |
// Transform the vector StgoVec into an image |
Stgo←reshape (StgoVec, h, w, c) |