Input: Colored Secret Image (Image) of size N × M a Private Key K1 Output: Key share of size N × M Steps: 1. Halftone the colored secret image (Image) using a dithering technique (Img). 2. Split (Img) into three layers R,G, and B, where:
3. Generate one layer Random share (mask share) with the same size as the secret image (see Figure 1 and Figure 2). , do the following: According to the private key K1, generate randomly a value either 0 or 1 and store it in the first pixel in the mask block (Maskij). The other pixel (Maski+1j) is filled with the complement value of the first pixel (Maskij). This step will make the mask a half black- and-white block. The values for each block will be:
4. Generate a key share (share 2) according to the following steps: For all halftone image layers of the secret image (ImgR, ImgG, ImgB) do the following: a), do the following: According to the value of first pixel in each block (ImgRij): i) If ImgRij = 0, set the complement of the corresponding mask block values to the corresponding position of Share 2R block (Share 2Rij, Share 2Ri+1j) ii) If ImgRij = 1, set the same values of the corresponding mask block to the corresponding position of Share 2R block (Share 2Rij, Share 2Ri+1j) b) Repeat step (a) for ImgG and ImgB, then store the outcomes in Share 2G and Share 2B respectively. |