Secret-Sharing

(2,2) Shamir 的視覺秘密共享方案的安全性:2 個共享如何隨機?

  • April 6, 2019

來自 Shamir 和 Noar 的Visual Cryptography

讓我們將像素擴展設為 2。因此,每個像素將由共享中的 2 個像素(也稱為子像素)表示。由於這是一個 (2,2) 方案,我們將擁有 2 股。為了為一個白色像素創建 share1,一個公平的硬幣被扔了 2 種可能性的子像素 - 黑色和白色或白色和黑色 - 這兩個選項中的任何一個被選擇來代表一個白色像素。很明顯 Share1 是隨機的。

為了為白色像素創建 share2,是否再次拋硬幣?如果是,那麼如何保證白色像素的重建?如果不是,那麼 share2 是如何隨機的?假設在重建圖像中,白色像素將是 50% 的黑色和 50% 的白色。

首先,拋硬幣代表了一個統一的隨機生成器。因此,假設選擇是一致的。

正如您所提到的,為了創建一個像素的共享,一個像素分成兩個子像素。一份為

  • 一個白色像素可以是 $ [(B|W),(B|W)] $ 或者 $ [(W|B),(W|B)] $
  • 黑色像素可以是 $ [(B|W),(W|B)] $ 或者 $ [(W|B),(B|W)] $ , 在哪裡 $ [(x,y)] $ , $ x $ 表示左像素的顏色和 $ y $ 表示右像素的顏色。

或者,可以從圖像中看到;

來自 https://cs.uwaterloo.ca/~dstinson/visual.html

疊加是將圖像放在彼此之上。白色股票構成一個半白半黑的正方形,黑色股票構成一個黑色正方形。當選擇是隨機的時,股票無法區分為白色或黑色。

股份是如何構成的

對於每個像素,擲硬幣選擇一行。例如,假設折騰結果為Tail時,我們選擇前幾行;

  • 對於白色像素,選擇 $ [(B|W),(B|W)] $ 和
  • 對於黑色像素,選擇 $ [(B|W),(W|B)] $ .

同樣,對於 Head 結果,我們選擇第二行。

  • 對於白色像素,選擇 $ [(W|B),(W|B)] $ 和
  • 對於黑色像素,選擇 $ [(W|B),(B|W)] $ .

混亂

如果我們為第二個份額擲硬幣(而不是一起選擇份額),那麼例如;尾部後的白色像素(選擇第一行 $ (B|W) $ ),我們可以選擇帶有 Head 的第二行,然後白色像素將被共享為 $ (B|W) $ 和 $ (W|B) $ . 然而,在疊加中,這構造了一個黑色像素 $ (B,B) $ . 因此,它們必須一起選擇。

共享 1 和共享 2 在分組中是隨機的。

引用自:https://crypto.stackexchange.com/questions/67941