Homomorphic-Encryption
同態加密和同態簽名有什麼區別?
我想在可證明的數據擁有中應用同態簽名而不是同態加密。所以我想了解同態簽名和同態加密。
關於你非常廣泛的問題:維基百科可以告訴你同態簽名。
但是,它的應用非常具體,我不知道它是否符合您的場景/要求。同態性質對簽名有直接的影響:它不能實現存在不可偽造性,因為這與同態性質(帶有簽名 $ S(m) $ 你可以創建簽名 $ S(m+m) $ ,以加法表示)。此外,常見的簽名使用加密散列函式將簽名的大小減少到固定長度。對於同態簽名,您不能這樣做,因為密碼散列函式不保留任何結構。
此外,wiki 頁面上提出的方案確實不實用:首先,您需要在生成密鑰時固定輸入大小,並且需要一個配對友好組(好吧,我們可以做到)。簽名算法非常快(只是正常的橢圓曲線操作)。但是簽名驗證真的很慢,因為它需要 $ D $ 配對操作,以及 $ D $ 可以很大(“散列”輸入是一個向量空間 $ D $ 方面)。儘管簽名本身比較短,但驗證密鑰也相當大( $ 2D+1 $ 橢圓曲線上的點)。
首先從一些符號開始。假設我們有一個明文空間 $ P $ 組成一個組。還有一個從明文空間到密文空間的加密函式,比如說 $ E : P\to C $ .
$ E $ 是同態的,如果 $ E $ 形成群同態,即給定 $ E(x) $ 和 $ E(y) $ 為了 $ x,y\in P $ 我們可以有效地建構 $ E(x\cdot y) $ 沒有私鑰,在哪裡 $ \cdot $ 是組操作在 $ P $ . 那將是同態加密。
同態簽名非常接近,但是我們有一個簽名函式, $ S $ . 然後,給定兩個有效簽名 $ S(x) $ 和 $ S(y) $ ,我們應該能夠構造一個簽名 $ S(x\cdot y) $ 在沒有私鑰的情況下有效。