小公鑰大小或小簽名大小,哪個是首選?
假設兩個簽名方案提供相同級別的安全性。公鑰和簽名的大小之和,即sizeof(sig) + sizeof(pk),在兩種方案中是相等的。其中一種方案具有較小的公鑰大小,而另一種具有較小的簽名大小。那麼在實踐中哪種方案更受歡迎呢?如果視情況而定,那麼在哪些情況下我們更喜歡較小的公鑰,在哪些情況下我們更喜歡較小的簽名?
這是一個更具體的例子。假設我們要使用多方簽名方案。我們有兩個選擇,都提供 $ 256 $ - 位安全性: 1. 一個方案,其中一組 $ N $ 使用者有一個共享的公鑰大小 $ 512 $ 位並產生大小的簽名 $ 512N $ 位;2.一個方案,其中一組 $ N $ 使用者有一個共享的公鑰大小 $ 512N $ 位並產生大小的簽名 $ 512 $ 位。我們沒有最優方案,必須進行權衡。
其中一種方案具有較小的公鑰大小,而另一種具有較小的簽名大小。那麼在實踐中哪種方案更受歡迎呢?
這取決於(顯然);在某些情況下,這並不重要;在其他情況下,較小的簽名更好;在一些晦澀難懂的情況下,較小的公鑰可能會更好。
無關緊要的情況是公鑰和簽名總是一起出現(例如,在證書中);在這種情況下,你的兩個例子都會佔用 $ 513N $ 位,因此兩者都同樣昂貴(就空間而言,您沒有提供任何其他方式來區分這兩種方案)。
較小的簽名更好的情況是當約束是總頻寬時,人們可以記憶體大的公鑰(因此不需要傳輸)。在您的範例中,如果每個設備都可以儲存 $ 512N $ 位公鑰,那麼他們只需要傳輸 512 位簽名,而且價格要便宜得多。
較小的公鑰更好的情況?好吧,考慮一下設備被限製到沒有空間儲存的情況 $ 512N $ 位公鑰;此外,簽名驗證邏輯能夠分段處理簽名
$$ 1 $$, 這樣它就不需要一次儲存整個東西。在這種情況下,傳輸 $ 512N $ 位簽名實際上效果更好;總頻寬要大得多,但是在這種情況下,這不是我們要優化的約束;相反,我們正在優化我們受限設備的功能。
$$ 1 $$: 而且,如果您想知道,是的,確實存在這樣的簽名系統——基於雜湊的簽名就是一個例子。