Symmetric

對稱密鑰加密中的密鑰是如何共享的?

  • September 2, 2021

對稱密鑰密碼術是一種加密系統,其中消息的發送者和接收者共享一個用於加密和解密消息的通用密鑰。

密鑰是公開的還是秘密的?發送方和接收方如何都知道密鑰?

密鑰的處理稱為密鑰管理。在兩方或多方之間建立相同的對稱或秘密密鑰稱為密鑰建立


對稱密鑰應該對計劃參與者以外的其他方保密。術語“秘密密鑰”通常用作對稱密鑰的同義詞。非對稱方案的私鑰不共享,但當然也保密,因為隱私意味著保密。


各方之間對稱密鑰的建立可以通過以下幾種方式執行:

  1. 密鑰協議(KA):使用密鑰協議方案(例如 DH 或 ECDH)建立密鑰 - 通常後跟 KDF(見下文);
  2. 密鑰封裝(KE)或密鑰包裝(KW):發送由另一個(公共)密鑰加密的密鑰;
  3. 密鑰共享方案:從不同人持有的密鑰部分創建密鑰;
  4. 量子密鑰分發(QKD),密鑰材料在不可能被竊聽的光連結連接上的分發。
  5. 帶外”程序:傳輸隨機生成的密鑰,使案例如:以前的電話、信件或數據載體(如 USB 拇指驅動器)的移交。

也可以從預先共享的秘密中導出新的密鑰材料。在這種情況下,我們討論的是使用密鑰派生函式 (KDF) 從基本密鑰派生*。*KDF 通常使用某種輸入密鑰材料,通常是主密鑰或基本密鑰。派生密鑰通常還依賴於使用其他數據作為輸入,例如鹽或輸出密鑰特定標籤。

如果執行推導以便生成的密鑰可以在不同的方案中使用,則通常稱為密鑰多樣化。如果密鑰是從密碼生成的,我們將討論基於密碼的 KDF 或 PBKFD,有時也用作“密碼雜湊”。如果密鑰是通過推進某種狀態或依賴過去的密鑰來派生的,我們將討論密鑰棘輪


建立對稱密鑰還有其他方法,但這些是一些最常用的方法。當然,這些方案的安全性不僅取決於方法,還取決於實施。

密鑰必須保密,否則它不再是加密系統。他們的密鑰必須在某個時候共享,什麼時候不重要,重要的是如何共享,以及如何決定何時共享。

您可以將加密的消息發送給某人,然後在稍後將密鑰放在便利貼上,以便他們可以解碼它,或者在快閃記憶體驅動器上,或其他一些物理切換或死掉。

最常見的方法是通過 diffie hellman 密鑰交換在雙方之間創建一個共享密鑰,然後對其進行散列以創建加密密鑰。這種類型的交換容易受到中間人攻擊,因此必須使用某種方案來驗證交換,例如使用對方持有公鑰的長期私鑰對交換的每條消息進行簽名核實。

另一種方法是在消息中包含密鑰,並在密鑰上使用 RSA 類型加密,這樣只有預期的接收者才能解碼密鑰,並對消息進行解碼

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