Encryption

為什麼在像 UPORT 這樣的協議中使用對稱加密?

  • November 19, 2016

閱讀白皮書

UPORT:自我主權身份的平台〜草案版本(2016-10-20)

我注意到它說:

設 A 為證明。假設我們希望僅與身份 X、Y 和 Z 共享此證明。我們首先生成一個隨機對稱密鑰 k,然後對稱加密 A。我們將此密文表示為 sym(k, A)。

現在我們假設 X、Y 和 Z 各有一個公共加密密鑰。令 asym(U,V,d) 表示某些數據 d 的身份 U 和 V 之間的非對稱加密。特別是 asym(U,V,d) = sym(DH(U,V),d)

其中 DH(U,V) 是使用 Diffie-Hellman 密鑰交換從 U 的公鑰和 V 的私鑰生成的對稱密鑰。

創建一個隨機且短暫的公鑰/私鑰對 R,並創建由 (sym(k,A), asym(X,R,k), asym(Y,R,k), asym(Z, R,k))

為什麼A是對稱加密的?

閱讀 Security.SE 問題“為什麼仍然使用對稱加密?$$ duplicate $$”和*“非對稱與對稱加密”*使用對稱加密的一個潛在原因是速度,但我沒有看到在這種特定情況下使用它的上下文推理?

**這是多層加密。**如果您“分層”您的加密,您將獲得一些很好的靈活性功能,這就是他們在這裡所做的。

你有一些秘密( $ A $ ) 您只希望與各方分享 $ X,Y,Z $ 您還知道公鑰。所以你要做的是你首先選擇一個隨機的公鑰-私鑰對 $ R $ 並與他們每個人都獲得一個新的共享秘密。現在您擁有三個共享秘密,這意味著您必須加密消息的三個不同副本 $ A $ . 相反,您只加密一個密鑰 $ k $ 使用共享密鑰三次(使用DLIES),然後依次使用 $ k $ 授予訪問權限(通過對稱加密) $ A $ . 這種方法為您節省了相當多的頻寬和計算能力,因為您只需要加密大消息一次而不是三次。

在圖形中,這個過程看起來像這樣(不要忘記 $ k $ 很小而且 $ A $ 可能很大): 圖片

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