Cryptanalysis

二進制序列的模糊提取器

  • February 2, 2019

我在兩個關閉(嘈雜的數據)上實施模糊提取器。根據https://www.cs.bu.edu/~reyzin/code/fuzzy.html中給出的實現,使用它來協調兩個關閉集是很直接的,給定集的內容是十進制數,因為:1.它比較集合,因此集合中數字的位置無關緊要。如果我有兩個從密切的秘密中提取的二進制序列,我可以使用這個提取器來糾正兩個接近的二進制序列,比如 10% 的位不匹配?

根據 Pinsketch 的文件,我們不能使用 $ 0s $ . 既然設置很重要, $ [10011] $ 和 $ [01011] $ 將匹配,因為內容相同,除了順序 $ 0 $ 和 $ 1 $ .

[ LLYM17 ] 之類的論文報告了使用二進制比特流,但我找不到如何在此處使用基於 Dodis et.al 作品的這種實現。


$$ LLYM17 $$: Xinghua Li、Jiajia Liu、Qingsong Yao、Jianfeng Ma,基於接收信號強度的車載自組織網路高效且一致的密鑰提取IEEE Access 2017

引用討論:那時我們不應該使用pinsketch,它是為設置差異而設計的。取而代之的是,需要用於漢明距離的模糊提取器。要建構這樣的東西,您需要找到二進制糾錯碼的實現,然後應用http://www.cs.bu.edu/~reyzin/papers/fuzzy.pdf中的構造 2 和 3 或隨機從https://eprint.iacr.org/2006/020.pdf建構(基本上,首先隨機排列位順序,然後應用程式碼)。

我認為其他人可能已經實現了類似的東西。您可能想查看有關從 PUF 生成密鑰的文獻,該文獻使用模糊提取器進行漢明距離,看看是否可以找到任何程式碼。這篇論文可以是一個方向,https://people.csail.mit.edu/devadas/pubs/secure-robust-ecc-puf.pdf

您可以使用別針草圖。考慮一組數

$$ 0,1,2,3,4,5,6,7 $$. 數字的存在可以表示在 8 位數字中的該位位置存在 1。 例如

$$ 0,2,4,6 $$== 10101010 == 0x55 $$ 0,1,2,3 $$== 11110000 == 0xF0 擴展到一個有用的大小(比如 2040 位,可以很好地映射到 BCH 程式碼)並且您正在比較平均具有 1020 個唯一值的集合,每個值都顯示了這些值的位置。

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