(left)

(right)

Pseudo-Code:

seed = hash(right); r = Random(seed); for (x,y) to (WIDTH, HEIGHT): secret = r.nextInt(255); q = left[x,y] + right[x,y] + secret; u = left[x,y] - right[x,y] + secret;Reconstruction can be done by subtraction

(q)

(u)

(left reconstructed)

(right reconstructed)

This method allows you to share two images to Alice and Bob while giving q to Alice and u to Bob. They will only be able to reconstruct the original images together. The good thing about this method is that you don't need to share a key or produce data overhead. However, I have no idea how secure it really is.