我可以發布累加器活板門並保持其安全嗎?
我正在實施 Camenish-Lysyanskaya 動態累加器。在我看來,累加器可以證明是安全的,因為攻擊者不知道活板門。
風險應該是這樣的事實,給定歐拉定理,我可以偽造一個沒有積累但仍然通過測試的元素,即:
在X≡在X反對φ反對n $ v^x\equiv v^{x\mod\phi}\mod n $
在哪裡在 $ v $ 是沒有累加器X $ x $ ,φ $ \phi $ 是歐拉函式,並且
X反對φ≡XF $ x\mod\phi\equiv x_f $
所以我們有一個偽造的X $ x $ 通過測試。
如果我不關心 n 的因式分解,我什至會發布φ $ \phi $ ,但我只需要一個可接受的整數X一種CC $ x_{acc} $ 一定是一種<X一種CC<一種+φ $ A<x_{acc}<A+\phi $ 和一種<φ $ A<\phi $ .
這意味著,例如,如果我的輸入是字元串“user1”,則該字元串將在接受的間隔內散列為整數。
如果φ $ \phi $ 足夠大,我仍然可以無視碰撞,不再關心保持φ $ \phi $ 秘密。所有可能偽造的輸入都會自動超出指定的時間間隔,因此它們將立即被丟棄。換句話說,沒有與映射輸入“user1”的整數一致的有效整數
你怎麼看?這可行嗎?還是我錯過了一些明顯的東西?我知道我可能跳過了一些重要的事情,我不在該領域,請要求澄清。
我猜你錯過了一些東西。
如果你知道累加器的值是一種=在∏一世X一世反對n $ a=v^{\prod_i x_i} \bmod n $ 到一組值X一世 $ x_i $ 你知道因式分解n $ n $ , 那麼很容易對任意任意是 $ y $ 相對於n $ n $ (在 RSA 累加器中,你累加素數)一個值ķ $ k $ 這樣是⋅ķ≡1(反對披(n)) $ y\cdot k \equiv 1 \pmod{\varphi(n)} $ 作為價值披(n) $ \varphi(n) $ 是公開的。所以任何人都可以假裝任意值是 $ y $ 已經累積使用一種ķ $ a^k $ 作為會員證人並註意驗證一種≡(一種ķ)是反對n $ a\equiv (a^k)^y \bmod n $ 持有。我猜你不想擁有那個“功能”。
因此,要麼您將分解不公開(使用受信任的設置),要麼如果這不可能,您可以使用無陷門的 RSA 累加器(基本上是通過以任何人都不知道分解的方式計算 RSA 模數)。