Research Article

A Novel Three-Layer QR Code Based on Secret Sharing Scheme and Liner Code

Algorithm 1

Sharing Algorithm in [12].
Input: Carrier QR code images C1, C2, …, C2p of size m × n, the second layer information , The third layer information s.
Output: shares T1, T2, …, T2p with size of m × n, and matrix index seed.
Step 1: Let Tk = Ck (k = 1, 2, …, 2p) and denote i, j as the location coordinate of the unprocessed pixels in carrier QR codes.
Step 2: Calculate .
Step 3: If V (i, j) =  ( is an unprocessed element in ), seed (i, j) = 0 and no extra secret bits are transmitted. Else, treat a set of unprocessed bits in s as secret message and utilize the error correction principle of the Hamming code to decide the pixel of which QR code needs to be flipped. If it is within the error correction capability of the QR code, flip it and let seed (i, j) = 1. Else go to Step 4.
Step 4: Choose a pixel in the QR code which keep the error correction capability to be flipped, seed (i, j) = 0.
Step 5: Run Step 2 to Step 4 until all the elements in s is processed. If there is still element in unprocessed, run Step 2 and Step 4. Else, the algorithm ends