Keys

使用對稱和非對稱加密時的密鑰數量?

  • February 21, 2021

引用我的部分家庭作業/作業:

在以下情況下,1000 人之間的安全通信需要多少密鑰:

  1. 使用對稱密鑰加密算法?
  2. 使用非對稱密鑰加密算法?

我猜:

對於對稱,他們每個人都需要維護和傳輸自己的密鑰,所以可能 $ 1000 \times 1000 $ , 對於不對稱的可能只是 $ 2000 $ ,每個都有一個公共的一個私有的。

那是對的嗎?

對於對稱密鑰,您可以將這個問題作為一個 1000 階的完整圖來處理。頂點代表人,邊代表對稱密鑰。然後每個頂點的度數為 999,並且應用握手引理,邊數將是:

$ (1000 \times 999)/2 = 499500 $

因此,他們需要 499500 個對稱密鑰才能在所有人之間進行安全通信。

對於非對稱密鑰,每個密鑰都有 2 個密鑰,因此總共有 2000 個密鑰。

使用對稱密鑰加密算法?

對於對稱,您需要 $ {n \choose 2} = \frac{n \cdot (n-1)}{2} $ 密鑰:每一對雙方都需要一個密鑰,用於加密和解密雙方之間的消息。參與方的數量等於選擇一對參與方的組合數量 $ n $ 各方:首先你選擇第一方—— $ n $ 可能性。然後,你就剩下 $ n-1 $ 選擇下一方的選項。一旦你選擇了雙方,請注意你對雙方的順序沒有任何意義,所以你需要將可能性的數量除以 2 來取消訂單。總的來說是 $ {n \choose 2} = \frac{n \cdot (n-1)}{2} $ .

使用非對稱密鑰加密算法?

對於不對稱,您需要 $ 2n $ 密鑰對,就像你說的 - 每個聚會 $ A $ 想要發送消息的 $ m $ 聚會 $ B $ , 加密 $ m $ 使用 $ PK_B $ , 一方的公鑰 $ B $ ,然後聚會 $ B $ 使用對應的私鑰解密消息 $ PK_B $ .

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