Encryption
為什麼 Node 加密庫會這樣做 Diffie Hellman?
我在瀏覽 Node Crytpo 庫時遇到了他們的 Diffie Hellman 實用程序類。他們的班級實現了一個
generateKeys
功能,用他們的話來說,生成私鑰和公鑰 Diffie-Hellman 密鑰值,並以指定編碼返回公鑰
我對Diffie Hellman的理解是雙方只需要生成一個隨機數,而不是公鑰/私鑰。我想你可以把這個隨機數稱為公鑰,這就是這個函式返回的內容,但是私鑰在哪裡進入這個過程呢?
我知道在站到站協議中,公鑰/私鑰對用於簽名。這就是這裡發生的事情嗎?此類可以按原樣用於站到站協議嗎?
我對 Diffie Hellman 的理解是雙方只需要生成一個隨機數,而不是公鑰/私鑰。
這是不正確的。
維基百科的條目很好地涵蓋了它。一旦兩方就域((g,p)對)達成一致,每個成員都會生成自己的私鑰。他們共享的秘密等於
(g ^ (a * b)) % p
a
Alice 的私鑰和b
Bob 的私鑰在哪裡。當然,每一方都可以在對方不透露他們的私鑰的情況下進行這種計算。