Cryptanalysis

當秘密的所有份額作為置換矩陣提供給對手時

  • February 1, 2016

假設我們有一個秘密 $ \sigma $ .

秘密來自一個元素不一定均勻分佈的宇宙。

我們分手了 $ \sigma $ 進入 $ n $ 分享 $ [\sigma_1,…,\sigma_n] $ (使用 Shamir 秘密共享)。所以股票的順序很重要。

我們知道,只要按照正確的順序分配所有股份,就可以恢復秘密。

我們置換矩陣中的所有份額(見下文)。我們用一些虛擬(或隨機)值填充空索引 $ d_{i,j} $

$$ \begin{matrix} d_{11} & \sigma_{n} & \sigma_{2} & \dots & d_{1,m} \ d_{21} & d_{22} & \sigma_{i} & \dots & d_{2,m} \ \dots \ d_{k,1} & d_{k,2} & \sigma_{3} & \dots & \sigma_{1} \end{matrix} $$


**問題:**給定矩陣,對手能否以高(或不可忽略)的機率恢復秘密?

我強調 $ \sigma $ 可能比宇宙的其他元素具有更大的分佈機率,並且對手知道該機率。

請注意,這些值 $ k $ (行數)和 $ m $ (列數)與股數無關 $ n $ 如果需要,我們可以增加它們。

====================================

編輯:新增:

假設我們有兩個置換矩陣,其中一個包含秘密值的份額 $ \sigma $ 和虛擬值;另一個矩陣包含 $ \gamma $ 和隨機值。我們放棄了兩個置換矩陣和元素到對手的一對一映射。映射告訴對手該值 $ i,j $ 一個矩陣中的位置對應於值 $ k,l $ 在另一個矩陣中的位置。

問題:對手會學習秘密值嗎 $ \sigma $ 和 $ \gamma $ 以不可忽略的機率。

讓我們首先考慮根本不涉及 Shamir 秘密共享的問題。假設 $ n = 140 $ 而那個秘密 $ \sigma $ 是一條 140 字節的 Twitter 消息。因此,空間受到很大限制,從所有可能的 $ 256 $ 字節值到允許在 Twitter 消息中使用的可列印字元,並且由於 etaion shrdlu 在這個受限空間中的分佈也可能是不均勻的。秘密共享是微不足道的:每個 $ 140 $ 股東得到一個字節,只有當所有 $ 140 $ 股份按正確的順序組裝。

給對手一個很大的合數 $ N $ 字節數(如果 OP 需要,則排列成一個矩陣,儘管我不確定為什麼這會對數據施加一些結構),包括 $ 140 $ 股份和其他 $ N-140 $ 條目填寫“隨機”。對手能否以足夠大的機率恢復秘密,從而成為一個重大問題?好吧,答案可能取決於假設。如果 $ N-140 $ “其他”字節是從所有的空間中“隨機填充”的 $ 256 $ 字節,那麼攻擊者可以簡單地丟棄所有不屬於 Twitter 字元集的字節。這減少了工作空間 $ N $ 字節到大約 $ p(N-n) + n $ 字節在哪裡 $ p $ 是 Twitter 字元集(80?96?)的大小與 $ 256 $ . 也有可能做出一些有根據的猜測,並應用消息集的已知分佈來消除過多的字母 x 或 q 或 z 等或標點符號等。因此,在沒有秘密共享的情況下,對手的無關字節不應該隨機選擇,而應該大致根據它們在 Twitter 消息中出現的機率來選擇。

當使用 Shamir 秘密共享時,許多這些擔憂都會消失。現在,共享與秘密的長度相同,但共享 $ \sigma_i $ 是多項式 的

$$ S(x) = \sigma + a_1 x + a_2x^2 + \cdots + a_{n-1}x^{n-1} $$ (其中 $ a_i $ 是隨機選擇的非零條目)在某個非零元素 $ \alpha_i $ 在該領域。即使 $ \sigma $ 受到限制,這些隨機多項式係數確保股份 $$ S(\alpha_1), ~S(\alpha_2),~ S(\alpha_3),~ \ldots,~ S(\alpha_n) $$ 本質上看起來像是隨機選擇。事實上,其中一些甚至可能相等 $ 0 $ . 因此,如果我們填充 $ N-n $ 具有其他隨機選擇的其他條目 (允許 $ 0 $ 作為一種選擇), $ N $ 可能的股份交給對手會很好地隱藏真實的股份。我對此沒有正式的證據,但我懷疑任何統計測試都可以將實際股票與假貨區分開來,即使成功的機會很小。當然,必須確保 $ N $ 遠大於 $ n $ 這樣就有足夠的了。我冒昧地建議 $ N = O(n^2) $ 會被發現綽綽有餘,甚至可能像 $ 10n $ 可能工作得很好。

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