Accumulators
在不透露身份的情況下證明一個團體的成員身份?
我有一個有趣的問題,到目前為止,我未能找到一個優雅的解決方案。
想像一下,使用者需要反復向公眾觀察者證明他們是可信集合的成員,但每次證明都需要不同,這樣他們就無法被跟踪。
我最初的想法是集合所有者發布了一個 RSA Accumulator 的值,其中包括所有成員,並且每個成員都擁有相應的見證值。然後他們可以透露見證人,觀察者可以確認他們確實包含在累加器中。問題在於證人(證明)是恆定的,因此每次他們斷言自己的成員身份時,觀察者都可以推斷出他們的身份。然後任何觀察者都可以竊取他們的證明並自己使用它。我不希望成員在每次斷言之前都必須聯繫集合所有者,例如讓他們對每個新斷言進行盲簽。
我還研究了基於 Paillier 的同態加密,其中使用者可以通過添加來故意使某個值失明,但是這裡的密鑰是錯誤的,即公共加密和私有解密。集合所有者需要私鑰。所以我真正需要的是同態簽名,所有者可以給使用者一個簽名值,每次使用都可以被蒙蔽。
你會推薦什麼來解決這個問題?
查看組簽名(但使用更現代的方案之一;它們被證明是安全的)。簽名可以應用於執行計數器或隨機挑戰。組簽名還為您提供了許多“管理”選項,根據應用程序可能會有用。如果您不需要它們,那麼您可以使用環簽名(但驗證者必須檢查環是否僅包含集合的成員,或者其他人可以輕鬆加入)。