Homomorphic-Encryption

案例的同態/Paillier 加密系統?:多個計數器指數可能溢出?一直需要不同的密碼因子?

  • May 11, 2019

最近我讀到了同態密碼系統。他們可能會解決一個問題。為此,需要對標準版本進行一些修改。

在這裡使用Paillier,但其他的解決方案也很好。

例如給定兩個密文 $ c_1,c_2 $ 帶發電機 $ g $ 和因素 $ r_i $ :

$ c_i = g^{m_i} r_i^n \mod n^2 $

$ n=p\cdot q $ , 和 $ p,q $ 素數

現在,如果它們成倍增加

$ c_1 \cdot c_2 \equiv g^{m_1} r_1^n \cdot g^{m_2} r_2^n = g^{m_1+m_2} (r_1r_2)^n \equiv g^{m_1+m_2} r^n \mod n $

因素 $ m_1, m_2 $ 被添加。如果他們得到 $ n $ 或更大,他們重新開始。在正常使用情況下,通過選擇較大的禁止 $ n $ .

現在我正在尋找一種方法來獲得這種溢出的特殊類型 $ m $ . 想像一場有 3 名候選人的選舉,他們的選票以一個指數計算。

例如,候選人 1 有 5 票,2 有 6 票,第 3 位有 42 票,指數為 $ g $ 可能 $ {005006042} $ . 在另一個地區是 $ {133700123} $ . 如果密碼相乘,則將這些指數相加並彙總每個候選人的所有選票。這種指數形式只允許最多 $ 999 $ 每個候選人的總票數(假設總指數為 $ <n $ ).

在我的案例中,總會有一些指數溢出,不管有多大 $ n $ 是。但相反,每個候選人的整個指數應該是一個。

例如 $ 700.800.900 $ 和 $ 400.100.200 $ 應該加起來 $ 100.900.100 $ 代替 $ 1100.901.100 $ .

有沒有辦法在指數中有多個溢出?還是多個計數器的替代方法?

元素也會被減去,因此也需要存在下溢。


據我了解,每個密碼都可以(應該?)有自己的 $ r $ . 對於我的案例,它需要以某種方式關聯。它需要是與順序和方向無關的相同密碼。例如,將 5 票添加到密碼應該會產生相同的密文,就像將 5 次投票添加到相同的密碼一樣。如果只有一個,那應該可以 $ r $ (對於每個候選人)(+ $ r^{-1} $ 減法)。但是單 $ r $ 不利於安全,還是?

你知道實現這一目標的另一種方法嗎?檢查兩個不同的方法 $ c_1\not= c_2 $ 具有相同的指數而不加密它也可以工作。

無論如何它都行不通,因為即使它對一個人來說是安全的 $ r $ 並且每個候選者的指數可能會溢出,並且具有相同指數的密文在發生溢出後會有所不同。

你真的是說確定性的嗎(也就是說,一個特定的 m 總是映射到同一個 c)

給定兩個具有相同指數的密文 ( $ \mod n $ ) 溢出前後。第二個將是添加後的結果 $ n $ 次一票對第一。

$ c_0 = g^0 \cdot r^n \mod n^2 $

$ c_{i+1} = c_i \cdot c_{add+1} = c_i \cdot g^1 \cdot r^n = g^i \cdot r^{in+n} $

$ c_a=g^a \cdot r^{an+n} \not=g^{a+n} \cdot r^{an+n^2+n}=c_{a+n} $ $ \mod n^2 $

(因為 $ r^{\phi(n^2)}=1 $ 和 $ n^2 \not = \phi(n^2) $ )

解密解析相同 $ a $ 但指數 $ r $ 是不同的,這兩個密文。

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